Skip to Content
SFW API

Data handling and privacy

What is processed, what is stored and for how long, where it runs, and who the sub-processors are.

DataStored?Retention
Media bytes, URLs, base64, file names, perceptual hashesNo — in memory only, discarded after the response0
Per-request metadata without content: request id, key id, status, credits, media kind, frame count, level result, latencyYes7 days, then only aggregates
Hourly aggregates (requests, credits, bytes, levels, latency)Yesaccount lifetime
Key metadata: name, prefix, hash, last used at, last network prefix (/24 or /48) and countryYeskey lifetime; network prefix 30 days
Account: email, name, company, VAT ID, countryYesaccount lifetime + statutory for invoices
Billingat Stripestatutory

Inference runs on our own servers in Germany. For URL inputs, our server downloads the media (through our IP, with private-network targets refused). Transport to the API is TLS through Cloudflare; the website on Vercel never handles media or account data (the console talks to the API directly from your browser).

Roles under the GDPR: for media and results we are your processor (the API call is your instruction); for account and billing data we are the controller. The DPA is part of the terms; the sub-processor list is kept current.

Failed requests are never charged and leave no content behind either.