For side projects and personal sites
- 250 submissions / month
- 3 forms
- 2 linked email addresses
- 5 MB max file upload
- 30-day submission history
Pick the plan that fits your volume. Start free, change or cancel any time — no card required to begin.
For side projects and personal sites
For growing businesses
For teams at scale
| Feature | Free | ProMost popular | Business |
|---|---|---|---|
| Monthly submissions | 250 | 10,000 | 1,00,000 |
| Forms | 3 | 50 | 500 |
| Linked email addresses | 2 | 10 | 50 |
| Integrations | 1 | 10 | 50 |
| Max upload size | 5 MB | 25 MB | 100 MB |
| Retention | 30 days | 365 days | 365 days |
| Webhook delivery log | — | ||
| Slack / Discord / Telegram | — | ||
| Google Sheets | — | ||
| Auto-responder | — | ||
| CC / BCC recipients | — | ||
| Domain allowlist | — | ||
| Priority support | — | — |
All prices in INR. Plan limits are enforced per workspace, per billing month.
If your question isn't here, write to [email protected].
Yes. 250 submissions per month, 3 forms, 2 verified recipients. No credit card, no expiry. If you stay within the limits, you pay nothing — ever.
Four layers: honeypot field, per-IP + per-form rate limits, heuristic content scoring (URL count, keyword blocklist, caps ratio), and optional Cloudflare Turnstile or hCaptcha verification. Spam submissions still save but do not trigger emails or integrations.
Yes. The repo is fully self-hostable. Bring your own Postgres, Redis, and S3-compatible object storage (Cloudflare R2, MinIO, or AWS S3), and connect a Microsoft Graph mail app for outbound email. Deploy via Docker Compose or any Kubernetes cluster.
The /submit endpoint returns HTTP 402 for new submissions once you hit your monthly cap. Nothing retries automatically — upgrade and the next submission goes through. We never silently charge overage.
Default hosting region is India (Mumbai). EU-region hosting is available on Business plans or self-hosted deployments. All submissions are encrypted at rest and in transit.
We send X-TruForms-Signature: sha256=<hex> where the hex is HMAC-SHA256 over "timestamp.body" using your per-integration secret. Verify in two lines of code — see the docs.
Yes. Cancel converts your workspace back to the Free plan at the end of the current billing period — your data stays put and remains queryable, just within Free-tier limits.