End-to-end encryption
All API communication uses TLS/HTTPS. No plaintext transport on any public surface.
Your documents contain sensitive data. We treat every layer of our stack — from network to query response — as a security boundary. This page documents the controls we operate. If you spot a gap, tell us.
Last updated: April 22, 2026
Network and runtime layer. Everything below your query.
All API communication uses TLS/HTTPS. No plaintext transport on any public surface.
Production runs on managed cloud infrastructure with provider-level physical security, automated patching, and per-region isolation.
When the quota backend is unreachable, rate-limit and quota checks deny by default. We never fail open on auth-adjacent paths.
Rate limiting per IP with automatic blocking on abuse patterns. Anonymous quotas never share a bucket.
Multi-tenant by construction. Zero cross-tenant data access is possible.
Every tenant-scoped query validates its tenant identifier at the code boundary. Malformed or reserved placeholders are rejected before any data access.
Full-text and vector retrieval filter documents by tenant before scoring. No global index. No cross-tenant leakage.
Every cache entry is namespaced by tenant identifier. Invalidation on upload and delete is tenant-local.
Every ingress point is bounded, typed, and quota-checked.
Authentication via JWT with configurable expiry, or direct Bearer tokens for self-host and marketplace paths. Revoked keys are denied even before reaching the quota layer.
All request and upload bodies are bounded in size with strict limits enforced at the proxy layer. Prevents oversized-payload abuse.
Embedding requests are clamped to a fixed dimensional range. Anti-DoS against memory-exhaustion attacks.
Server-sent events are capped per response to prevent unbounded memory allocation on long-tail streams.
An orthogonal deny-list layered on top of the issuance source-of-truth. Revocation fail-open so a backend outage cannot authorize revoked keys.
Multiple layers: input sanitization on user queries, source-as-data framing for retrieved content, and post-output scanning for known injection patterns.
The layer most products get wrong. Ours is reviewed continuously.
Raw upstream LLM errors are never exposed to clients. Every exception is translated to a bounded public error vocabulary.
Internal reasoning and hidden chain-of-thought are stripped from every outbound response path, including streaming.
Consecutive upstream failures trip a circuit breaker that isolates the failing provider. Automatic fallback chain picks the next healthy option.
401 and 403 from an upstream provider never fall back to an alternative — we surface the error immediately rather than leaking traffic to a different model.
Tool outputs are bounded before being re-injected into the model context. Prevents runaway context growth and tool-originated injection.
A refuted claim returns UNVERIFIED or PARTIAL. CONFLICT is reserved for true contradictions — never for "couldn't match".
Every response is traceable. Nothing is opaque.
Each refuted claim carries a reason field: numerical_mismatch, entity_mismatch, negation_conflict. You see why, not just a score.
Model, latency, verdict, and retrieval path travel with every response. Correlate with your own logs for post-incident review.
Real-time metrics via an authenticated /metrics endpoint. Cascade override rates, LLM cost per model, retrieval-path decisions.
Wauldo is GDPR-aware by design. The privacy policy covers exactly what we collect, how long we keep it, and how to exercise your rights — concise plain language, no dark patterns.
Uploaded documents and indexed chunks live as long as your tenant collection. DELETE /v1/collections/:id removes documents, chunks, and embeddings in one call. Detail: privacy §3.
EEA residents have full Article 15-22 rights: data export, account deletion, processing restriction. Email privacy@wauldo.com. Detail: privacy §8.
OpenRouter (LLM routing), AWS (compute & storage), Upstash (cache), Vercel (landing). Each disclosed in privacy §5 with the data category that crosses the boundary.
If you've identified a security issue, please email security@wauldo.com before public disclosure. We commit to acknowledging every report within 48 hours and to not pursuing legal action against good-faith researchers.