Privacy Policy

Last updated: April 2026

Overview

ozeye is an EU-native AI platform. Data privacy is not a feature we added; it is the foundation the platform is built on. This policy explains what data we collect, how we use it, your rights under GDPR, and how to contact us.

This policy is written to comply with the EU General Data Protection Regulation (Regulation (EU) 2016/679, “GDPR”) and the Dutch implementation (Uitvoeringswet AVG).

Data Controller

For the purposes of GDPR, the data controller is ozeye, a Dutch sole proprietorship (eenmanszaak) established in Arnhem, the Netherlands, operated by Mack Jupiter Maier. You can contact our privacy team at privacy@ozeye.ai.

Trader identification (BW 3:15d / Handelsregisterwet art. 27/29): trade name ozeye, sole proprietorship (eenmanszaak), proprietor Mack Jupiter Maier, place of establishment Arnhem, address Bothaplein 1, 6814 AJ, Arnhem, the Netherlands, KVK 42115615.

Zero Data Retention

ozeye does not store the content of your AI requests or responses. Prompts and completions pass through our gateway to the AI provider and are never logged, cached, or persisted to disk. Our audit logs record only metadata: token counts, model used, latency, and cost. No message content is ever retained on ozeye infrastructure.

Enforcement is at the code level: a custom log handler (internal/zdr) redacts any field matching sensitive keys (content, prompt, message, completion, body) from all log output, including crash dumps. ZDR is enabled by default and cannot be disabled by account settings.

One nuance for streamed chat in the ozeye web app: while a response is still being generated, the in-flight stream is buffered in server memory (never on disk) so that a dropped connection - for example a mobile browser suspending a background tab - can be resumed without regenerating and re-billing the response. The buffer exists only for the lifetime of the stream plus a short retention window (at most a few minutes), is capped in size, applies only to streams that opted in (the web app), and is then discarded. API requests are never buffered.

Hosted web search

The optional hosted web search feature (off by default; enable it in chat settings) sends your search query from our servers to Linkup, our search subprocessor (Linkup SAS, France), so the chat model can look up current information. Linkup processes the query in the EU, in memory only, under zero data retention: it is never stored and never used for training. This is the only feature where a query leaves ozeye infrastructure beyond the AI provider you chose.

Consistent with ZDR, we do not store the query or the search results: they are forwarded in real time and returned to your browser, never logged, cached, or persisted. Our records contain only billing metadata (user, API key, modality, cost, timestamp) and audit records contain only the query length. Linkup is listed on the subprocessors page.

Data We Collect

When you create an account and use ozeye, we collect:

DataPurposeLegal basisRetention
Email addressAccount access, service communicationsContract (Art. 6.1.b)Until account deletion
Name (optional)Display purposes, invoicingContract (Art. 6.1.b)Until account deletion
Password hashAuthenticationContract (Art. 6.1.b)Until account deletion (bcrypt-hashed via Ory Kratos)
API keys (hashed)Programmatic authenticationContract (Art. 6.1.b)Until revoked or account deletion
Usage metadataBilling, rate limiting, fraud preventionContract (Art. 6.1.b), Legitimate interest (Art. 6.1.f)24 months then aggregated
IP address (audit only)Security, abuse preventionLegitimate interest (Art. 6.1.f)90 days
Payment metadataTop-up processing, invoicingLegal obligation (Art. 6.1.c, Dutch tax law)7 years (statutory)

We do not collect card details. Card, iDEAL, and Bancontact payments are processed by Mollie; we only receive a transaction ID and success/failure status. Monero top-ups are processed by our self-hosted payment stack; we store the one-time payment address, invoice status, amount, and transaction hash where needed for reconciliation and tax records.

EU Data Residency

All infrastructure is hosted in the European Union. Our servers are in Germany (Hetzner, Nuremberg). AI inference runs on servers in France through our EU-based providers (Mistral in Paris, Scaleway in Paris, OVHcloud in Gravelines). Your data never leaves EU jurisdiction. No Standard Contractual Clauses (SCCs) are required because there are no transfers to third countries.

Subprocessors

A subprocessor is a third party that processes personal data on our behalf. GDPR Art. 28 requires us to disclose all subprocessors. See our full Subprocessors list for the current roster. In summary, we use:

  • Mistral AI, Scaleway, OVHcloud, Inceptron, TensorX - AI inference, EU
  • Hetzner Online GmbH - infrastructure hosting, Germany
  • Mollie B.V. - card/iDEAL/Bancontact payment processing, Netherlands

We will notify customers of any additions or changes at least 30 days in advance.

Your Rights (GDPR)

Under GDPR, you have the right to:

  • Access - request a copy of your personal data (Art. 15)
  • Rectification - correct inaccurate data (Art. 16)
  • Erasure - delete your account and associated data (Art. 17). Usage metadata retained for statutory purposes (tax, anti-fraud) will be anonymized rather than deleted.
  • Portability - export your usage data in a machine-readable format via /v1/account/usage/export (Art. 20)
  • Restriction - limit how we process your data (Art. 18)
  • Objection - object to processing based on legitimate interest (Art. 21)
  • Complaint - lodge a complaint with the Dutch DPA (Autoriteit Persoonsgegevens)

To exercise any of these rights, contact privacy@ozeye.ai. We will respond within 30 days (GDPR Art. 12.3).

Data Breach Notification

In the event of a personal data breach, ozeye will notify the Dutch DPA (Autoriteit Persoonsgegevens) within 72 hours of becoming aware, as required by GDPR Art. 33. If the breach is likely to result in a high risk to your rights and freedoms, we will also notify affected users without undue delay (Art. 34). Our internal breach response runbook defines roles, timelines, and template notifications.

Data Processing Agreement (DPA)

If you are using ozeye as a business to process data of your own customers, GDPR Art. 28 requires a written Data Processing Agreement between your company and ozeye. Visit our DPA page to request one, or email privacy@ozeye.ai.

Cookies

We use only essential cookies required for the service to function:

  • ozeye_session - Kratos session cookie, HttpOnly, SameSite=Lax, expires after 30 days of inactivity
  • csrf_token - Kratos CSRF protection for auth flows

We do not use tracking cookies, analytics cookies, marketing cookies, or any third-party cookies. No consent banner is required under ePrivacy for strictly necessary cookies, but we display an informational notice on first visit so you know what’s going on.

Security

We implement technical and organizational measures to protect your data, including:

  • TLS 1.3 for all data in transit
  • Encrypted database volumes at rest (Hetzner default)
  • API keys stored as SHA-256 hashes, never in plaintext
  • Passwords hashed with bcrypt via Ory Kratos
  • Zero data retention on AI prompt/completion content
  • Rate limiting, request size caps, and IP-based abuse protection
  • Offsite database backups encrypted with age, rotated every 30 days
  • Automated dependency scanning via Dependabot and govulncheck

Changes to this Policy

We may update this policy to reflect changes in our practices or legal obligations. Material changes will be announced by email and via an in-product notification at least 30 days before taking effect. The “last updated” date at the top of this page always reflects the most recent revision.

Contact

For privacy-related inquiries: privacy@ozeye.ai
For security disclosures: security@ozeye.ai (see also security.txt)
For general questions: hello@ozeye.ai