Accounts, done on day one
Signups, logins, invitations, ownership handoffs, and clean account deletion — the table stakes nobody enjoys building twice.
Public source · Self-hosted
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.
Signups, logins, invitations, ownership handoffs, and clean account deletion — the table stakes nobody enjoys building twice.
Your customers have subsidiaries, departments, and agencies-with-clients. Model the real structure — access flows down the tree on its own.
Customers email you; you get organized, threaded tickets in the same product. Cancel the third-party help desk.
Trust
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.
Support desk
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.
#1042 — Can't invite a sub-business owner
OpenQuickstart
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 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"