Privacy Policy
Draft — not yet in force. Last edited 12 September 2026.
1. Who we are
Engulfs is an online multiplayer game operated at engulfs.io. The operating legal entity, its registered address and a contact address for privacy enquiries are still to be confirmed and must be inserted before this policy is published.
2. What we collect
The list below is taken from the database schema rather than written from a template, so it describes what the software actually stores.
Account
| Username | Chosen by you at sign-up. Used to sign in. |
|---|---|
| Display name | Shown on your cell and on the leaderboard, so it is visible to other players. |
| Password | Stored only as a scrypt hash with a per-account salt. The password itself is never stored and cannot be recovered from what we hold. |
| Google account identifier | If you sign in with Google, we store the stable identifier Google issues for you (its sub claim). |
| Date of birth | Declared by you at sign-up to confirm you are 18 or over. Stored as the date you entered. |
| IP address | The address you created the account from. |
| Timestamps | When the account was created, and when the display name was last changed. |
We do not store your email address. This is deliberate. If you sign in with Google we key your account to Google's immutable identifier and never to your email, because email addresses change hands and matching accounts by email is a known route to account takeover.
Sessions
When you sign in we issue a session token that expires after 30 days. Only a SHA-256 hash of that token is stored on the server, so a copy of our database would not hand anyone your live session. The token itself is held in your browser's local storage so you stay signed in, and is removed when you sign out.
Play and money
| Match history | One row per life: how long you survived, your finishing position, how many players were in the arena, orbs absorbed, players eaten, peak mass, how the life ended, who eliminated you, and the stake and payout involved. |
|---|---|
| Career totals | Matches played, wins, time played, best position, longest streak and similar figures, derived from your match history. |
| Balance and escrow | Your balance and any amount currently staked, held as whole counts of micro-USDC. |
| Ledger | An append-only record of every movement of money — stakes, claims, cash-outs, forfeits and refunds. Nothing in this table is ever updated or deleted, because an audit trail that can be rewritten is not an audit trail. |
What we do not collect
- No advertising or analytics trackers, and no third-party cookies.
- No email addresses, as above.
- No payment card details. We do not take card payments.
- No location data beyond what an IP address implies.
3. Why we hold it, and on what basis
| To run your account | Necessary to provide the service you asked for. |
|---|---|
| To run matches and settle stakes | Necessary to perform our contract with you. The match and ledger records are what make a disputed settlement resolvable. |
| To confirm you are 18 or over | Necessary for compliance, and a condition of offering wagering at all. |
| To keep the game fair and secure | Our legitimate interest in preventing multiple accounts, abuse and fraud. This is why the sign-up IP address is kept and why connections per address are limited. |
4. Who we share it with
We do not sell your data and we do not share it for advertising. It reaches these parties only because they run the infrastructure the game needs:
| Render | Hosts the game server and serves the site. |
|---|---|
| Supabase / PostgreSQL | Stores accounts, balances, the ledger and match history. |
| Only if you choose Sign in with Google. Google tells us your identifier and display name; we do not send Google anything about your play. |
We may also disclose information where the law requires it, or to investigate fraud or abuse of the game.
5. What other players can see
Your display name is visible to other players during a match, in the end-of-round standings and on public leaderboards. Nothing else about your account is shown to them — not your username, not your balance, not your match history.
6. How long we keep it
Sessions expire after 30 days and are swept automatically. Accounts, match history and ledger entries are kept while your account exists.
Ledger entries are the exception to deletion: they are a financial audit record, and where money has actually moved we may be required to retain them even after an account closes. Specific retention periods are still to be set and depend on the jurisdiction ultimately chosen.
7. Your rights
Depending on where you live you may have the right to see the data we hold about you, to correct it, to have it deleted, to object to processing, or to receive a copy in a portable form. Deleting an account removes its sessions and its match history; ledger entries may be retained as described above.
A contact route for these requests must be added before publication, along with the supervisory authority you may complain to.
8. Security
- Passwords are hashed with scrypt using a per-account salt and compared in constant time.
- Session tokens are stored only as hashes.
- Sign-in attempts are rate limited per account and per IP address.
- Database tables live in their own schema, kept out of the one Supabase exposes over HTTP, so account and balance rows are not reachable with a public key.
- The game server is authoritative: your client cannot move itself, change its mass, or assert a result.
No system is perfectly secure, and the account system is described in our own source as scaffolding rather than audited authentication. We would tell you plainly if that changed, and we would tell you if a breach affected you.
9. Children
Engulfs is for adults. You must be 18 or over to open an account, and we ask for your date of birth at sign-up. That is a declaration, not verification: it records what you told us and does not prove your age. If we learn that an account belongs to someone under 18 we will close it.
10. Changes
If this policy changes materially we will say so on the site before the change takes effect.