Skip to content

Security

EU hosting, TLS 1.2 and 1.3, memory-only uploads, deletion jobs and abuse prevention.

Last updated 26 October 2026

Hosting & residency

Isolated compose stack (frontend, backend, Directus, Postgres) on a single host in Frankfurt am Main, Germany (EU). Image analysis (images, and up to three still frames per video) is sent to Kozelo SAS (Sightengine): by default Sightengine may process in the EU (France, Ireland, Germany, Finland), Canada, or the US, with no region lock under Terms version 1.1. The applicable transfer mechanism is named in the provider record supplied before activation — see Subprocessors and the Terms.

Encryption in transit

Automatic HTTPS via Caddy (Let's Encrypt, auto-renewed), TLS 1.3 preferred, TLS 1.2 accepted, TLS 1.0 and 1.1 rejected. The API listens on loopback only behind the proxy; HSTS plus nosniff, no-framing, and strict-referrer headers on every response.

Identity & access

Directus Auth is the identity provider (argon2 password hashing — the scan backend never sees passwords). Short-lived 15-minute HS256 access tokens with refresh rotation.

Content handling

Uploads are memory-only — raw bytes never touch disk. A video is held in a RAM-backed temporary file while its frames are extracted, then deleted; the frames stay in memory and are discarded with it. We keep only a limited 30-day analysis receipt (source name, content type, score, rule, time, workspace) — not a permanent full-report archive. Active receipts are automatically deleted after 30 days. Our deletion promise covers STAiMP receipts only: Sightengine deletes submissions by default after processing (we do not use its Feedback API or storing features), under its own published terms — see Subprocessors. Account deletion purges STAiMP content immediately and completes within 30 days.

Abuse prevention

Per-IP rate limits (120/min global, 60/min scans, 30/min for auth, checkout, the billing portal and VAT IDs), monthly scan quotas per plan, 10 MB / 50-megapixel image and 50 MB / 20-second video upload guards, and magic-byte validation on every file. A ClamAV malware-scan hook is built in but not enabled yet.

Responsible disclosure

Found a vulnerability? Write to legal@xentavi.com — we respond within two business days.