Security
What RoSignal can reach, and how it's protected.
You're connecting a live game with real players to an outside tool. This page describes how that connection actually works today - not a list of badges. If something here isn't true, it's a bug and we want to hear about it.
Signing in
- Sign-in happens on Roblox's own page. RoSignal never sees, receives or stores your Roblox password, and there is no separate RoSignal password to leak.
- Roblox sends back only the account details and permissions you approve on that screen, and you can withdraw them from your Roblox account settings at any time.
- Your RoSignal session is a signed, server-side cookie. It is not readable by scripts on the page and it is not shared with any third party.
- The permissions RoSignal asks for are listed one by one, with what each is used for and what it is never used for, on the About page.
What RoSignal can and can't touch
- RoSignal only interacts with things you deliberately connect: the config values you create, the events you choose to track, the messages you subscribe to, the moderation actions you take, and the group ranks you allow.
- The plugin installs a handler script that you own and can read line by line. Nothing outside that script is reachable from RoSignal.
- It cannot read or change game code that was never wired to it, cannot browse your Roblox files, and cannot publish a new version of your place.
- Automations only run the rules you wrote, and every run is recorded with what triggered it and what it did.
Your game key
- Each connected game has one key. It is how your running servers prove they belong to you, and it works for that one game only.
- RoSignal stores only a hash of the key, never the key itself - so it cannot be read back out of the database, even by us.
- Keep it out of public places (client scripts, screenshots, public repos). It belongs in your server-side module only.
- If a key is ever exposed, replace it from the game's setup page. The old key stops working immediately.
- Teammates never need your key or your Roblox login - they get their own account through Team Access.
Data separation
- Every row in the database - events, configs, messages, players, automations - is tagged with the account and game it belongs to.
- Access rules are enforced in the database itself, not only in the app, so a request scoped to one account cannot read another's rows even if the app is wrong.
- Public endpoints your game servers call are limited to the single game the presented key identifies.
- Sensitive values (game keys, invite tokens, automation webhook tokens, Roblox refresh tokens) are stored hashed or encrypted, never as plain readable text.
Team access and audit trail
- Teammates are invited by Roblox username or a single-use link that expires, and each gets a role on that one game: Owner, Admin, Developer or Viewer.
- Roles decide what someone can do - a Viewer cannot change config, send messages or moderate.
- Access is removable at any time, and revoked invites stop working instantly.
- Config changes, messages, moderation actions, rank changes and automation runs all record the account that caused them, so there is always an answer to 'who did this'.
What's stored, and for how long
- RoSignal stores game telemetry - counts of events you chose to track, aggregated by minute and by day - not player personal data. It never asks Roblox for player emails, ages, messages or friends.
- Player-level records hold a Roblox user id, public username, display name and avatar, plus counts of the events you track for that player.
- Raw event samples and history age out on your plan's retention window; aggregated counts are kept longer because they are small.
- Uptime checks are kept for 90 days. Everything past its window is deleted automatically by a scheduled sweep, not left lying around.
- Deleting a game from RoSignal removes its data with it.
Transport, secrets and jobs
- Every request to RoSignal and every request from your Roblox servers travels over HTTPS. Plain HTTP is not accepted.
- Secrets - Roblox app credentials, signing keys, database service keys - exist only on the server and are never included in anything sent to a browser.
- Outgoing requests RoSignal makes on your behalf are restricted to Roblox's own API hosts.
- Scheduled jobs (messages, automations, cleanup, health checks) are triggered through an endpoint protected by a dedicated generated secret, so nobody outside can fire them.
- Uploads from your game are rate-limited and capped per game per minute, so a runaway loop in one game cannot affect anyone else.
Reporting a problem
- Found something that looks wrong? Contact me directly - email support@rosignal.app or message thunder_thigh on Discord - rather than posting it in a public channel.
- You'll get a reply within two business days, and you'll be told what the fix was once it ships. Confirmed issues are listed in the changelog.
- Please don't test against other people's games or accounts. If you need a target, connect a place of your own.
To report a security problem, email support@rosignal.app or message thunder_thigh on Discord (you can find me in the RoSignal server).