Public source · Self-hosted

Ship your SaaS without reforging the basics.

Customer accounts, teams and permissions, billing-ready org structures, and a real support inbox — the unglamorous half of every SaaS, already built. Spend your fire on the product.

Afternoon to launch
1
Infrastructure
Yours
Customer orgs
Hammer strikes
Pending

Accounts, done on day one

Signups, logins, invitations, ownership handoffs, and clean account deletion — the table stakes nobody enjoys building twice.

Teams shaped like real companies

Your customers have subsidiaries, departments, and agencies-with-clients. Model the real structure — access flows down the tree on its own.

Support without the extra SaaS bill

Customers email you; you get organized, threaded tickets in the same product. Cancel the third-party help desk.

Trust

One customer can never see another's data.

The mistake that kills a SaaS isn't downtime — it's tenant A seeing tenant B's invoices. ManyForge enforces isolation twice, independently, so a single bug can't cause a breach. Walk into enterprise security reviews with a straight answer.

Every action lands in an append-only audit trail — “who did what, when” is always one query away.

requestprincipal JWT
WALL Iservice-layer
predicates
WALL IIpostgres
RLS
tenant
data

Support desk

Meet customers where they already are: email.

No portal to log into, no widget to install. Customers just email you — and your team sees organized, threaded conversations with full history. Replies go out from your own domain, so it looks like you, not a help desk vendor.

  • Nothing lost or duplicated
  • Replies from your domain
  • Full thread history
Illustrative support conversation

#1042 — Can't invite a sub-business owner

Open

Hi — inviting an owner to our subsidiary fails with a 404. The parent works fine?

via mail@acme-holdings.test ·

That 404 is deliberate — unknown and unauthorized look identical. You need invitations:create on the subsidiary itself.

reply · DKIM-signed ·

Quickstart

From clone to running product in an afternoon.

Start the API with a seeded demo company, then launch the dashboard. The full setup guide covers the local database, secrets, and dependencies.

Requires Go 1.25.5+, PostgreSQL 16, Docker, make, sqlc, golang-migrate, and Node.js for the dashboard.

Read the full setup guide
After cloning and configuring your local environment

# after configuring .env and starting PostgreSQL

set -a; . ./.env; set +a
make migrate && make generate
make dev # API :8080
go run ./cmd/seeddemo # another configured terminal
npm --prefix web start # dashboard, separate terminal

Illustrative startup output

msg="http listening" addr=:8080
msg="smtp receiver listening" addr=:2525
msg="outbox worker started" · the forge is lit