Data ownership
Your sources and drafts live in your own Convex database. Nobody else can read them.
Self-host
opentopost is open source. Run your own copy on Convex and Kinde, and every source, idea, draft, and key stays in your own accounts.
Your sources and drafts live in your own Convex database. Nobody else can read them.
The hosted limits do not apply. Add every team, source, and MCP server you need.
Kinde runs sign-in for your copy. Turn on SSO, MFA, and roles for your team.
Setup
Clone and install
npm install.Create a Convex project
npx convex dev. It creates the project and writes your Convex URL to .env.local.Create a Kinde application
/api/auth/kinde_callback as the callback URL, then copy the values into .env.local.Set three Convex values
KINDE_ISSUER_URL, KINDE_CLIENT_ID, and SECRETS_MASTER_KEY with npx convex env set.Start the app
npm run dev, create an account, and add a model key.Compare
Both run the same code. The difference is where it runs and who sets the limits.
| Setup | Hosted | Self-hostedRecommended for teams |
|---|---|---|
| Setup time | Under 5 minutes | About 10 minutes |
| Where data lives | Our Convex deployment | Your Convex deployment |
| Workspaces | 1 | Unlimited |
| Members | 5 | Unlimited |
| Scheduled scans | Once a week | Your choice |
| Sources | 2 | Unlimited |
| MCP servers | 1 | Unlimited |
| SSO, MFA, and roles | × | |
| Cost | Free | Free plans on Convex and Kinde |
Getting started
Everything you need is in the repository README.