Talk to Data
Security & Trust Overview · for security review · print to PDF
Talk to Data
Security & Trust Overview · for security & procurement teams
Security Overview

Built to be safe on real company data.

A summary of the controls a security reviewer needs. The core principle: the AI authors SQL but never executes anything unchecked — every query is validated and row-level-security-filtered before it runs.

How a query is secured (data-flow)

Question → tenant gate (dataset/agent must belong to caller's org) → AI generates SQL → Static validation (SELECT/CTE only, keywords blocked, ≤5 JOINs, row cap) → row filters injected (application-layer) → execute (pooled, read-only) → column masking → result. The model has no direct database access.

Controls

Read-only SQL enforcement

SELECT/CTE only; INSERT/UPDATE/DELETE/DROP/ALTER/CREATE/TRUNCATE/EXEC blocked; multi-statement rejected.

Tenant isolation (multi-tenant)

Every company is a separate organization; every row carries an org ID. Reads filter by org, writes stamp it — one tenant can never see another's data. Enforced in code and guarded by an automated isolation test suite in CI.

Row filtering & column masking

Within a tenant, application-layer per-user/role WHERE filters injected at query time; column masking for sensitive fields. (Application-level, not database-native RLS policies.)

RBAC & groups

5 roles, 21 granular permissions, fully editable; UI driven purely by permission checks. Users can belong to multiple groups within their org.

Agent Governance

Admins control which groups may access each AI agent (chat & autonomous). Default is open to the org; restrict an agent to specific groups and access is enforced everywhere it's used, with a per-user access report.

Immutable audit log

Insert-only record of sensitive actions (no update/delete endpoints): actor, action, resource, IP, timestamp.

Authentication

JWT + bcrypt; timing-safe comparison; refresh-token rotation; SSO via Google/Microsoft/OIDC; optional MFA (TOTP, standard authenticator apps) with single-use recovery codes.

Session hardening

15-minute idle auto-logout, cross-tab sign-out; single-use, 1-hour, anti-enumeration password resets.

Sensitive-data filtering

password, api_key, secret, token, ssn, credit_card auto-stripped from all results.

Rate limiting & input sanitization

30 req/min per IP + 60/min per user on chat; HTML/JS stripped, input capped.

Secrets & transport

Config via environment variables only; connector credentials encrypted & masked; CORS locked to configured origin.

Dependency posture

0 known vulnerabilities across server & client; daily npm audit snapshots monitored in-app.

Backup & restore, tested

Point-in-time database restore verified end-to-end against production (not just "backups run") — daily snapshots retained 14 days.

Data handling & AI

Data stays in your systems

Connectors query live over pooled connections; results aren't warehoused by the platform.

Bring your own AI key

Model calls use your provider keys; you control the AI vendor relationship and data-processing terms.

MCP access is authenticated per user and governed like the app

The hosted MCP server (Claude Desktop / Cursor / Kiro) authenticates each connection with a revocable per-user token — never a shared database connection string. Because the session resolves to a specific user, the same governance as the web application applies: organization isolation, plan entitlements, agent access rules, row-level filters and column masking, read-only validated SQL, and audit-log entries for every call. AI-powered tools run on the customer's own AI key (BYOAK). Each MCP tool can also be toggled on or off in Governance. (The raw-dataset AI tools are limited to the local operator mode; hosted tenants use the governed query_agent path.)

Bottom line for reviewers: Each customer's data is isolated in its own tenant (org-level row isolation, CI-tested); AI is constrained to read-only, validated, RLS-filtered queries — in both the web application and the hosted MCP server (which authenticates per user and applies the same row/column filters, agent access and audit logging); all sensitive actions are audited; auth and session controls are enterprise-grade; and dependencies are clean and continuously monitored.
Note: This is a controls summary, not a formal attestation. We do not currently hold a completed SOC 2 or ISO certification — the controls described here are real and implemented (several CI-verified), and the platform is built to be ready for a formal audit. A security questionnaire and a data-processing addendum (DPA) are available on request as part of procurement; a SOC 2 report is not yet available.
Talk to DataSecurity & Trust Overviewtalk-to-data.com