Secure agentic database platform

The database platform built for agents

Postgres with row-level security on every table, and agents that hold only the access you give them. Describe an app and watch one build it.

Build any idea, securely

Six layers built from the bottom up: data on Postgres, policy as row-level security, access through roles and grants, compute in isolated functions, apps on typed APIs, and agents with scoped keys. Every request from an agent passes through the policy layer before it reaches the data.

Trusted by the best
SupabaseNeon DBDatabricksAshbyGel DataIaSQLCharles AISeamChange Engine

275M+

Our open source SQL parsing and database tooling powers critical infrastructure at leading technology companies. Battle-tested in production across billions of queries.

01Secure

Agents can be tricked. Policies can’t.

Alex· Technician
TablejobsEntity MembershipDirect Ownership
titlesiteassigneestatus
02Agentic

Every agent gets its own key, narrower than yours

Principaljobsreadjobswritesitesreadsiteswritemembersinvite
DanaDispatcher
grantedgrantedgrantedgrantedgranted
Ops agentCut from Dana
grantedgrantedgrantednot grantednot granted
Report agentAsked for sites.write: refused
grantednot grantednot grantedrefusednot granted
POST /graphqluser_id danaprincipal_id report-agent200 OK
03Constructive Desktop

An agent that builds your app inside the rules

A replay of Constructive Desktop building Fieldwork: it plans the work, asks before it creates the tables with row-level security, and opens the app in its Preview tab.

04Database platform

Every table gets a policy you can read

  • Direct Ownership

    A row belongs to the user in its owner column, and only they can read or change it.

  • Entity Membership

    Members of the organization or team that owns a row can reach it; nobody else can.

  • Org Hierarchy

    Managers see the rows of the people below them in the org chart, and no further.

  • Publishable

    Drafts stay private to their owners; a published row can be read by anyone.

05Enforced in Postgres

Security lives in the database, not the app

  1. 01Any callerAn app, an agent, or raw SQL
  2. 02Row-level securityThe policy on the table runs inside Postgres
  3. 03Permission checksPermissions resolved ahead of time, one lookup per check
  4. 04Allowed rowsOnly what this caller may read or change
RLS on every table
Every table is created with row-level security on, and the API, the SDK, agents and SQL all meet the same policies.
Policies from templates
Named rules like Direct Ownership or Entity Membership compile into native Postgres policies you can inspect like any other.
Precomputed permissions
Memberships and capabilities are resolved ahead of time and kept in sync as they change, so a permission check stays one lookup however deep the org.
Closed by default
A new table grants nothing. A row is reachable only where a policy and a grant both allow it.
06Agentic building

Build secure apps with ease

  1. 01

    Describe it

    Write what you want in a sentence. The agent plans the build and shows you the steps before it starts.

  2. 02

    Approve your data

    Tables arrive with row-level security already on, and nothing reaches your database until you press Run.

  3. 03

    Watch it run

    The app opens in Preview beside the chat and updates as the agent works, signed in the way your users will be.

  4. 04

    Change who sees what

    Ask for an access change in a sentence. The agent adds it to the table as a named policy you can read, and it runs only when you approve it.

07Get started

Build what’s next on Constructive