Privacy Policy
What we collect, why, how long we keep it, and who else sees it.
Draft — not yet in force
apps/website/lib/legal.ts. It has not been reviewed by a lawyer.In short
We do not store the messages your users write.An execution’s trace records the shape of the conversation — who spoke and what kind of parts their turn had — and nothing they said. The exception is capability inputs and outputs, which are stored so you can debug a capability, and which often contain user text rephrased. That distinction is the most important thing on this page, so it is stated first rather than buried.
1. Information we collect
Account information. Your email address, a hashed password if you registered with one, and your plan and its expiry.
Runtime metadata. Runtime identifiers, names, versions, capability manifests, your HTTPS endpoint, allowed origins, and your API keys — stored hashed for verification and encrypted at rest so they can be shown to you again.
Execution records. For every execution we store the identifier, runtime, status, duration, token counts, finish reason, any error, and the turn structure of the conversation. We also store each capability call: its name, timing, and its input and output payloads, truncated at 64 KB.
Usage counters. Per-hour and per-day counts of executions, errors, tokens and capability calls, per runtime and project.
2. Prompt and message data
Message content is not written to our database. While an execution runs, the conversation is held in memory and sent to the model provider; when it finishes, what persists is one entry per turn recording the role and the types of its parts.
Capability inputs and outputs arestored, because they are how you debug a capability being called with the wrong arguments. Tool arguments are frequently a user’s own words rephrased, so treat a capability signature as a decision about what gets retained.
3. Authentication data
Authentication is handled by SuperTokens. Registering with an email address stores that address and a hash of your password — never the password. Signing in with Google or GitHub stores the identifier they return and the email address on the account; we never receive your password for those services.
4. Cookies
We set session cookies to keep you signed in, one preference cookie recording which project you selected, and analytics cookies only after you consent. The Cookie Policy lists every one by name.
5. Analytics
The public website uses Google Analytics. It does not load until you accept analytics cookies in the banner, and consent defaults to denied under Google Consent Mode v2. Declining leaves the site fully functional.
6. Log files
Our hosting providers record standard request logs — IP address, timestamp, path, status and user agent — for operating and securing the service. Our own application logs record request identifiers, routes, status codes and durations. We do not log message content, API keys or end-user credentials.
7. Payment information
Payments are processed by Razorpay. Card and bank details are collected by Razorpay directly and never reach our servers. We store the order identifier, amount, currency, status and any coupon used, which is what lets us grant the plan you paid for and reconcile it later.
8. Data retention
- Execution traces — 7 days on Free, 90 days on Pro. Deleted automatically when the window passes, and immediately when you delete the runtime.
- Usage counters — kept for the analytics window your plan includes, then deleted automatically.
- Account and runtime records — for as long as the account exists.
- Payment records — retained as long as tax and accounting law requires.
Deleting a runtime deletes its execution traces immediately. Usage counters survive, because they are counts rather than content and are what billing reconciles against.
9. Security
- Traffic is served over HTTPS. Runtime endpoints must be HTTPS, except localhost in development.
- API keys are stored hashed for verification and encrypted at rest (AES-256-GCM) so they can be revealed to you again.
- Requests to your endpoint are HMAC-signed with a per-runtime secret, so your runtime can verify they came from us.
- The public key can be restricted to an allowed-origins list.
- Model access runs on our own provider credential — you never hand us a third-party API key.
No system is perfectly secure. Report a vulnerability to security@cheelalabs.com.
10. Who else sees your data
We do not sell personal data. We share it only with the processors below, and where the law requires it.
| Processor | Purpose | Data |
|---|---|---|
| SuperTokens | Authentication and session management | Email address, hashed password, session tokens, OAuth identifiers |
| MongoDB Atlas | Primary database | Account records, runtime metadata, execution traces, usage counters |
| OpenRouter | Model inference | The messages your application sends for an execution, in transit |
| Razorpay | Payment processing | Payment and card details, collected by Razorpay directly — never by us |
| Resend | Transactional email | Email address, message content of verification emails |
| Vercel | Hosting for the website, dashboard, docs and blog | Request logs, IP addresses |
| Railway | Hosting for the API | Request logs, IP addresses |
| Cloudflare | DNS | DNS query metadata |
| Google Analytics | Website analytics — loaded only after you consent | Pseudonymous usage events, IP address (truncated) |
Some of these operate outside India, so operating the service involves transferring data internationally.
11. Your rights
Subject to applicable law, you may ask us to give you a copy of your personal data, correct it, delete it, or restrict how we use it. You can withdraw analytics consent at any time through the cookie banner.
You can delete runtimes and projects yourself from the dashboard. For anything else, write to support@cheelalabs.com and we will respond within 30 days.
12. Children
The service is not for anyone under 18 and we do not knowingly collect their data. If you believe a child has given us personal data, write to support@cheelalabs.com and we will delete it.
13. Contact
[YOUR FULL LEGAL NAME]
[ADDRESS FOR NOTICE]
support@cheelalabs.com