By accessing krulhub.dev, running any script distributed through this service, submitting a Ro-Clothes bundle, or using any other feature of the site, you agree to be bound by these Terms & Conditions. If you do not agree, do not use the service.
KrulHub itself imposes no minimum age. However, the platforms it relies on have their own requirements: Roblox requires users to be at least 5 years old; Discord requires at least 13. You are responsible for complying with the terms of any platform you use to access this service.
KrulHub provides several related features, each with its own access model:
/obfuscate for users obfuscating their own scripts. Gated by Discord login and community membership.Access to any feature may be revoked at the sole discretion of the operator at any time without notice. KrulHub is not affiliated with, endorsed by, or sponsored by Roblox Corporation or Discord Inc.
The user obfuscator at /obfuscate requires you to sign in with Discord and to be a member of the KrulHub Discord server. Signing in grants the service your Discord user ID, username, and avatar hash, which are used solely to authenticate your session and verify membership — see the Privacy Policy for full detail.
Lua source code you submit to the obfuscator, and the obfuscated output you receive, are yours. You may use the output wherever you like, subject to the conduct rules below. The operator does not claim ownership of user obfuscator input or output.
Rate limits and per-account cooldowns apply. Attempting to bypass them — through multiple Discord accounts, scripting the portal, or other means — may result in loss of access.
Access to public scripts is open to anyone who accepts the in-game consent popup. No key or account is required for public scripts. The operator reserves the right to blacklist individual Roblox user IDs or Discord accounts for abuse.
The Ro-Clothes Roblox script lets you submit bundles to a public moderation queue via /roclothes/submit. By submitting a bundle you represent that:
By submitting, you grant KrulHub a non-exclusive, worldwide, royalty-free licence to store, display, distribute, and publish the bundle as part of the Ro-Clothes community library, including redistribution to end users of the Ro-Clothes script. You may request removal of an approved bundle at any time by contacting the operator; removal will be processed on a best-effort basis.
The operator may reject, remove, or mark as spam any submission at its sole discretion. Spam-marked submissions may trigger a temporary or permanent ban on the submitter's Roblox UserId.
The Ro-Clothes script includes an opt-in "Avatar Sync" toggle. When enabled, your current bundle, Roblox UserId, display name, and the Roblox placeId and jobId of the server you are in are published to a short-lived endpoint so other opted-in users in the same Roblox server can render your bundle. State expires 300 seconds after your last publish.
Avatar-sync entries are readable by any client that knows the placeId:jobId pair — in practice, other users in the same Roblox server instance. If you do not wish to share this information, leave the toggle disabled; it defaults to off.
The Ro-Clothes script includes an opt-in "Send Anonymous Diagnostics" toggle (default: OFF). When enabled, the script periodically batches lightweight diagnostic events (e.g. install failure counts, asset-load errors, capture-defense triggers) and uploads them to KrulHub so we can fix bugs faster.
What is sent: event names (e.g. install.chunk_fail, hd.apply_throw), the script version, the executor name reported by identifyexecutor(), the platform class (Desktop / Mobile / Console / unknown), a UNIX timestamp, and small structured fields describing the error (file path, error code, durations, counts).
What is NOT sent: Roblox usernames or display names, chat content, anything you've typed, accessory or catalog IDs you own, place names, the Roblox jobId, or any other identifier that can link an event to a real person.
The script generates a random install ID (UUIDv4) the first time you enable the toggle and persists it locally. The install ID is anonymous: it is NOT derived from your Roblox UserId, your Discord ID, your IP address, or any account identifier; it simply lets us tell that two diagnostic events came from the same installation. Disabling the toggle stops uploads immediately; rotating the install ID can be done by clearing your local RClothesLerp/Settings.json file.
Before any data is sent, you can tap "View Pending" in the script's diagnostics panel to see the exact list of queued events. Nothing is uploaded until the toggle is enabled, and disabling it clears the pending queue.
Local diagnostic logs are written to RClothesLerp/diagnostics.log regardless of the toggle, so users who never opt in can still self-diagnose by reading that file. The log is filesystem-only and never leaves your machine unless you copy it.
The service includes a real-time chat layer (global room + 1:1 direct messages) that runs out of a Cloudflare Durable Object. Participation is voluntary and is initiated by registering an 8-character chat UID inside the script.
Anonymity model: chat is anonymous by design. We do not collect any personally identifiable information (PII) when you register or send messages — no email, no real name, no Roblox UserId, no Discord ID. The chat UID you pick is the only public identifier; the secret you generate alongside it stays on your machine and is used only to sign your requests. You may pick any UID + nickname.
What we keep: every message you send to the global room or as a direct message is recorded on our servers and held in the Durable Object's persistent storage. The retention is necessary so other participants can see your message, so moderators can review reports, and so the global ring can serve recent history to people who join mid-conversation. Soft-deleted messages keep a tombstone server-side so the moderation history is preserved even after a user-side delete.
Moderation: moderators (the operator and any delegate they appoint) can read the full global ring, the full message history of any direct-message conversation, see who reported what, and take action including:
Anti-spam: automated systems track per-UID send timing and sustained volume to detect flooding; repeat offenders are locked out for 60 seconds, then unlocked. This state lives in memory only and is forgotten when the chat service restarts. We also rate-limit registration to 3 attempts per IP per hour to prevent vanity-UID squatting.
Typing pings: while you're composing a message, a "typing" indicator is broadcast to other participants in the same room. The indicator carries only your UID and chosen nickname and expires automatically a few seconds after you stop typing.
Reports: if you report another user's message, your UID and the reported message are added to a moderator-only queue (capped at 200 entries, oldest dropped past that). Reports are not visible to the reported user or to other participants.
What we do NOT do: we do not link your chat UID to your Roblox UserId, to your Discord OAuth identity (if you've used one elsewhere on the site), or to your IP address in any persistent store. IP is used at the rate-limit layer only (the register-RL counter is keyed by IP and expires within the hour) and is never written into a chat record. The chat layer treats every participant as an opaque UID + secret pair.
You agree not to:
Access may be suspended or permanently revoked for any violation of these terms. Blacklisted Roblox UserIds or Discord accounts are blocked at the server level and cannot be reinstated without contacting the operator directly.
The operator reserves the right to terminate access for any user, at any time, for any reason, without prior notice or liability.
The service is provided "as is" without warranties of any kind, express or implied. The operator makes no guarantees regarding uptime, availability, script compatibility, obfuscator output correctness, submission approval timelines, or fitness for a particular purpose.
To the maximum extent permitted by applicable law, the operator shall not be liable for any indirect, incidental, special, or consequential damages arising from your use of — or inability to use — this service, even if advised of the possibility of such damages.
KrulHub uses Cloudflare to host the service, Roblox as the runtime environment for distributed scripts, and Discord for community authentication. Your use of those platforms is governed by their respective Terms of Service. KrulHub has no control over and assumes no responsibility for the content, policies, or practices of those platforms.
These terms may be updated at any time. The "last updated" date at the top of this page reflects the most recent revision. Continued use of the service after changes are posted constitutes acceptance of the revised terms.
For questions or concerns, reach out through the KrulHub Discord server.