Skip to Content
What Foir Replaces

What Foir Replaces

Standing up an application backend usually means assembling a handful of managed services — a database, an authentication provider, object storage, an email sender, a billing integration, a background-job runner — and then writing the glue and the security that hold them together. Foir is those pieces as one platform, already wired together and isolated correctly.

This page maps what you’d otherwise run yourself to what Foir gives you — and, just as important, what it deliberately doesn’t try to be.

The cost isn’t the services — it’s the seams

You can rent each of those services individually, and they’re mostly good. The expensive part is what lives between them:

  • the handoff from your auth provider to your database, and the per-tenant row rules you hand-write so one customer can’t read another’s data;
  • the signed-URL logic that keeps private files private;
  • the webhook signatures you verify on every inbound call;
  • the retry queue behind every “send the email / sync the CRM / rebuild the index” side effect;
  • the token minting, rotation, and revocation that ties it all to a session.

Every seam is a place to get security or correctness wrong, and if you run more than one app you rebuild all of them each time. Foir owns the seams so you don’t.

The mapping

Instead of running…Foir gives you
A managed Postgres database + a hand-built data APIModels & Records with an auto-generated GraphQL API — typed, versioned, with drafts and scheduled publishing
Row-Level Security you author and maintain per tenantDatabase-enforced authorization — tenant→project isolation, per-record visibility, ownership, and sharing, applied below your code so a forgotten filter can’t leak data
An authentication provider (accounts, OAuth, sessions, hosted login)Customer Authentication and Login with Foir — email/password, one-time codes, OAuth, and a hosted login UI on your own custom domain
Object storage + an image CDN + a video pipelineMedia & Files — uploads, on-the-fly image transforms, video streaming, and signed access to private files
A transactional email serviceBuilt-in email and notifications
A billing / subscriptions integrationBilling — plans, subscriptions, checkout, and usage metering
A background-job runner, cron scheduler, and queueOperations, Lifecycle Hooks, and Schedules on a durable queue with automatic retries
A webhook delivery-and-verification layerWebhooks — signed delivery to your endpoints, with retries and a delivery log
A separate search serviceFull-text and semantic (vector) search, built into the same query API

Of these, authorization is the one that’s usually hardest to get right by hand and easiest to get subtly wrong. In Foir it isn’t something you configure per project — it’s enforced in the database on every query.

For a team running more than one app

If you build for clients, or run a portfolio of products, the assembly tax multiplies: a new database, a new auth setup, a new storage bucket, a new set of secrets — and a new chance to misconfigure isolation — for every app.

In Foir, each app is its own project under one account: isolated data, its own users, its own API keys, its own domains. You stand up a new client build by creating a project, not by wiring and securing a fresh stack. One place to operate, and the isolation between them is enforced for you rather than assembled by hand each time.

What Foir doesn’t replace

Being honest about the edges matters as much as the mapping:

  • Your frontend and hosting. Foir is headless — you build and deploy your app however you like (any framework, any host); Foir is the backend it talks to over HTTP.
  • A general-purpose compute platform. Your custom server logic runs as Operations — HTTP endpoints you deploy and Foir calls — not as arbitrary code running inside Foir. You keep full control of that code; Foir handles triggering, auth, retries, and result tracking.
  • A data warehouse or BI tool. Foir is an operational store for your app, not an analytics warehouse. Export your data and report on it in a database you own; see Analytics and Reporting.
  • An experiment platform. You can serve different variants to different segments or contexts, but traffic-splitting and goal measurement are handled by your own analytics; there’s no built-in A/B framework.

If a capability isn’t listed in Features, assume Foir doesn’t do it yet rather than that it does it quietly.

See also

Last updated on