Store a customer-facing app’s data

Your app’s data, with each client limited to the entries where Client is their name. PostgreSQL enforces that limit on every request.

An example

@ADoor Set up storage for our client portal: Clients, Projects and Messages. Each client should only ever see their own projects and messages.

ADoor Started Clients, Projects and Messages. Each client’s access can be limited to the entries where Client is their name, one grant per client

Projects

ClientProjectStatusUpdated
CalderWebsite redesignIn reviewOct 20
RidgewayBrand guideIn progressOct 18

What you can ask later

  • “Which projects haven’t been updated in two weeks?”
  • “Show project status counts per client.”
  • “Who changed the Calder project status, and when?”
  • “Add a Due date field to Projects.”

Who can see what

  • Each client reads and writes only the entries where Client is their name, set once per client and enforced by PostgreSQL on every request.
  • Your team sees every client.
  • Your app’s server uses an API key limited to the lists it needs.
  • An agent that answers client questions can be limited to the one client it’s helping.

How it compares with Supabase or Firebase

Supabase and Firebase are better for apps at scale: SDKs for every platform, auth for your end users, file storage, realtime and years of production use. ADoor doesn’t publish latency figures, and Login with ADoor and its SDKs are coming soon.

Pick ADoor when access is the hard part. Every person, app and agent gets its own access down to specific fields, or just the entries that match a value you choose, an agent never exceeds the person who connected it, and the history shows every change.

How to start

  1. Open an assistant like ChatGPT, Claude, Grok or Cursor and connect ADoor through MCP.
  2. Tell it: “Set up the data for our client portal: describe each list and who should see what, then create an API key for the app.”
  3. Create an API key for your app’s server, limited to the lists it uses.

Get your account

Questions people ask

Does ADoor handle my end users’ sign-in?

Each client signs in to ADoor itself, with access limited to the entries where Client is their name. You give each client that limit when you invite them. Your app’s server talks to ADoor with its own key, limited to what it needs.

Can I use plain SQL?

Yes. Standard Postgres SQL, within each caller’s access.

How much does ADoor cost?

The free plan holds 3 tables and 100 rows, enough to start a list like this. Pro is $10 a month per workspace, with 1 GB of storage and no per-GB charges.

Can I export everything?

Yes, as CSV or JSON, whenever you want. Ask your assistant for the export or download it yourself.

Updated October 20, 2026.

This page as Markdown