Docs
How Tofu works
Describe an app to Tofu’s cloud coding agent, or send the code your own coding agent wrote: either way it is checked, built and put online at its own address. Here is how, and what is deliberately not built.
Start here
You can start in the Tofu builder. Every page covers what the builder, the dashboard and your coding agent do, because all three drive the same work.
Tofu builder
Describe an app and the cloud coding agent builds it in a private workspace, then puts it online when you say so.
Sessions and plans
What a session is, the time each plan includes, the conversation each app keeps, and asking without a session.
Put it online
From the builder to the app’s own address: Tofu’s checks, Free, Starter or Pro, the size limits, and what comes after.
Deploy an app
Import, detection, the check, the build and the result your agent reads back.
ingestdetectsetFrameworkdeploy
Connect your agent
The local client, the one browser approval, and every tool it exposes.
loginfinishLoginconnectionStatus
Use in Claude or ChatGPT
Add Tofu to a chat by its address, approve it once, and what stays in the dashboard.
ingestFilesingestAttachmentingestPublicRepositoryaccount
Database
A managed Postgres created with the deploy, your migrations in the build.
databaseCreatedatabaseStatusdatabaseReconciledatabaseDelete
Sign-in & email
Google sign-in with one line, and sign-up mail from the app’s own name.
appAuthStatusappAuthConfigureappAuthEmailStatusappAuthEmailConnect
Environment variables
Names in Tofu, values write-only at the host, and what an import assumes.
listEnvsetPublicEnvdeletePublicEnvmanageEnvironment
Payments
Your own Stripe account, connected once: payment links, your app told who paid, test cards first.
appPaymentsStatusappPaymentsConnectappPaymentsSetupappPaymentsLinkCreate
Domains
Your own hostname with HTTPS, proven by a record Tofu reads back.
domainsdomainConnectdomainAuthorizedomainVerify
Analytics
One first-party counter per app: no cookie, no stored IP, no vendor script.
siteAnalyticssetSiteAutoInject
Limits
What Tofu hosts, the quotas, and what is deliberately not built, in one place.
One delivery, end to end
The builder, the dashboard and your coding agent drive the same work: check the code, build it, and publish only a build that passed a health check.
Import
Code arrives from the Tofu builder's Put it online, from your coding agent (
ingest), from a chat that writes the files, or from a GitHub import. An update replaces the same app's code and keeps its settings.Detect
Deterministic — no model call, no network — returning a preset for you to confirm.
Check
Deterministic rules over the exact files about to go online: only harm to other people or to Tofu stops a deploy.
Build and publish
A
READYbuild must answer an anonymous HTTP request before the address moves, and a failure leaves the previous version serving.
{
"status": "ready",
"managedUrl": "https://franks-kitchen-3f9a1c07b2e4.trytofu.app/",
"serving": true,
"publiclyReachable": true,
"verification": {
"access": "public",
"httpStatus": 200
}
}publiclyReachable is true only when an anonymous request was served — the answer to “can a visitor open it now?”Each step, the presets and the result your agent reads back are on Deploy an app.
Limits, and what Tofu does not do
The Free plan and the paid plans are open to everyone. For a contract, invoices or an uptime commitment (an SLA), tell us what you need.
What Tofu hosts. Request-driven web apps: a static site, one of the web framework presets, a Python, Go or JavaScript server app, or an app that ships its own container file. Each request is answered and the app scales to zero in between, so a background worker, an always-on scheduler of the app's own, a non-HTTP service or anything that has to outlive a single request has no path here. The way forward is a request-driven equivalent (the work behind one request, or a schedule outside the app calling it; a
cronsentry in the app's own hosting configuration does not register) or running that process yourself somewhere it can stay up.Quotas are enforced before the work. Free has 1 app online at a time, the pages you publish and the code behind them, with 20 uploads and 20 deployments a day; a Free website can be up to 50 MB and 500 files, and an app that runs on a server can be sent as a project up to 50 MB. Starter publishes up to 5 apps with 50 uploads and 50 deployments a day. The Pro plan publishes unlimited apps with 200 uploads and 200 deployments a day. The Tofu builder's cloud coding agent is 30 minutes a day on Free, 2 hours a day on Starter, and unlimited on the Pro plan with one active session at a time (Sessions and plans). No plan has a token limit, and the fair use rules in the Terms apply. On Free, each request to your app runs for up to 60 seconds; the paid plans allow longer requests.
Not built yet. Notifications, the itemized deep-scan report, domain purchase, credential rotation, and analytics export.
Not done to your app. Tofu changes your code only when you ask the cloud coding agent to in the builder. It runs your app’s own migrations only where your Database page says so, writes no DNS without an approval you gave on your DNS provider’s own screen, and asks for no hosting-provider credentials.
Leaving. Your code and data stay yours: cancel and delete your projects. The uploaded source archive stays in private storage until you ask us to erase it, and a managed database is kept for you, with its transfer arranged on request. An app’s conversation in the Tofu builder is deleted when you delete the app there.
Everything above describes what is switched on today. An area the dashboard marks Soon is planned, and does nothing until it is built.
Décrivez une application, ou apportez celle que votre agent a créée. Tofu la met en ligne.
Fonctionne avec tout agent de codage
Ressources
Comparer
© 2026 Tofu
trytofu.ai
Traduit de l’anglais. En cas de divergence entre les deux versions, l’original anglais fait foi.