Guide · Updated 2026-10-14
How to stop your Roblox kits and scripts being leaked
Quick answer
You cannot stop a model file being copied, but you can make a copy useless: bind each licence to the game's owner, check it on the server when the game starts, and get told when a copy runs under a different owner.
Why copying cannot be stopped
Once a buyer has your .rbxm, they can share it. Obfuscation makes the code harder to read and edit, but a copied file still runs exactly like the original. The fix is not to hide the file; it is to make the file depend on something only the real buyer has.
Bind the licence to the owner, not the place
In a running game, game.CreatorId and game.CreatorType tell you which user or group owns the experience. Bind each key to that owner. The buyer's other places keep working, while a copy dropped into someone else's game fails the check.
Check on the server
Run the check from a server script with HttpService (turn on Allow HTTP Requests in Game Settings). Never trust the client: anything a player's device runs, an exploiter can change.
Fail gently, and keep a log
Give a grace period if your licence server cannot be reached, so a buyer's game is not punished for your outage. Log every check; the log shows you every game your kit is running in.
Catch resales
A key showing up under a second owner is a resale. Revoke that key, issue a fresh one to the real buyer, and you have turned a leak into a lesson rather than lost sales.
Skip the build: ready-made
We sell finished, tested systems for exactly this:
- SENTRY — Sell your work once and know exactly where every copy of it is running.
- LICENCE CONTROL PANEL — Mint, revoke and watch keys for a single kit — the lightweight one.