Security that shows its work.
ZeaData enforces access inside every query, keeps a record of every answer, and runs where you decide. This page explains how, in plain terms.
Access is enforced in the query.
ZeaData does not filter results after the fact. It rewrites each query with the person's grants, row rules and column masks before the query reaches your data, and refuses to run it if the rules cannot be applied.
Every channel, one path
Chat, dashboards, the SQL workspace, downloads, Excel and Power BI feeds, AI assistants over MCP, previews and quality checks all go through the same enforcement.
Stored results follow the rules
Dashboard tiles are computed with each viewer's access, scheduled dashboards keep a cache per level of access, and email deliveries are computed for each recipient.
Sensitive data
A scanner suggests classifications for personal, health and financial columns. Confirmed columns are masked for anyone without clear-text access, and masked columns are recorded with each answer.
Requests, approvals and expiry
Access is requested per table, approved by the product's approvers, limited in time, reminded before it ends and revocable. Every step is audited.
Single sign-on
Microsoft Entra ID sign-in, with groups and person attributes kept in step for row rules. Excel and AI assistants can use the organizational account too.
Read-only by design
Every query is checked to be a single read-only statement before it runs, in chat, on dashboards and in the SQL workspace alike. ZeaData reads your data; it does not change it.
Evidence your auditors can check themselves.
Every answer is written to an append-only query ledger and chained to the entry before it by its SHA-256 fingerprint. Administrative actions go to an audit log the database refuses to change or delete.
Entry #1,086
- Asked by
- Sam Rivera, New York
- Through
- Dashboard tile
- Question
- FY2026 engagements by office
- Tables
- gold.gold_client_engagements
- Rules applied
- Engagements in my office
- Rows returned
- 1
- Previous
- sha256 3c09d1e7…
- Fingerprint
- sha256 8deda5f3…
Query ledger
Question, SQL, tables, rules applied, rows returned and channel for every answer, including Excel refreshes and questions from AI assistants. Verify the chain at any time.
Audit log
Sign-ins, access changes, approvals, exports and settings. Sealed events can only be purged after a retention period you set, of at least a year.
Evidence packs
One ZIP for a period, a person, a source or a product: the ledger, audit events, grants, requests, row rules, classifications, a manifest of fingerprints and a script that re-checks them.
AI in your tenant, on your terms.
The AI writes SQL and explains results. It never decides access: the SQL it writes runs through the same enforcement as everything else, as the person who asked.
Your model
Azure OpenAI in your own subscription, reached over a private endpoint and signed in with a managed identity, so there are no AI keys to leak. An OpenAI-compatible gateway in your network works too.
An allow-list for AI
ZeaData refuses to create an AI client for any host that is not on your list, including code paths that would call a public service directly.
What the model sees
The question, descriptions of the tables involved and small samples of results, with values from sensitive columns masked even when the person asking may see them. Connection settings are never sent.
Less where it is enough
SQL Explain sends only the SQL, with literal values removed. Explanations of changes and forecasts are computed without a model.
No training on your data
Microsoft does not use prompts or completions sent to Azure OpenAI to train models. ZeaData records token counts for cost reporting, not prompts.
Answers you can check
Every AI answer shows its SQL. AI accuracy tests compare the AI with your verified questions and queue wrong answers for review.
A private deployment in your Azure.
Our Bicep templates create the whole platform in one resource group of your subscription. You own the resources, the data, the keys and the bills, and we have no access unless you grant it.
AI and data residency, as the settings page shows it
- Provider
- Azure OpenAI
- Runs in
- Your subscription
- Sign-in
- Managed identity
- API keys
- Disabled
- Approved hosts
- Yours only
Private network
Container apps and PostgreSQL in a virtual network, private endpoints for Redis, storage, Key Vault and Azure OpenAI, and internal-only ingress by default.
Secrets in your Key Vault
Generated once at deployment and read by reference. The app's managed identity holds only the roles it needs.
Your data sources, your identities
Sources are reached over private endpoints or with a service principal you create and can revoke. Credentials are encrypted with a key in your vault.
Retention you control
Choose whether saved answers keep result rows and how long chat history is kept, and switch off exports and data feeds. The ledger and audit log are always kept.
Support on your terms
No standing access. If you want hands-on help, invite a named engineer as a guest with a time-limited role, and revoke it when done.
Logs in your workspace
Container logs and diagnostics go to Log Analytics and Application Insights in the same resource group.
A trust center inside the product.
The trust center checks 15 security controls live in your deployment, maps each one to the SOC 2 criteria and ISO 27001 controls it supports, and produces a controls report as a PDF.
It is a self-assessment that helps your auditors, not an audit opinion. Ask us for our current certification status.