Delete your account or remove your data
You can delete your TRaX account, or remove parts of your data while keeping the account. Both are self-serve, both are permanent, and neither requires you to email anyone and wait.
The public, no-login-required versions of these pages live at https://traxstreaming.live/delete and https://traxstreaming.live/remove. Those two URLs are the ones registered with app stores and platform consoles, so they are stable and will not move.
Delete your account
Signed in, go to Account → Privacy → Delete account. You type your username to confirm, and it runs immediately. A confirmation email follows with a request id — keep it, it is your reference if you ever need to ask us about the deletion.
Behind the button, DELETE /api/account/me runs a fixed cascade and deletes
your login identity last, so your identity only disappears once the data
behind it is gone:
- Chat — every chat message we stored, across every platform.
- Platform connections — each connected platform is disconnected, its stored tokens deleted, and the authorization revoked at the platform itself.
- Studios and media — studios with their layouts, scenes, overlays, rundowns, sources and destinations; your media library; recording metadata and storage settings; paired mobile devices.
- Identity — the account itself.
If a step fails, the others still run and the failure is recorded rather than hidden. Retrying is safe: every step is idempotent, and a second delete returns the original request id instead of creating a second record.
What we keep, and why
Two things survive an account deletion. Both are listed on the public page and repeated in your confirmation email.
Billing and invoice records. Kept for the period tax and accounting law requires. GDPR Article 17(3)(b) allows retention where we have a legal obligation; CCPA 1798.105(d)(8) is the equivalent carve-out.
One line in our deletion log. A request id, timestamps, which categories were deleted, what was retained and under what basis. It holds no name, no email and no account id — the subject is stored as a one-way HMAC. We keep it indefinitely because it is the evidence the deletion happened (GDPR Article 5(2), accountability). See the deletion log below.
Remove data without closing your account
Signed in, go to Account → Privacy → Remove some of your data. Four things can be removed independently, each with its own confirmation:
| Scope | What goes | What stays |
|---|---|---|
connections |
Every platform connection, its stored tokens deleted and revoked at the platform | Studios, media, chat you keep separately |
chat |
Every chat message we stored, all platforms | Your connections |
media |
Media library files, recording metadata, storage settings | Your studios |
studios |
Every studio with its layouts, scenes, overlays, rundowns, sources and destinations | Your account, connections and media |
Each is DELETE /api/account/me/data/{scope}. The scope comes from the URL and
the account comes from your session — there is no request shape that lets one
person name another person's account. None of these close your account.
Each removal gets its own entry in the deletion log. A partial removal is as much a data-subject request as a full one, and "show me everything you deleted for this person" has to have a complete answer.
If you cannot sign in
Both public pages carry a request form. Give us the email address on the account and pick what to delete.
We then email a verification link to the address on file. Nothing is deleted until you open it. If you did not make the request, ignoring that email is enough — no action is taken.
The form's response is deliberately the same whether or not an account exists for the address you typed, and we send no mail at all when there is no matching account. That is not evasiveness: an unauthenticated form that answered differently would be a way to test whether any given email has a TRaX account.
The link is good for 24 hours and works once. We answer every request within 30 days (GDPR: one month; CCPA: 45 days), and in practice far sooner — the verified self-serve path runs immediately.
You can also email [email protected] directly.
Platform deauthorization
If you revoke TRaX from a connected platform's own settings — YouTube, Twitch,
Kick — we delete the chat history collected under that connection without
waiting to be asked. That deletion is recorded in the same log as everything
else, under the platform_deauth channel.
The deletion log
Every deletion TRaX performs writes one row to an append-only table. It is the answer to "prove you deleted this person's data."
Each row records: when it was requested, verified and completed; how it arrived (self-serve, request form, platform deauthorization, or an operator); which scopes were asked for and what happened to each one; what was retained and the legal basis; and which law the request was made under.
What it does not record is who you are. The subject is an HMAC of your account id under a server-held key, so the log can be kept forever without being a store of personal data. If you come back and ask us to prove your deletion happened, we recompute that hash from the account id you present and find the row.
The table refuses DELETE, TRUNCATE, and any edit to a recorded fact at the
database level, not by convention. Timestamps and outcomes can be written once
and never rewritten.
In the mobile app
The TRaX mobile app links to the same flow. Apple requires apps that create accounts to offer account deletion in-app (App Store Review Guideline 5.1.1(v)), and Google Play requires a publicly reachable URL explaining how to request it. Both point at the pages above.
For developers
| Method | Path | Auth | Notes |
|---|---|---|---|
GET |
/api/account/me/privacy |
Bearer | Is the surface armed, and what is retained |
DELETE |
/api/account/me |
Bearer | Full erasure. Returns requestId |
DELETE |
/api/account/me/data/{scope} |
Bearer | connections | chat | media | studios |
POST |
/api/account/data-deletion/request |
None | Public form. Always 202 |
GET |
/api/account/data-deletion/verify |
Signed link | Redeems and runs the erasure |
Every one of these returns 503 when the deletion log is not writable. That is
deliberate and it is the rule the whole feature is built on: an erasure we
cannot record is an erasure we must not perform.