Built for the people
who audit you.
Saudi PDPL doesn't tolerate "trust us, bro." Lexora ships with the receipts on day one — RLS enforcement, HMAC-chained audit log, per-purpose consents.
The contract we sign with you.
Tenant RLS
by default.
Every tenant-owned table enforces Postgres Row-Level Security keyed on tenant_id. Each request opens a session, sets app.tenant_id from the verified JWT, and only sees rows that match. No application-level tenant filter to forget.
Audit chain,
tamper-evident.
Every state-changing action writes an audit_log row whose hash chains to the previous row via HMAC-SHA256 keyed on AUDIT_CHAIN_SECRET. Tampering is detectable on export. Bundled into your audit pack PDF + JSON.
PDPL consents,
per purpose.
Saudi PDPL requires explicit consent per processing purpose. Lexora records service / marketing / analytics consents at signup, exposes them in account settings, and honors withdrawal within 24h.
No training
on tenant data.
We do not fine-tune any model on tenant data. Per-tenant data is RLS-isolated. The only time it crosses a provider boundary is as the prompt context for the user's own request — no caching, no logging server-side beyond the audit row.
Self-audit
the source.
Every line of the audit chain implementation, RLS policy, and integration adapter is reviewable on the demo call. Enterprise customers can also run their own instance entirely off their own infrastructure.
Provider failover,
deterministic stub.
Anthropic → Google → OpenAI → deterministic stub. Citations validated post-generation; disclaimer enforced on every reply. If every real provider fails, the stub keeps the surface alive — no 5xx to your users.
Where we are. Where we're going.
Roadmap items are commitments to the customers we're already serving, not pricing-page puffery. Anything you don't see here that you need before signing — book a 15-min call and we'll tell you straight whether it's possible.
Who else touches your data.
Every optional subprocessor is gated by an env-var switch. Run Lexora entirely on the required column for offline / on-prem / fully-stub mode.