Every memory your AI agents create stays in the EU. GDPR compliance is not a feature you configure — it's the default.
Every layer of the stack is designed with data isolation and EU residency from day one.
kv- prefix used for identification only.End-to-end view of how a request flows through Kronvex — and where security controls are enforced at each layer.
CLIENT REQUEST (HTTPS / TLS 1.3) │ ▼ API LAYER Cloudflare edge → Railway EU region │ DDoS protection, rate limiting │ ▼ AUTH X-API-Key header required │ SHA-256 hash comparison (key never stored plain) │ Quota check (plan limits enforced) │ ▼ APPLICATION FastAPI (Python), isolated per API key scope │ Tenant isolation enforced at query level │ Memory TTL checked before serving │ ▼ pgvector DB Supabase PostgreSQL — AWS eu-central-1 (Frankfurt, EU) │ AES-256 at rest · vector index scoped per key │ Data never leaves the EU │ ▼ BACKUPS Automated daily backups (Supabase managed) Point-in-time recovery · EU region only
A concrete mapping of GDPR articles to how Kronvex implements them — no vague promises.
| Article | Requirement | How Kronvex handles it |
|---|---|---|
| Art. 5 | Data minimization | Only content + embedding stored. No PII collected unless in memory content. |
| Art. 13/14 | Transparency | Privacy policy at /privacy. DPA available on request. |
| Art. 17 | Right to erasure | DELETE /api/v1/agents/{id}/memories — instant, permanent deletion. |
| Art. 20 | Data portability | GET /api/v1/agents/{id}/memories — full export via API. |
| Art. 25 | Privacy by design | EU hosting by default, no cross-border transfer, memory TTL available. |
| Art. 28 | Processor agreement | Standard DPA available at kronvex.io/dpa. Contact enterprise@kronvex.io |
| Art. 32 | Security measures | AES-256 at rest, TLS 1.3 in transit, API key hashing. |
Complete list of third-party processors involved in the Kronvex data chain, with their role, data handled, and GDPR status.
| Sub-processor | Role | Data processed | Hosting | GDPR status |
|---|---|---|---|---|
| Supabase AWS eu-central-1, Frankfurt 🇩🇪 |
PostgreSQL database + vectors | Memories, agents, hashed API keys | EU — Frankfurt | DPA signed |
| Railway EU region |
API hosting | Requests in transit (not persisted) | EU | DPA available |
| Cloudflare Workers | CDN + static frontend | No personal data | Global CDN | — |
| OpenAI US, DPF-certified |
Embeddings only (text-embedding-3-small) | Memory content at embedding time | US — DPF + SCCs | DPF certified |
| Resend | Transactional email | User email address only | US | SCCs |
| Stripe | Payments | Billing data only | US | DPF certified |
The complete list of sub-processors is available on request and in our standard DPA.
Kronvex is incorporated as a European legal entity. Unlike US-based providers (Mem0, Zep, Letta), we are not subject to the US CLOUD Act (18 USC § 2713) or FISA orders. Your data cannot be compelled by non-European authorities, even if it temporarily transits through DPF-certified sub-processors for embedding generation.
These endpoints are available on all plans. No manual process required — integrate directly into your user rights management flow.
From creation to deletion, here is exactly what happens to your data at each stage.
Where your data is stored, how long it is kept, and how it is protected — with no ambiguity.
DELETE /api/v1/agents/{id}/memories) or until account deletion. Optional TTL can be set per memory. Upon account deletion, all associated data is permanently purged within 30 days.SHA-256 hashes — the plaintext key is never persisted.Your API keys are designed so that not even Kronvex can recover them after issuance.
secrets.token_urlsafe(32) from Python's stdlib. 256-bit entropy.
# How Kronvex stores your key (verifiable in our open auth.py) import hashlib, secrets def generate_key(): raw = "kv-" + secrets.token_urlsafe(32) key_hash = hashlib.sha256(raw.encode()).hexdigest() return raw, key_hash # raw sent to you once, hash stored # We only ever compare hashes: def verify_key(provided_key, stored_hash): return hashlib.sha256(provided_key.encode()).hexdigest() == stored_hash
Explicit commitments on how your data is never misused.
Need more than standard compliance? We support procurement and legal processes for larger teams.
Industry-specific compliance guides: Healthcare & GDPR Art. 9 · Fintech & DORA
If you discover a security vulnerability in Kronvex, please disclose it responsibly to security@kronvex.io. We respond within 48 hours, work with you to understand the scope, and credit responsible disclosures publicly (unless you prefer to remain anonymous).
100 free memories. No credit card required.
Already have an account? Sign in →