Security
This page says what we keep, what we do not, and what happens to a request from the moment it arrives. Nothing here is a feature you switch on.
What we keep
This is the whole record of a request. Prompts and outputs stay in memory for the session and are never written to disk.
The session is the window in which a key's recent prompts stay in memory so repeated context is cheaper. It lasts at most 30 minutes after the last request.
Usage record
Nothing is used to train a model. Nothing leaves the region.
Kept
- Usage recordTime, model, region, token counts, key id and cost. Shown on the usage page and used for billing.
- AccountEmail address, passkeys, and workspace members.
- BillingReceipts and the last four digits of a card. Card numbers are held by Stripe, not by us.
- API keysA hash of each key. The key itself is shown once and not stored.
- Request logsRequest id, status code, latency and error code for 30 days, for support and debugging.
Not kept
- PromptsStay in memory for the session. Never written to disk, never in a log.
- OutputsReturned to you and held in memory for the session. Never written to disk.
- Training dataNothing you send is used to train any model, ours or a provider's.
- Third-party copiesNo analytics, resellers or observability vendors sit in the request path.
- Cross-region copiesA request is processed in the region you chose and nowhere else.
What happens to a request
Every request follows the same path. There is no path that writes a prompt to disk.
- 01The request arrives in the region you chose
The base URL picks the region.
au.api.safeailabs.aiis Sydney. Traffic is encrypted in transit with TLS 1.3. - 02The key is checked
The key in the Authorization header is hashed and compared with the stored hash. The key itself is never stored or logged.
- 03Credits are checked
If the workspace cannot cover the request it fails with
insufficient_creditsbefore any model runs. - 04The model runs on hardware in that country
The prompt is held in memory on the node that serves it. If the region has no capacity the request fails with a retry time. It is never routed to another region.
- 05The response is returned
Streamed or whole, straight back to you. The output is not copied anywhere on the way out.
- 06The usage record is written
Time, model, region, token counts, key id and cost. This is the only thing that persists.
- 07The session ends
Prompts and outputs are released from memory at most 30 minutes after the last request on that key.
Regions
One sheet per live region. The operator is named plainly. If a line is not confirmed it says so.
Sydneyau-syd
Memphisus-mem
Which models run in which region follows the capacity we can get. The models table shows availability per region and the status page shows whether a region is accepting requests now.
Keys, accounts and encryption
- API keys are shown once at creation and stored as a hash. A lost key is revoked and replaced, never recovered.
- One key works in every region. Revoking it stops requests in every region at once.
- There are no passwords. Sign in is an emailed code or a passkey. Passkeys use WebAuthn and never leave your device.
- Traffic is encrypted in transit with TLS 1.3. The usage record and account data are encrypted at rest.
- Card details are held by Stripe. We store the card brand, the last four digits and the expiry, for display.
- Staff access to production is by named account and recorded.
Law
We name a law only beside what we do about it.
Safe AI Labs Pty Ltd is an Australian company. Requests sent to Sydney are processed in Australia by an Australian entity on hardware it owns. Requests sent to Memphis are processed in the United States on hardware leased from a US operator, under a contract held by the Australian entity.
We hold the usage record because the Australian Taxation Office requires records that support an invoice. We hold nothing that would let us reproduce a prompt or an output, so a request to produce one, from anyone, returns the usage record and nothing else.
Privacy in detail is on the privacy page.
Report a vulnerability
Email [email protected] with what you found and how to reproduce it. We reply within 2 business days and tell you when it is fixed.
Do not send a prompt or output that belongs to someone else. Do not run a test that degrades the service for others.