Feature
Free Lua obfuscator with script auth and key hosting
Product informationSources dated October 2026 · Vampauth Team · Vampauth compatibility reviewed against the November 4, 2026 production release; competitor details retain their source dates.
Vampauth combines script protection, hosting and licensing in one dashboard. Its free Lua/Luau obfuscation is part of a hosted publishing workflow: create a project, choose a payload profile and deliver the result through a loader URL. New protected builds use Full VM; Off/passthrough supports unobfuscated code or code protected by your own obfuscator. New Light publishing is unavailable. Default protected-payload allowance: 5 new builds/week on Free, 10 on Developer, 15 on Pro. Reset Monday 00:00 UTC.
Protection choices on every plan
Double-layer Full VM protection for new protected payloads and required generated stubs. Off/passthrough supports plain or externally protected code. Runtime checks are configurable. Default protected-payload allowance: 5 new builds/week on Free, 10 on Developer, 15 on Pro. Reset Monday 00:00 UTC.
Native MCP management
Connect a compatible AI client through Model Context Protocol (MCP) to manage projects, keys, loaders and providers. Connection scopes, current project permissions and resource allowances still apply; read-only actions do not activate keys.
0% revenue cut — always
Checkpoint links point to your accounts. Vampauth never takes a share. Free at core, with optional higher-limit plans.
Every plan offers the same protection choices. Your selected profile and runtime components determine what is enabled. Full provides double-layer VM protection for new protected payloads and generated loader stubs when runtime components require one. Off/passthrough preserves your submitted payload, including any external obfuscation; a newly published stub still uses Full VM.
Publish Lua scripts with optional key-system auth
- 1. Upload. Submit your original Lua for protection. Keep a local copy for future replacements; publishing stores final artifacts in the selected mode, including a bootstrap when runtime components require one.
- 2. Publish. Choose the current payload protection, runtime components and pinned loader release. Stable and Main currently use 1.0.0; Beta uses 1.0.1 with negotiated gzip and deferred observations. Both use the same bootstrap implementation. Existing loaders keep their pin; source replacement and URL rotation preserve it unless an explicit supported update selects another release. This is not source-version history. Required output artifacts must be ready before activation; a failed update preserves the previous active build.
- 3. Serve. Users run the dashboard-provided snippet. Enabled access checks run before delivery. Turning off every runtime feature serves the final payload directly, without a stub or built-in access checks.
How a secure loader controls payload delivery
Use a managed loader when distributing a static file URL is not enough: you need an access decision and a selected payload before delivery. Obfuscation transforms code; authorization checks access; delivery hands over the result. Your enabled components determine which checks happen.
- 1. Check the enabled access rules. A keyed run checks the project, license state and expiry. Enable HWID binding for one-device access and device bans for hardware-denial rules; FFA and keyless modes have different access behavior.
- 2. Select the payload. A keyed run can use its Key Group's payload. Ungrouped keys can use the project default. If no override is configured, the entry loader's own payload is used; a configured override that is unavailable or invalid can deny delivery rather than silently substitute content. Keyless retrieval uses the entry loader's payload. The entry loader's saved release pin selects delivery policy, not a mapped payload's pin.
- 3. Deliver authorized keyed output. The keyed route issues a signed download link lasting about 60 seconds. The loader retrieves the selected payload. Share the stable dashboard snippet, not that temporary link.
- 4. Optionally renew authorization. Enable session leases when a run must keep checking access. Presence reports activity but does not provide the same continuing enforcement.
Setting key_check: false makes retrieval public to holders of the URL, subject to any other enabled controls. With every runtime component off, the URL serves the final payload directly, without a generated stub. Off/passthrough is not source secrecy. A later ban or lease denial cannot retract bytes already delivered.
Follow the loader setup instructions and Key Group routing rules.
Anti-dump, environment-hook detection and encrypted delivery
Vampauth's loader protection has three distinct layers: code transformation, runtime-environment checks and encrypted transport. Here is what each does and which settings apply.
Anti-dump protection
Vampauth reduces source exposure through double-layer Full VM protection for new protected payloads and generated loader stubs when runtime components require one. Publishing retains final artifacts, not a separate original-source copy. The bootstrap clears its downloaded payload string reference after compilation. These are code-protection and exposure-reduction measures, not a guarantee against client-side dumping or source recovery. Historical Light payloads used control-flow and string transformations; new Light publishing is unavailable. Off/passthrough contains the submitted code, including any protection applied by your own obfuscator.
Environment-hook detection and runtime guards
With runtime_guards enabled, Vampauth gives the payload a read-only VAMPAUTH context through a protected environment wrapper. The runtime checks for context shadowing or mutation and, while its task monitor runs, replacement of the payload's function environment. Detected changes mark the run runtime_tampered; the monitor can cancel the root payload task when task.cancel is available. Runtime guards default on for new modular loaders. This is scoped environment-tamper detection, not a claim to detect every executor hook; background tasks should cooperate with VAMPAUTH.is_active() or VAMPAUTH.assert_active().
Encrypted script delivery (HTTPS/TLS)
Vampauth delivers scripts over HTTPS/TLS, encrypting network transport. After a successful keyed access check, the server issues a signed HTTPS payload-download URL lasting about 60 seconds. The URL is a bearer credential reusable until expiry, not a single-use link. HTTPS transport encryption, signed-link authorization and VM obfuscation are separate layers; the loader does not add a separate per-execution payload-encryption protocol. Keyless retrieval has no keyed authorization, and disabling every runtime component serves the final payload directly.
Full VM or Off/passthrough: current payload choices
| Profile | Published payload |
|---|---|
| Full (current) | VM-based payload protection. Required generated stubs also use Full VM, giving double-layer protection. Payload presets are Conservative, Balanced, Performance and Maximum; they do not establish a measured speed or security ranking. |
| Light (historical) | Control-flow transformation with string mangling. New Light publishing is unavailable; existing historical payloads may remain deliverable or reusable by eligible source-free rotation. |
| Off / passthrough | Payload bytes are delivered as submitted, including any existing external obfuscation. This does not make unprotected source secret. |
Choose components for the job
New modular loaders default to Full payload protection, key checking, presence, HWID binding, device bans, fingerprinting and runtime guards; leases start off. Project settings and key policy still apply. Key checking is required for the lease and HWID-binding components.
- Licensed standard edition
- Keep key checking, HWID binding and device bans on. Choose Full for VM-based payload transformation. New Light publishing is unavailable. Add leases if access must be renewed during a run; presence is useful for observation independently of leases. No measured speed or FPS difference is promised.
- An already-obfuscated payload
- Choose Off/passthrough to preserve submitted bytes, including external obfuscation. Keep key checking and the other required runtime controls on; a newly published stub still uses Full VM. Test the submitted code in your supported client rather than assuming every external output is compatible.
- Public hosted release
- Disable key checking only when keyless retrieval is intended. Turn off all runtime components for direct final-payload serving. You may still choose Full VM or Off/passthrough for that payload; a transformed file alone does not enforce a license.
Presence and fingerprinting help you observe activity; fingerprints are client-reported, advisory signals, not identity proof or an access gate. Runtime guards add checks against runtime-context tampering; they do not guarantee support for every executor. See publishing documentation and runtime variables and helpers for integration details.
Session leases limit runs, not devices
A one-time entry check decides whether to deliver now. Enabled leases renew roughly once a minute with a 150-second lease window. The project's concurrent-run limit allows 1–10 active keyed leases per key, default 1; it does not let a bound key use extra devices. An old run can retain its slot until release or expiry. Keyless runs do not use keyed leases.
On denial or an unrenewed lease, the runtime can cancel the root task. Child tasks you start should cooperate with VAMPAUTH.is_active() or VAMPAUTH.assert_active(). Database-backed advisory presence survives app restarts until expiry, but it is observation, not lease enforcement or a deduplicated user count. Read sessions and concurrency.
Test a harmless payload before distribution
This is an illustrative test recipe, not a recorded successful game-client run. Create your project and a manual test key, publish this original example, then copy the actual snippet from your dashboard into a supported client.
print("Vampauth demo payload reached")- With key checking and binding enabled, verify the valid non-FFA key on its allowed device. The print marker confirms that line was reached, not that an entire application completed.
- Try an invalid, expired or banned test key. Confirm denial before the payload marker. If testing first-use expiry, account for when the timer actually starts.
- Try a different device ID with the bound test key; expect a mismatch. An authorized reset permits a new binding without renewing the key.
- For group routing, use harmless distinct Standard and Premium markers and test both keys plus an ungrouped key.
- If leases are enabled, test a denial during the run and verify both the root task and your cooperating child tasks stop as intended. The single-print payload alone cannot prove that.
Record actual client/version, enabled settings and observed outcomes; redact keys, device IDs and tokens. Diagnose loader errors before changing the access policy. Network or compatibility failure is not a successful denial test.
What consumes the weekly Free obfuscation allowance?
A new protected payload build uses one weekly allowance unit. Compatible unchanged builds, source-free URL rotations, metadata-only edits, passthrough payloads, downloads and executions use no protected-payload allowance. Failed publishing preserves the active build.
The allowance is account-wide and resets Monday at 00:00 UTC. Your dashboard shows the effective limit, including any account override. Compare Free, Developer and Pro pricing or read the Free licensing allowances.
Script hosting and configurable runtime checks
- Full VM payload protection or Off/passthrough for plain or externally protected code
- Newly published loader stubs also use Full VM, independently of payload profile
- Default protected-payload allowance: 5 new builds/week on Free, 10 on Developer, 15 on Pro. Reset Monday 00:00 UTC.
- Only final published artifacts are retained; keep your original source locally
- Delivered payloads must fit 8 MiB
- Configure key checks, leases, presence, binding and other runtime components
- Keyless delivery when access should not require a key
- Compatible unchanged builds and source-free URL rotations use no payload allowance
- 0% revenue cut: checkpoint links point to your own ad accounts
- Comes with the whole pipeline: keys, HWID, checkpoints, analytics
Lua obfuscation, script auth and whitelisting are different controls
A standalone obfuscator transforms code. Vampauth combines protection with key issuance, device binding, checkpoints, hosting and analytics. Obfuscation changes how code is represented. Key validation decides whether a license is accepted, and optional session leases recheck access while a script runs. Revoking a key affects future authorization; it cannot retract code already delivered. None of these guarantees that client-side code cannot be inspected.
Start with the Roblox script-whitelisting workflow and the HWID authentication guide to choose the access controls your script needs. Keep original source locally; published passthrough output contains the code you submitted.
Related pages
Create your first script-publishing project
Create a Free account and project, then publish a harmless test payload. Free includes a default allowance of 5 new protected payload builds each week.
Free Lua obfuscator — FAQ
Is there a free Lua obfuscator?
Yes. New protected builds use double-layer Full VM protection for the payload and generated loader stub when runtime components require one. An unobfuscated option (Off/passthrough) preserves submitted code, including code protected by your own obfuscator; a newly published stub still uses Full VM. New Light publishing is unavailable; existing historical payloads may remain deliverable or be reused by eligible source-free URL rotations. Disabling all runtime components serves the final payload directly without a stub or access checks. The same current protection choices are available on every plan. Default protected-payload allowance: 5 new builds/week on Free, 10 on Developer, 15 on Pro. Reset Monday 00:00 UTC. A new protected payload build uses one weekly allowance unit. Compatible unchanged builds, source-free URL rotations, metadata-only edits, passthrough payloads, downloads and executions use no protected-payload allowance. Failed publishing preserves the active build.
Do paid plans get stronger protection?
Full VM payload protection and Off/passthrough are the current choices on every plan; new Light publishing is unavailable. Newly published loader stubs also use Full VM, giving double-layer VM protection when Full payload protection and runtime components are enabled. Plans have different resource allowances, and Pro also includes custom flow URLs. Default protected-payload allowance: 5 new builds/week on Free, 10 on Developer, 15 on Pro. Reset Monday 00:00 UTC.
Why obfuscate inside a key system instead of using a standalone obfuscator?
A standalone obfuscator transforms code but does not necessarily manage licenses or delivery. Vampauth combines hosted publishing with configurable key checks, HWID binding and optional session leases. Choose the runtime features you need. If every runtime feature is off, the URL serves the final payload directly; provide your own authentication if required.
What consumes the weekly protected-payload allowance?
A new protected payload build uses one weekly allowance unit. Compatible unchanged builds, source-free URL rotations, metadata-only edits, passthrough payloads, downloads and executions use no protected-payload allowance. Failed publishing preserves the active build.
Can I obfuscate a script without using the key system?
Obfuscation is part of publishing hosted Lua/Luau scripts on Vampauth, rather than a standalone downloadable tool. Free includes a default allowance of 5 protected payload builds per week and supports keyless delivery. Newly supplied source and delivered output must fit the 8 MiB limits; obfuscation input limits also apply.