Data Plane
Data Plane.
Built-in data infrastructure. Not bolted on.
Every workspace comes with PostgreSQL databases, object storage, ingestion pipelines, a SQL console, and AI-powered semantic search. No external setup. No credentials to manage. Your agents work with real data from day one.

Namespace View. Tables, object buckets, SQL, and offices — all in one place.

What Every Workspace Includes
A complete data layer. Zero configuration.
Namespaces
Isolated data domains within your workspace. Separate your customer data from product data from analytics. Full isolation at the database level.
Tables & Schema
Real PostgreSQL tables with typed columns, indexes, and constraints. Add columns anytime without disrupting live data. System columns auto-managed.
Data Sources
Webhook endpoints provisioned automatically. External services send data, we validate, transform, and insert. Live and test modes built in.
Object Storage
File buckets with signed URL access. Upload documents, images, exports. Files auto-indexed with AI descriptions for semantic search.
SQL Console
Full PostgreSQL SQL. JOINs, aggregations, window functions, subqueries. Destructive operations blocked at the AST level. Table names resolved automatically.
How It Works
Data infrastructure that agents actually use.
Not a data warehouse you need to wire up. A built-in layer that your agents and your team interact with directly — through conversation, through SQL, or through the API.

Namespaces and tables. Your data, organized.
Create isolated data domains for different projects or teams. Each namespace gets its own tables, sources, and storage — fully isolated at the database level. Tables support typed columns, auto-generated IDs, timestamps, and indexes. Add columns anytime without disrupting live data.
Ask Nova to create a table and it builds the schema from your description. Need a “customers” table with name, email, plan tier, and signup date? Describe it. Nova handles column types, constraints, and naming.

Real-time ingestion. No ETL required.
Create a data source and the system provisions a unique webhook endpoint automatically. External services send JSON payloads. The system validates, transforms via your key mapping, and inserts into the target table. Embeddings are generated in the background without blocking the response.
Test mode lets you capture payloads before going live. Inspect the shape, design your field mapping, then flip to production. CSV uploads for batch data. Webhook endpoints for real-time streams. Both write to the same tables.

Search by meaning. Not by keyword.
Every record gets vector embeddings on insert. When you search, the system expands your query with AI, generates an embedding, and runs cosine similarity against your data. “Find high-value customers that are churning” returns relevant records even if those exact words don't appear anywhere.
Works across tables and files. Upload a document and it's automatically indexed with AI-generated descriptions. Search your file storage with natural language the same way you search your databases.

Object storage. Files alongside your data.
Create buckets for images, PDFs, exports, attachments — anything your agents or team need to store. Signed URLs for secure access. Files live in the same namespace as your tables, under the same access controls, searchable with the same semantic search.
SQL Console
Full SQL. Guarded.
Write SQL using friendly table names. The system parses, validates, rewrites to actual database names, and executes. Destructive operations are blocked at the AST level. Your agents use the same SQL engine through Nova.
SELECT
Unrestricted. JOINs, aggregations, subqueries, window functions.
INSERT
Single rows or batch. System columns auto-populated.
UPDATE
Requires WHERE clause. Mass updates without filters are blocked.
CREATE TABLE
Full schema definition with types, constraints, and indexes.
ALTER TABLE
Add columns and constraints. Drop column is blocked to prevent data loss.
Validation
AST parsing, namespace scoping, table name rewriting. Destructive operations blocked.
Ingest Gateway
Every data source gets a unique webhook URL provisioned automatically. External services send payloads to your endpoint. The gateway verifies HMAC signatures, forwards to the API, applies your key mapping, and inserts into the target table. No infrastructure to manage.
Key Mapping
Different services send data in different shapes. Key mapping transforms nested JSON fields into your table columns with type coercion. Stripe sends customer.email, your CRM sends contact_email — both map to the same column.
How We Store It
Built on PostgreSQL. Scaled in the cloud.
Your data runs on PostgreSQL — the most trusted open-source database in production. Full SQL, ACID transactions, foreign keys, indexes, and the pgvector extension for native vector search. Cloud-managed with automatic connection pooling, point-in-time backups, and horizontal read scaling. Every workspace is isolated at the database level. You get the full power of Postgres without managing a single instance.
Isolated per workspace
Your data is structurally separated from every other tenant. Cross-tenant access is impossible at the database level — not just blocked by policy.
Friendly names, real schemas
You say “customers.” We maintain the schema, indexes, constraints, and metadata registry underneath. Add columns, create tables — all by name.
Vector search built in
Semantic search runs inside the database engine — not a separate vector service. Embeddings generated on insert, stored alongside your data, queried with cosine similarity.
Cloud-scaled PostgreSQL
Connection pooling, point-in-time recovery, automatic backups, and horizontal read replicas. Scales with your data. No database credentials to manage. No instances to provision.
Security
Six layers of isolation.
Multi-tenant data isolation is not an afterthought. It is enforced at every layer — from authentication through to the database engine. Webhook ingestion is HMAC-signed with replay protection and constant-time comparison.
JWT authentication
Every request verified with Firebase ID tokens. Tenant ID extracted and enforced.
Namespace context
Every operation confirms the namespace belongs to your tenant. URL manipulation blocked.
IAM permissions
Role-based access control on every route. Custom roles grant or deny data operations.
Table-level isolation
Physical table names include tenant and namespace prefixes. Cross-tenant queries impossible.
Row-level security
PostgreSQL RLS enabled and forced on every table. Defense-in-depth beyond application logic.
SQL parser validation
AST parsing validates all table references. Blocks destructive operations and multi-statement injection.
Get Started
Your data. Your agents. One platform.
Tables, storage, ingestion, search — all built in. Tell Nova what you need and it builds the pipeline.