sealrelay.com
Privacy · updated [date]

Everything we store, and for how long.

This table is our privacy policy in plain terms. If a kind of data isn't listed here, we don't have it. Changes are dated and listed at the bottom of this page.

UsernameWhat we storeYour username, in lowercaseWhereDatabaseKept forUntil you delete your accountWhyLogging you in.
PasswordWhat we storeA slow one-way hash (Argon2id), never the passwordWhereDatabaseKept forUntil changedWhyLogging you in.
Recovery codeWhat we storeA keyed hash and when it was made, never the code: we show it once, at signup or when you make a new oneWhereDatabaseKept forUntil replaced: when you use it, change your password, or make a new oneWhyResetting a lost password.
Email, phone, real name, IDWhat we storeNever storedWhere—Kept for—WhyWe don't ask for them.
API keysWhat we storeA keyed hash (HMAC-SHA256), the name you gave it, the last 4 characters, when it was created and the last day it was usedWhereDatabaseKept forHash erased when revoked or expired; the name stays with its usage for 90 daysWhyAuthenticating requests.
Prompts and outputsWhat we storeNever storedWhereModel servers' memory (accelerator memory, then RAM), while a request runs or its context is cachedKept forUp to 4 hours, as cached contextWhyGenerating the response.
IP addressWhat we storeNever storedWhereIn memory for rate limits, and for a moment to look up your country for the visit countsKept forAn hour at mostWhyBlocking abuse.
UsageWhat we storeDaily totals per key and model: requests, tokens and costWhereDatabaseKept for90 daysWhyBilling and your usage page.
Balance holdsWhat we storeAccount and amount, while a request runsWhereDatabaseKept forUntil the request endsWhyMaking sure a request can be paid for.
BalanceWhat we storeYour credit balance and top-up historyWhereDatabaseKept forUntil you delete your accountWhyKnowing what you can spend.
Invite codesWhat we storeWhich code your account redeemed, and when. Codes are stored only as keyed hashesWhereDatabaseKept forFor good; the link to your account goes when you delete itWhyMaking sure each code is used once.
PaymentsWhat we storeDollar amount, coin and network, status, and the payment gateway's invoice ID and checkout linkWhereDatabase and our payment gatewayKept for30 days; then only the dollar amount, coin and day remain. The gateway, which we run ourselves, keeps the payment's own records (amount, times, addresses and transactions) for good, so we could still match themWhyCrediting your top-up.
Session cookieWhat we storeA random token in your browser; we keep only its SHA-256 hashWhereYour browser and our databaseKept for7 daysWhyKeeping you logged in.
API request logWhat we storeOne line per request: time to the second, model, status, duration and a random request ID. No keys, accounts, IPs, prompts or token countsWhereAPI serversKept for7 daysWhyFinding failed requests when you quote a request ID.
Server logsWhat we storeStart-up and errors, with no request content, keys, usernames or IPsWhereApp serversKept forRotated out by size, usually within daysWhyKeeping the service up.
Crash logsWhat we storeIf a model server crashes, its error log can include the token IDs (the encoded text) of the requests it was runningWhereModel serversKept for[How long]WhyFinding what made it crash.
Visit countsWhat we storeDaily totals only: views per page, and visitors per referring site or ?ref= link, country and device type (desktop, mobile or tablet). Your country comes from your IP address, looked up on our server in a local database; then the address is dropped. To count a visitor once a day, a hash of your address and browser is kept in memory under a key that changes daily. No cookie, nothing stored in your browser. Not counted at all if your browser sends Do Not Track or Global Privacy ControlWhereDatabase (the totals); the web server's memory (the day's hashes)Kept for400 days for the totals; the hashes until the day endsWhyKnowing which pages and links bring people, and from where.
Third-party analytics and trackersWhat we storeNever storedWhere—Kept for—WhyNone installed.

About prompt caching: to make agent turns cheaper, the context of a conversation can stay in the model servers' memory for up to 4 hours after a request, so the next turn can reuse it. It is held there only while cached and is never written to disk or logs, short of the crash logs above. Each account has its own cache, so another customer can't reuse or detect your cached context.

Countries are looked up with IP Geolocation by DB-IP, a database we download and run ourselves (CC BY 4.0); no address is sent to them.

What we can't promise

No website can prove what code its servers run, so you are still trusting us. We keep as little as possible so that trust costs you less. If a prompt must never leave your machine, run a model locally.

Deleting your account

Settings → Delete account removes your username, keys, usage and balance at once. Backups roll off within 7 days. [What happens to remaining credit.]

Policy changes

[date] — First version.