UCS
Privacy & security
What data the CAD processes, how it is protected, and what to watch for on the website and when downloading the desktop app.
Last updated: October 29, 2026
1. What this is about
UCS (Unified Command System) is a tool for a role-play (Emergency Response: Liberty County on Roblox): calls, units, reports and records are game content. Real emergency calls or real personal or incident data do not belong in it. This page explains which data the CAD still processes about you as a user, how it is protected, and what to watch for when downloading the desktop app.
Use is intended for ages 12 and up. At sign-in and account request you confirm the minimum age yourself; no date of birth is collected. The accepted version of the terms and the time of acceptance are stored.
2. Controller
The operator of the application is responsible for the data processing in the CAD. The operator's details are shown below in this section.
The operator has not entered name, address and e-mail yet. Until then, ask the administration of your department.
3. Which data is processed
Your IP address is not stored. For limits (too many sign-in attempts) it is evaluated in memory and converted into a one-way identifier for storage in the database, from which the address cannot be recovered. The hosting provider sees the address technically when you open the page.
| Area | Data | Purpose |
|---|---|---|
| Account | Username, display name, password (only as a hash, never in plain text), department, role, callsign, serial number, optional Roblox username, time of the last sign-in, and for account requests the free text “Why do you want in?” | Sign-in and assignment to department and permissions |
| Second factor | Authenticator app secret (stored encrypted), public keys of your passkeys, recovery codes (stored only as hashes) | Protecting the account |
| In-game work data | Calls, duty times, status history of your unit, reports, records, BOLOs (with images), notifications to you, your sound and display settings | Operating the role-play CAD |
| ER:LC game data | Player list and in-game calls of the ER:LC server (Roblox names, positions), if the operator has stored a server key | Showing calls and unit positions in the CAD |
| Security logs | Sign-in attempts (username, shortened one-way identifier of the origin instead of the IP address, rough reason such as “wrong password”), abuse log, log of administrative actions | Protection against attacks and traceability of administration |
4. Purposes and legal bases
- Providing the CAD and managing your account: performing the use, Art. 6(1)(b) GDPR.
- Security of operation, defense against abuse and attacks, administration logs: legitimate interest, Art. 6(1)(f) GDPR.
- Additional services such as Discord messages of your department: only if the department has set them up; they concern calls, not your account.
5. Service providers and recipients
| Service | What for | Which data goes there |
|---|---|---|
| Vercel (hosting) | Operating the website; functions run in the Frankfurt region (fra1) | All requests to the page (technically: IP address, time, requested address) |
| Supabase (database) | Storage of the data from section 3; the current project is in the EU region Ireland (eu-west-1) | The stored data |
| Pusher (real time) | Instant updating of the views | Signals (“something changed”) on your department's channel; the page then loads the content itself from the server, no call or account data goes to Pusher |
| Have I Been Pwned (password check) | When setting a password: is it known from data breaches? | Only the first five characters of a hash; the password itself never leaves the CAD |
| Discord (optional) | Messages about calls into a channel if your department has stored a webhook | Call data (title, description, location, priority, call type, coordinates), no account data |
| ER:LC / PRC (optional) | Fetching the player list and in-game calls | The operator's server key (stored encrypted) |
| GitHub (desktop app) | Download and update of the desktop app | On download and update checks GitHub sees your IP address |
Some of these providers are based, or run parts of their operation, outside the EU. Their privacy and contract terms apply. The CAD does not use advertising or analytics services.
7. How long data is stored
| Data | Retention |
|---|---|
| Account, reports, records, calls, BOLOs | Until deleted by the administration. Rejected account requests without a sign-in can be deleted |
| Sign-in log and abuse log | 30 days (cleaned up automatically every day) |
| Log of administrative actions | 365 days |
| Notifications to you | Read ones after 7 days, all at the latest after 30 days |
| Outbox of Discord messages | Delivered ones after 7 days, failed ones after 30 days |
| Session (sign-in) | At most 12 hours |
8. Your rights
You have the right to access your data, to rectification, erasure and restriction of processing, to data portability, and to object to processing based on a legitimate interest. You can also lodge a complaint with a data protection supervisory authority. Contact the controller (section 2) for this. You can change your password yourself under “My account”; for everything else, your department's administration or the operator is responsible.
9. Security on the website
- Encrypted connection: The site is only reachable over https and tells browsers via HSTS to connect only encrypted.
- Passwords: at least 10 characters, stored only as a bcrypt hash (12 rounds). When you set one, it is checked against known data breaches – without it leaving the CAD.
- Second factor: authenticator app, passkeys (Touch ID, Windows Hello) and recovery codes. The operator can make the second factor mandatory for administrative roles; it is recommended for every account.
- Sessions: at most 12 hours. Signing out ends exactly that session on the server too, a copied cookie no longer works afterwards. Changing the password ends all other sessions.
- Protection against attacks: sign-in attempts are limited and slowed down per account and per origin; there is no permanent lockout that could be inflicted on a colleague.
- Secrets encrypted: server keys, webhook addresses and second-factor secrets are stored only encrypted (AES-256-GCM) in the database and are never sent back to the browser.
- Permissions are checked on the server: role, department and secondary roles decide what you see and may do – not the interface. Sensitive records are restricted to authorized roles.
- Protective headers: the site cannot be embedded in other sites, browsers do not guess file types, camera, microphone and location are blocked.
- Images only as a local copy: BOLO images are copied when saved and never loaded from third-party servers – so opening them reveals nothing to third parties.
No application is absolutely secure. Known limit: a Content Security Policy (restricting which scripts the page may load) is not set up yet. Report security issues to the controller (section 2).
10. Security of the desktop app
- Where to download: download the app only via this CAD's “Desktop app” page (/herunterladen). It points to the project's official releases on GitHub. Do not download it from other sites, chats or forwarded links.
- Windows notice: the installer does not carry a purchased publisher certificate from Microsoft. Windows may therefore show a SmartScreen warning at launch (“Windows protected your PC”). That is expected for this app: “More info” → “Run anyway”, but only if you downloaded the file yourself from the official page.
- Signed updates: the app checks for updates at launch and every 6 hours. An update is only installed if it is signed with the project's private key, whose public part is built into the app. A planted file is rejected.
- What the app is: a window for the same website. Sign-in, data and permissions are the same as in the browser; the app keeps no data of its own and contains neither advertising nor analytics services. The session lives in the app's browser storage on your computer.
- Shortcuts: the app registers only the listed shortcuts with Windows (Ctrl + Alt + C, V, T, E, X and arrows). It does not read any other keyboard input, not even in the game.
- Stored locally: window positions and sizes. The widget windows only show data your account may see anyway.
Links that do not belong to the CAD may open inside the app window. Never sign in on a page that does not show the CAD's address.
11. What you can do yourself
- Choose a long password used only here and set up a second factor (My account).
- Sign out on shared or other people's computers.
- Never share your password or recovery codes, not even with admins. They do not ask for them.
- Do not enter real personal data into reports and records.
- If you notice anything (unknown sign-in, suspicious message, odd behaviour of the app), report it to the controller.