SantiAuth Docs
Protect a Roblox script with a key system, hand out keys through a monetized key page, and automate it all with the API.
script_key = "PASTE-YOUR-KEY-HERE"
loadstring(game:HttpGet("https://api.santiauth.com/api/loader/v4/script/<script-id>"))()Start here
Browse by topic
Protect your script
Keys & players
- Managing keysKey types, HWID resets, bans, compensation and giveaways.
- Key page & providersPublic /a/<slug> page, key flows, anti-bypass, theme and free days.
- Key & HWID policySelf-service HWID resets, key transfers, expiry reminders and sharing alerts.
- Discord botMember panel, slash commands, roles, rewards and webhook relays.
Monetization
Account & team
Key check library
Public API
API reference
- KeysCreate, list, update, export, import and delete keys.
- Bans & key holdersBan Discord users or HWIDs and look up who holds your keys.
- Folders & templatesOrganize keys into folders and control the key format.
- ServicesYour scripts: create, configure, reorder providers, read traffic.
- ProvidersKey flows with checkpoints, their stats and copying between services.
- RevenuesAd-network monetization attached to your checkpoints.
- Store webhooksEndpoints your store calls to deliver keys, and their delivery logs.
- ObfuscationUpload, re-upload and inspect protected scripts from CI.
- AnalyticsExecutions, funnels, geography and A/B results.
Introduction
What SantiAuth does
SantiAuth sits between your players and your script. You upload the script once, and every copy a player runs checks its key against our servers before a single line of your code executes.
- Built-in whitelist — the whitelist is embedded into your script before obfuscation, so the protected file refuses to run without a valid key.
- Keys — Standard or Premium, lifetime or timed, one-time or reusable, HWID-locked by default. Bulk actions, compensation, giveaways and sharing alerts.
- Key page — a public page at
santiauth.com/a/<your-slug>where players earn a key through checkpoints from 13 ad networks — Linkvertise, Work.ink, LootLabs and more — with anti-bypass built in. - Selling & Discord — keys delivered automatically from your store, a Robux shop, and a Discord bot panel where players get keys and reset their HWID themselves.
- Runtime variables — your script can read
SA_IsUserPremium,SA_SecondsLeftand friends. - Analytics — executions, executors, countries and revenue, live.
How the pieces fit
| Piece | Where | What it is |
|---|---|---|
| Service | Dashboard | Your script hub. Owns keys, providers, the key page and settings. |
| Provider | Dashboard → Service → Providers | A key flow: checkpoints to pass and the rules of the key it issues. |
| Revenue | Dashboard → Service → Revenue | Your ad-network accounts, used as steps of a provider. |
| Obfuscation | Dashboard → Service → Obfuscation | Your uploaded scripts (obfuscated with the whitelist embedded) and loaders that route games to them. |
| Key page | santiauth.com/a/<slug> | Where players get keys. Themed per service. |
| Loader | api.santiauth.com/api/loader/v4/script/<id> | What players execute: checks the key, then downloads the protected file. |
The player's journey
1Passes the checkpoints
2Issues a key
3Sets
script_key, runs your loadstring4Validates the key, binds the HWID
5Signed session and your protected script
6Runs your code with
SA_*variables7Heartbeat: still valid?
- 1
Player → Key page
Passes the checkpoints
- 2
Key page → Player
Issues a key
- 3
Player → Executor
Sets
script_key, runs your loadstring - 4
Executor → SantiAuth API
Validates the key, binds the HWID
- 5
SantiAuth API → Executor
Signed session and your protected script
- 6
Executor
Runs your code with
SA_*variables - 7
Executor → SantiAuth API
Heartbeat: still valid?
- The player opens your key link and passes the checkpoints.
- They get a key and set it in their executor:
script_key = "...". - They run your loadstring. The whitelist validates the key, binds the HWID and opens a signed session.
- Your code runs with
SA_*variables filled in. A heartbeat keeps checking that the key has not been revoked or expired.
Hosts
| Host | Used for |
|---|---|
https://santiauth.com | Dashboard, docs, key pages (/a/<slug>) and giveaways (/g/<slug>). |
https://api.santiauth.com | API, loader, key check library and store webhooks. |
| Endpoint | What it returns |
|---|---|
GET /api/loader/v4/script/<script-id> | Your protected, obfuscated script — only with a download grant from a valid key check (X-SA-Grant header or ?g=). Without one: a small stub that runs that check itself. |
GET /api/loader/v4/library.lua | The Key check library. |
GET /api/get-key/<slug> | Public key page configuration. |