datajoi. Docs

Security

How datajoi limits what agents and queries can do, and what is recorded.

#Agents cannot act alone

Every consequential change is a proposal a person approves. Always-human action types (such as the schema contract that decides what enters your lake) never auto-apply, and earned trust can be revoked.

#SQL is guarded

Agent-written and hand-written SQL both pass the same guard: a single SELECT only, tables limited to your workspace's allowlist, no file or network functions, and a row cap. The connection itself is read-only and locked down at the engine level, as a second, independent layer.

#Tenancy

Data, proposals, settings and audit entries are scoped to a tenant and workspace on every query. Each customer instance has its own container and storage bucket.

#Secrets and PII

Source credentials are stored as named variables and referenced by name. Columns flagged as PII are marked in the contract and across the catalog.

#Audit

Every proposal decision and every data read is recorded. A data read stores a hash of the SQL and the tables touched, never the rows.

#Your data location

Data lives as Parquet in a bucket in your instance's Cloudflare R2, in open formats. Contact [email protected] for questions about data residency, penetration-test reports or a security review.