Security, privacy and compliance
How we protect the images you send us and the data we keep. Everything on this page describes what Sightova runs today — no aspirational claims.
Last reviewed September 2026
Hosted in the EU
Application, database and detection models run on Hetzner in Nuremberg, Germany. Nothing leaves the EU for analysis.
Images deleted after analysis
Uploads live in an isolated temp directory only while the model runs, then are removed. Pixels are never written to a database or backup.
No third-party AI APIs
Our own models score every image on our own servers. Content is never forwarded to OpenAI, Replicate, Hugging Face or similar.
GDPR by default
Medienor AS is a Norwegian (EEA) company. Our Article 28 DPA applies to every account automatically; signed copies on request.
Data flow
What happens to an image you send us
Four steps, one server, nothing retained. This is the same path for the dashboard, the API and RapidAPI subscribers once a request reaches us.
- 01
You send an image
Via the dashboard or API over TLS 1.3. Files are validated for type (JPEG, PNG, GIF, WebP) and size (≤ 50 MB); URL submissions are checked against private-network and loopback targets to prevent SSRF.
- 02
It is staged in isolation
The image is written to a per-request temporary file under a Sightova-only directory on the same server. It is never placed in object storage, a CDN or a shared queue.
- 03
Our models analyse it
Detection and metadata extraction run locally as short-lived processes with a hard timeout. No external inference API is involved.
- 04
The image is deleted, the result is kept
As soon as the response is built the temp file is unlinked. What remains is an analysis record in your account: scores, request ID, filename, dimensions, size, timestamp, caller IP and user-agent.
Retention
What we keep, and for how long
The short version: results yes, images no.
| Data | Stored? | Where | Retention |
|---|---|---|---|
| Uploaded images | No | Temporary file during the request only | Deleted when the request completes (seconds) |
| Analysis results & request metadata | Yes | Production database, EU | Life of your account; deleted on account deletion or on request within 30 days |
| Account data (email, name, hashed password) | Yes | Production database, EU | Life of your account; deleted on account deletion |
| API keys | Hash only | Production database, EU (SHA-256) | Until you revoke them; plaintext is shown once and never stored |
| Billing records | Yes | Stripe (EU entity) and our invoicing records | Statutory bookkeeping period under Norwegian law |
| Server & access logs | Yes | Hosting server, EU | Rotated on a rolling basis for security investigation |
Controls
How the platform is secured
Technical and organisational measures as currently implemented. These are the measures referenced in Section 5 of the DPA.
Infrastructure
- Single-tenant virtual server at Hetzner Online GmbH, Nuremberg (Germany) — ISO 27001-certified data centres.
- Reverse proxy (nginx) terminates TLS; the application runs under a supervised process manager and restarts automatically on failure.
- No customer data is stored on developer laptops; the production database lives only on the production host.
Encryption & transport
- TLS 1.3 with modern cipher suites (e.g. TLS_AES_256_GCM_SHA384) for every connection; certificates issued and renewed automatically via Let's Encrypt.
- Plaintext HTTP is not served.
- Card data is entered directly into Stripe-hosted fields and never touches Sightova servers.
Authentication & access
- Passwords hashed with bcrypt (cost factor 12); optional Sign in with Google (OAuth 2.0).
- API keys are random, prefixed `sk_`, stored as SHA-256 hashes and can be revoked instantly from the dashboard.
- Administrative access to production requires SSH key authentication and is limited to named engineers.
- Internal admin views are separate from customer accounts and gated behind an additional login.
Application security
- Strict MIME sniffing and size limits on uploads; server-side request forgery protection on URL fetches (blocks localhost, RFC 1918, link-local and .internal hosts).
- Detection scripts run as isolated child processes with timeouts; failures never expose stack traces to callers.
- Per-plan quotas and rate limits protect the service and neighbouring customers from abuse.
- Session cookies are HttpOnly, Secure in production and SameSite=Lax.
Monitoring & incident response
- Failed sign-ins, application errors and subscription events raise real-time alerts to the on-call engineer.
- Every API and dashboard request is logged with caller IP, user-agent and endpoint so suspicious usage can be traced.
- Personal-data breaches are notified to affected customers within 72 hours of confirmation, per our DPA.
Development & change management
- All code is version-controlled in a private repository; every change is type-checked and linted before deployment.
- A database backup is taken before every production deployment and schema change.
- Dependencies are pinned via lockfile and updated deliberately; secrets are kept in environment configuration on the host, never in the repository.
Built for the GDPR from a Norwegian base
- Legal entity. Medienor AS, Norway — inside the EEA, supervised by Datatilsynet (the Norwegian Data Protection Authority).
- Processor terms. Our DPA covers instructions, confidentiality, security, subprocessors, data-subject assistance, 72-hour breach notice, audits and deletion.
- International transfers. Content stays in the EU. Non-EEA subprocessors are covered by EU Standard Contractual Clauses and, where certified, the EU–U.S. Data Privacy Framework.
- No ad-tech. No third-party analytics, advertising or social scripts. Consent is collected with a granular banner and mirrored to Google Consent Mode v2; Global Privacy Control is honoured.
- Data-subject rights. Access, rectification, erasure, restriction, portability and objection — handled within 30 days via hello@sightova.com.
What we ask of customers
- Have a lawful basis for analysing the images you submit, especially where they show identifiable people or identity documents.
- Keep API keys in a secrets manager, never in client-side code, and rotate them if exposed — revocation is instant from the dashboard.
- Treat scores as one signal among several. Detection is probabilistic; build a review step into decisions that affect people.
- Tell us at hello@sightova.com if you want subprocessor change notifications, a signed DPA, or to run a vendor assessment.
Found a vulnerability?
We welcome good-faith security research. Email hello@sightova.com with "Security report" in the subject and enough detail to reproduce the issue.
What we commit to
Acknowledge within two business days, keep you informed while we investigate, fix confirmed issues promptly, and credit you (if you wish) once resolved.
Safe harbour
We will not pursue legal action against researchers who act in good faith, avoid privacy violations and service disruption, and give us reasonable time to remediate before disclosing.
In scope
sightova.com, the dashboard, the public API under /api/v1 and this website.
Out of scope
Denial of service, social engineering of staff, physical attacks, third-party services listed on our subprocessor page, and issues in outdated browsers.
FAQ
Questions security and procurement teams ask
Straight answers, including the ones where we are not there yet.
No. Images are deleted as soon as the analysis completes and are never retained, labelled or used for training. This is a contractual commitment in Section 6 of our Master Services Agreement.
Everything runs in the European Union on Hetzner infrastructure in Nuremberg, Germany. Images never leave that server. The only subprocessors outside the EU are Stripe (payments) and Google (optional sign-in) — see the subprocessor list for the full picture and transfer safeguards.
For the images you submit and the results we return, Medienor AS is a processor acting on your instructions, governed by our DPA. For your account, billing and security logs we are an independent controller under our Privacy Policy.
Yes. The DPA already applies to every account without signature, but if procurement needs an executed copy — with the EU Standard Contractual Clauses annexed — email hello@sightova.com and we will return a countersigned PDF within a few business days.
Not yet. Sightova has not completed an independent SOC 2 or ISO 27001 audit. Instead of a badge we publish our actual controls on this page, complete customer security questionnaires (CAIQ, SIG Lite or your own template) and sign our DPA. If a formal attestation is a hard requirement for your review, tell us — it directly informs our roadmap.
Not yet commissioned. Our application security controls are described above and we welcome good-faith security research under the disclosure policy on this page. Enterprise customers may run their own non-destructive testing against a dedicated account with prior written agreement.
A small number of named engineers with SSH key access to production. Customer data is only accessed to provide support you have requested, to investigate abuse or security incidents, or where the law requires. Because images are not retained, there is no image content for anyone to access after a request finishes.
Delete your account from the dashboard and every analysis record, API key and profile field is removed. For selective deletion, or to exercise rights on behalf of a data subject, email us and we will complete verified requests within 30 days. Billing records required by Norwegian bookkeeping law are kept only for the statutory period.
Sign-in today is email and password or Google. Enterprise SAML/OIDC single sign-on is not yet available; if it is a requirement, contact us and we will scope it with you.
For organisations that cannot send images to a third party at all, we offer self-hosted deployment of the detection models under an enterprise agreement. Get in touch via the contact page to discuss requirements.
Self-serve plans do not carry a contractual SLA. Enterprise orders can include an uptime commitment with service credits and defined support response times; the order form controls. See Section 10 of the MSA.
We post changes on the subprocessor page at least 30 days before they take effect and email account owners who have subscribed to notifications. You can object on reasonable data-protection grounds and, if we cannot resolve it, terminate with a pro-rata refund.
Your requests pass through RapidAPI's gateway (a US company) before reaching us, so RapidAPI is an additional party under its own terms. Once the request arrives, Sightova handles it exactly as described here: analysed in the EU, image deleted, no training. If you need everything to stay in the EU, subscribe to Sightova directly instead.
Documents
Everything your legal team will ask for
All public, all current. Countersigned copies of the DPA and MSA are available on request.
Data Processing Addendum
GDPR Article 28 processor terms — automatically part of every agreement.
Master Services Agreement
Default commercial terms for paid plans and enterprise orders.
Subprocessors
6 providers, their locations, data and transfer safeguards.
Privacy Policy
How we handle personal data as a controller for accounts and billing.
Terms of Service
Acceptable use, accounts, API usage and general conditions.
Cookie Policy
Every cookie we set, why, and how to change your consent.
Running a vendor review?
Send us your questionnaire (CAIQ, SIG Lite or your own) and we will return it completed, along with a countersigned DPA.