FOR HUMANS YOU ARE HERE
HELP · OWNERSHIP
FOR CUSTOMERS ASKING "WHERE’S MY CODE?"
2026

YOUR APP. YOUR DATA. YOUR CHOICE.

Your data is portable. The platform is what you pay for.

For customers asking what happens to my app and data if ERP.AI isn’t in the picture. Short answer: your data is portable by design, your schema is open, and a code export is available as a contracted capability. The longer answer, security, operations, compliance, and what an export actually contains, is what this page is about.

Standalone repo Your Postgres, your auth Deploy anywhere
Where's My Code

The
Shape
Of The
Repo .

A conventional codebase when a code export is scoped.
Readable, reviewable, forkable. No engine binary. No callback home.

terminal: bash
# Export your tenant as a standalone repo
erpai export --target react-postgres --out ./my-app

# What you get
my-app/
├── apps/web         # React + TypeScript
├── apps/api         # Node + Postgres
├── migrations/      # plain SQL DDL
├── auth/            # Supabase / Auth0 / Clerk adapter
└── README.md
Push to your GitHub. Deploy anywhere. Yours
Surface By Surface

Where's My Data · Auth · App

01

Your Database

Postgres. Supabase-compatible schema. Tables, columns, constraints, row-level security, all plain SQL, checked into /migrations. Point the exported app at any Postgres you want: Supabase, RDS, Cloud SQL, self-hosted, on-prem. Your data never lived in a proprietary store. It lived in Postgres the whole time. What changes after export: backups, snapshots, disaster recovery, encryption-at-rest, point-in-time restore, failover, and data residency compliance all become your team’s responsibility rather than ours.

psql $DATABASE_URL < migrations/0001_init.sql
02

Your Authentication

Pluggable at export time. The auth layer is a thin adapter, swap between Supabase Auth, Auth0, Clerk, Cognito, Okta, Entra ID, or your existing SSO by replacing one module. Identity lives in your IdP. Always did. The default target is Supabase Auth because it maps cleanly to RLS, but nothing is hard-wired. What the engine handled silently, now yours to own: token rotation cadence, session hijack detection, MFA enforcement, brute-force protection, SSO claim mapping, CSRF tokens, OAuth refresh flows, and the hundred small hardening choices that separate a login form from an authentication system.

auth/provider = supabase | auth0 | clerk | okta
03

Your Hosting

Two supported paths. Deploy one-click on build.host: bring your own Postgres, your own auth, your own domain; we operate the box and you own the stack. Or pull it into your own repo and run it anywhere: Vercel + Supabase, Docker + RDS, on-prem Kubernetes. It's a normal repo. No special runtime required. Self-hosted means self-uptime too: autoscaling, queue workers, cache invalidation, log aggregation, alerting, pager rotations, incident response, regional failover, CDN config, DDoS absorption, and a 24/7 on-call your business didn’t need when we ran the box.

deploy → build.host · vercel · fly · docker · k8s
Where Do I Run It

Deploy
Any­where
You Want .

A conventional React + Node repo. If your team already ships Node/Postgres apps, they already know how to ship this one.

build.host managed
# One-click deploy. Bring your own:
#   · Postgres (Supabase, RDS, etc.)
#   · Auth provider (Auth0, Clerk, ...)
#   · Domain

build.host deploy ./my-app
  → https://acme.build.host
Vercel + Supabase serverless
# Frontend → Vercel. Database → Supabase.
# Auth → Supabase Auth (default adapter).

git push vercel main
supabase db push ./migrations

  → https://acme.vercel.app
AWS (RDS + ECS) yaml
# Postgres on RDS. API on ECS Fargate.
# Static frontend on S3 + CloudFront.
# Auth via Cognito or Okta.

aws ecs update-service \
  --service my-app-api \
  --force-new-deployment
Docker Compose yaml
services:
  web:      { image: my-app/web, ports: ["3000:3000"] }
  api:      { image: my-app/api, ports: ["8080:8080"] }
  postgres: { image: postgres:16, volumes: [pg:/data] }

docker compose up -d
  → http://localhost:3000
Kubernetes (On-Prem) yaml
# Your cluster. Your air gap. Your rules.
# Auth behind your SSO (Entra, Okta, Keycloak).

kubectl apply -f ./deploy/
helm install my-app ./chart

  → https://erp.internal.corp
Your Repo. Your CI. bash
# Clone. Push. Review. Ship.
git remote add origin [email protected]:acme/erp.git
git push -u origin main

# Your CI, your review process, your rules.
# ERP.AI is no longer in the critical path.
Data In Motion

Proto
Moves
The Data .

Exporting isn’t a big-bang migration.
It’s a continuous capability you already have.

Proto, the agent runtime underneath ERP.AI, can stand up the pipelines that stream your data out of the engine and into anywhere you want it. Your warehouse, your lake, your replica, your regulator’s evidence bucket. You describe the destination; Proto builds the flow.

proto: data movement patterns
  • 01
    One-shot batch export
    Point-in-time snapshot delivered to S3, GCS, Azure Blob, or any SFTP target. Parquet, JSON, CSV, or pg_dump. The format your team already ingests.
  • 02
    Continuous mirror
    Change-data-capture into a Postgres replica you control. Your read-models, your reporting, your disaster-recovery, fed live, while the engine keeps running.
  • 03
    Warehouse streaming
    Rows flow into Snowflake, BigQuery, Redshift, Databricks, ClickHouse, whichever stack your analytics team uses. Schema drift handled; you see columns, not JSON blobs.
  • 04
    Scheduled compliance dumps
    Signed, timestamped snapshots to your evidence bucket on the cadence your auditors require. Retention policy and hash chain preserved.
  • 05
    Full migration when it’s time
    Acquisition, divestiture, regulator-driven self-hosting, whatever the reason, the combination of an exported repo and Proto pipelines gets you to a running, owned stack. We’ll scope the work with your team.
Scope and schedule depend on volume and contract, planned with your account team. Proto Ready
The Biggest Trade-Off

Security
Is The Part
Nobody
Screenshots .

Running your own app security is hard.
Running your own AI security is harder.
Both at once, in production, at speed, is where most self-hosts quietly fail.

An exported repo is a snapshot. Security isn’t. Attack techniques, patched CVEs, model jailbreaks, prompt-injection vectors, data-exfiltration patterns, OAuth edge cases, token-leak primitives, the threat landscape moves every week. When you run on the engine, three things absorb that movement for you: a dedicated security team, a graph-based authorization model, and an internal research program studying graph neural networks for exactly this class of problem. When you export, that movement stops being absorbed. It starts arriving at your team.

The engine is, in a meaningful sense, a living security perimeter. ERP.AI’s authorization model doesn’t operate as “do what the user typed.” It operates over your permission graph. Every action, query, or tool call is resolved against what that specific identity is allowed to touch. A prompt-injected instruction to “export all invoices” doesn’t succeed because the AI “decided not to.” It fails because the graph edges aren’t there.

Our internal GNN research program is how we keep tightening those bounds: learning edge-importance scores over authorization graphs, detecting anomalous traversals before they complete, and hardening the system against the next class of attack rather than the last one. Reproducing this in an exported codebase is possible. It is not cheap. And it is not a one-time project.

Graph-Bounded AI

Every AI action resolves against your identity’s permission graph before execution. Prompts can’t escalate privileges, because privileges aren’t text. They’re graph edges. Active GNN research continuously sharpens how tightly those edges are drawn. Self-host this and you rebuild it yourself, per feature, per endpoint, without the research backing it.

Prompt-Injection Hardening

Content fetched from records, attachments, or external sources is quarantined before it reaches a model. Your exported stack inherits none of this. Hardening against indirect prompt injection in customer data is a research problem your team now owns.

Data-Exfiltration Bounds

Tool outputs, log streams, and model context are scoped at the graph layer so an agent can’t “summarise” its way around RLS. After export, preventing model responses from leaking data the user doesn’t normally see is on you.

Continuous Patch Cadence

Every week, new CVEs land across the Node, React, Postgres, and LLM ecosystems. On the engine, mitigations reach your tenant without you noticing. On an exported repo, mitigations reach you when your team has time to read release notes, which is rarely the same week.

Audit & Compliance Posture

Tamper-evident audit trails, per-record access logs, retention policies, right-to-be-forgotten workflows, and the evidence your auditors ask for all live inside the engine. After export, recreating this for SOC 2, ISO 27001, HIPAA, or GDPR is a programme of work, not a config change.

A Dedicated Security Team

The engine is defended by people whose job title is “defend the engine.” They run red-team exercises, triage advisories, wake up when something’s burning, and work alongside an in-house GNN research program dedicated to hardening graph-based authorization against new jailbreak classes. Hiring and retaining an equivalent team internally is many line-items you currently don’t pay.

A code export delivers the repo. The platform delivers the sleep. Most teams underestimate the second until they have to staff it themselves.

What We Tell Customers Weighing A Code Export

Your data is a right. The code is a capability of the platform we operate.

The Ownership Principle
The Principle

Why The Engine Still Earns Its Place

An ERP.AI subscription is a subscription to work done continuously on your behalf. Four specific categories of work:

  • GNN-backed security. A permission-graph authorisation model, prompt-injection quarantine, data-exfiltration bounds, and an active graph neural network research programme that tightens those bounds as new attack classes emerge.
  • Cloud that meets the SLA. Enterprise-grade uptime, patched continuously, defended by a named security team, with the incident response and audit evidence compliance teams already require.
  • The platform itself. A compiler from structured intent to running app. Proto for agentic workflows and data movement. The composition engine that lets a schema change propagate through UI, API, permissions, and agents in seconds instead of sprints.
  • An AI that maintains your code. Models improve; your app improves with them. New integration patterns, better ergonomics, fresher frameworks. Absorbed into the running system rather than queued as upgrade work for your team.

Your data is portable by design, schema open, format standard, movement handled by Proto. That part is a right. The compiled code is the platform’s craft, and a code export is a contracted capability: real, available, and scoped with your account team when the situation calls for it. Acquisitions, divestitures, regulatory self-hosting mandates, strategic decisions to in-house entirely. Those are the moments a code export earns its keep, and we execute them cleanly on the terms in your contract.

The pattern is consistent across every customer that has examined this seriously: the subscription is held because the four categories of work above are hard to replicate in-house, expensive to replicate at speed, and impossible to replicate as continuously. Stay for the platform. Keep the data portable. Negotiate the code export as the commercial event it is. That is the recommendation we stand behind for the overwhelming majority of deployments.

The Honest Part

Trade-Offs You Should Know

You're On A Fork

The moment you export, your repo is frozen in time. New ERP.AI capabilities, model upgrades, richer workflows, improved agents, don't land in your codebase automatically. You maintain it from there.

Conversation-Speed Iteration Ends

The "just tell me what to change" experience is what the engine provides. After export, changes happen in code: pull requests, review, deploy. Powerful, but no longer editable by prompt.

Automations Translate, Not Copy

Workflows and agent actions convert into conventional backend handlers your team can read and modify. That's the whole point. But it means you're now maintaining orchestration code that the engine handled for you.

You Own The Ops Burden

Uptime, patching, backups, scaling, security updates, dependency bumps, all yours. On build.host we run the box for you; elsewhere, your ops team inherits the full stack. Budget for that before you export.

Insurance, Not Daily Target

Most customers stay for the platform and keep the data portability as an absolute right. A code export is scoped when the situation calls for it, acquisition, divestiture, regulatory mandate, and delivered under the commercial terms in your contract.

When Export Is The Right Call

Compliance reviews, security audits, acquisition due diligence, a divestiture that forces a new stack, a strategic decision to in-house the app entirely. For those moments, the export is ready. For everything else, stay on the engine.

The platform earns its place because the four things it does, GNN-secured AI, cloud-scale operations, structured-intent compilation, and continuous AI-maintained code, are demonstrably harder, slower, and more expensive to replicate in-house. Your data stays portable. The rest is what the subscription is for.

In Plain Language

Postgres keeps your app running. The platform keeps it improving.

Your subscription to ERP.AI is a subscription to four things at once: a GNN-backed security model that hardens AI actions against the attack classes that keep CISOs awake; a cloud operated to enterprise uptime standards, with the security team, patch cadence, and incident response that go with it; a platform that compiles your app from structured intent rather than hand-written code; and an AI that continuously maintains that app, absorbing schema changes, upgrading integrations, adopting new patterns, and shipping improvements as the model and the platform evolve. Your data is yours, exportable by design. The rest is the work the platform does on your behalf, for as long as it is on your behalf.

Questions about export, data movement, security, or compliance? Talk to your account team.