Privacy Policy
This policy describes what ChatAI CRM stores, who else it is sent to, and how long it is kept. It was written by reading the software, not a template — where a section names a retention period or a field, that is what the code does today.
Last updated:
Placeholders to complete before publishing
The details below could not be verified from the codebase and are deliberately left blank rather than guessed. Every one of them appears in the page marked like THIS:
- Full legal entity name and registered office address of the operator
- Company registration number (CIN) and GSTIN
- The monitored mailbox for privacy requests, and the name and contact details of the Grievance Officer required under India's DPDP Act
- Hosting provider and region, and the transactional email provider
1. Who is responsible for what
ChatAI CRM is operated by [LEGAL ENTITY NAME], [REGISTERED OFFICE ADDRESS] ("we", "us"). In this policy, customer means the business or agency that holds an account, and visitor means someone who chats with a customer's assistant on the customer's website.
The split matters, because it decides who you should write to:
- Account data — the names, emails and billing details of the people who hold ChatAI CRM accounts. We decide how this is handled, so we are the controller.
- Conversations, and the contact details a visitor leaves — this belongs to the customer whose website the assistant is embedded on. They choose what their assistant knows, what it asks for, and how long to keep it. We process it on their instructions. If you are a visitor asking for a transcript to be corrected or erased, ask that business first; we will act on a request sent to us and will tell the customer.
2. What we store
Account and workspace
- Name, work email, company, and role. Accounts require a verified business email.
- Passwords are stored only as an argon2id hash. We never hold the plaintext and cannot recover it for you.
- The country your workspace was created from, and the currency pinned from it. This is worked out once, at signup, from the network-level country your request arrived with — we do not re-check it later, so a customer who travels does not see a different price list.
- Billing records: plan, invoices, invoice line items, payments, and usage counts. Card numbers are handled by the payment gateway and never reach our servers.
Content you add
The website URLs we crawl for you, the documents and text you upload, and the extracted passages ("chunks") those are split into so the assistant can retrieve them. Whatever you put in there is what the assistant can quote to a visitor, so treat the knowledge base as public-facing.
Conversations and messages
Each conversation stores the assistant it belongs to, an opaque session token for the browser, the channel, a message count, status, the detected language, and any name, email or phone the visitor supplied. Each message stores the role (visitor or assistant), the full text, the citations shown beneath an answer, the AI disclosure wording the visitor was shown, any thumbs up or down, and — for assistant messages — the model that produced it and its token and cost figures.
Transcripts are kept because the customer needs them: to check what their assistant told a visitor, to investigate a disputed answer, and to see which questions it could not answer. None of that is possible from a deleted record.
Leads
When a visitor leaves their details, a lead record stores the name, email, phone and language, a status, and — importantly — the exact consent wording shown and the time consent was given. We store the wording rather than a tick, so that "what was this person actually agreeing to" is answerable later.
Technical and audit
- IP address and request metadata, used for rate limiting and abuse prevention.
- An audit log of significant actions in the dashboard: who did it, what they did, the target, their IP, and whether they were acting through support impersonation.
3. AI providers
Answers are generated by third-party AI providers. We want to be plain about this, because a privacy policy that omits the company doing the actual processing is worse than no policy at all.
To answer a question, we send the visitor's message, the recent turns of that conversation, and the passages retrieved from your own knowledge base to one of a small set of providers: OpenAI, Anthropic, Google and xAI. Which one answers a given message depends on which providers are configured and available at that moment; the provider and model that produced each answer are recorded against the message. We hold the provider accounts under their business terms — you do not supply a key, and your content is sent under our contract with them, not yours.
Two things follow from how the product is built. Answers are composed only from the material you added: when nothing in your knowledge base clears the similarity floor, the assistant says so in a fixed, pre-written sentence and offers to take the visitor's contact details, rather than asking a model to improvise. And every conversation opens by telling the visitor they are talking to an AI assistant — you can reword that notice, you cannot switch it off.
4. Voice
Voice is off by default and is enabled per assistant, on plans that include it. When a visitor speaks to an assistant that has it switched on:
- The recording is sent to OpenAI for transcription. We do not store the audio. It is held in memory for the length of the request and then discarded.
- The transcript is stored as an ordinary visitor message, and is answered by the same grounded pipeline as typed questions, with the same floor and the same citations.
- The spoken reply is synthesised by OpenAI and returned to the browser to play. That audio is not stored either.
- The duration of the recording is used to meter the exchange against your plan's message allowance.
5. Diagnostics and error reports
Answer diagnostics
For each answered message we keep a diagnostic record: the question, which passages retrieval found and what they scored, the similarity floor in force, and which models were asked. It exists so that "it gave a wrong answer last Tuesday" is an answerable question. Two limits are worth stating:
- The text of the retrieved passages is not copied into it — only enough to identify the passage and its score.
- It is deleted automatically 45 days after it is written. The purge runs off the write path rather than a scheduled job, so the limit holds even if nobody remembers to schedule anything.
These records are visible to platform staff only. They are not exposed to customers or agencies, because a score reveals how retrieval is tuned and a model name plus token counts reveals an agency's resale margin.
Crash reports
Error reporting is optional and off unless a report destination is configured. When it is on, every report is scrubbed before it leaves our servers:
- Request bodies, cookies, environment and query strings are dropped whole, not trimmed — that is where a visitor's message text would otherwise sit.
- Local variables are stripped from every stack frame, because that is where the visitor's question, a decrypted provider key and a lead's email all sit at the moment something fails.
- Authorization and cookie headers are replaced.
- Remaining free text is rewritten by pattern: API keys, bearer tokens, JSON web tokens, email addresses and phone numbers.
- User identity is removed from the report entirely.
The scrubbing is deliberately blunt and over-redacts. Over-redacting an innocent string costs a support engineer a question; under-redacting sends somebody's phone number to a third party.
6. Other subprocessors
We do not sell personal data. Besides the AI providers named above, data is handled by:
| Purpose | Provider | What it sees |
|---|---|---|
| Hosting and database | [HOSTING PROVIDER AND REGION] | All stored data |
| Transactional email | [EMAIL PROVIDER] | Recipient address and message content |
| Payments (India) | Razorpay | Billing identity and payment details |
| Payments (elsewhere) | Stripe | Billing identity and payment details |
| Answer generation | OpenAI, Anthropic, Google, xAI | The question, recent turns, and retrieved passages |
| Voice transcription and speech | OpenAI | The recording, and the reply text to be spoken |
Access inside the product is scoped by tenant: an agency reaches only its own clients' data, and a client reaches only its own. We also disclose data where the law requires it.
7. Retention, export and deletion
Account data, knowledge bases and transcripts are kept for as long as the account is active, except for the diagnostic records described above, which expire after 45 days, and rate-limit counters, which expire within minutes.
Export
A workspace can export its own data from the API: the account record, every assistant, every conversation with its full message history, and every knowledge document with its extracted passages, as JSON. Because that export is every visitor conversation the workspace has ever had, verbatim, it requires the same permission as deletion — and each export is written to the audit log with the IP it came from.
Deletion
A workspace can erase itself from the dashboard. It is guarded three ways: the permission to do it, the acting user's own password, and typing the word DELETE. There is no undo.
What that action destroys: every assistant in the workspace, every conversation and message in it, every knowledge document and extracted passage, and the crawl jobs behind them.
What it does not destroy, and you should ask us if you need it gone: lead records captured from your conversations, invoices and billing records that we are required to retain for accounting and tax, and audit log entries. Write to [PRIVACY MAILBOX] and we will complete deletion within 7 days, except where the law requires us to keep a record.
8. Children
ChatAI CRM is a business product; account holders must be adults. But our customers include schools, whose website visitors may be children.
An assistant can be marked child-facing. In that mode it will not collect a name, email or phone number from a visitor — the request is refused by the API, not merely hidden in the widget. India's DPDP Rules require verifiable parental consent before a child's personal data is processed, and a tick-box asking someone to declare their age is not verification. So we do not try to verify: a child-facing assistant answers questions and collects nothing.
9. Security
- Passwords hashed with argon2id; provider credentials encrypted at rest.
- TLS in transit.
- Per-tenant scoping on every query, so one customer's data is not reachable from another's session.
- Rate limiting on public chat endpoints, an allow-list of the origins a widget may be embedded on, and an audit trail of privileged actions.
No system is perfectly secure, and we would rather say that than imply otherwise.
10. Your rights
Depending on where you live you may have the right to access, correct, export or delete your personal data, and to object to some processing. Use the export and delete tools in the dashboard, or write to us.
Under India's Digital Personal Data Protection Act you may ask us for a summary of the personal data we process about you, ask for correction or erasure, nominate someone to exercise these rights on your behalf, and raise a grievance. Grievances go to the Grievance Officer, [GRIEVANCE OFFICER NAME AND CONTACT]. We will acknowledge within 7 days.
If you are a visitor to a customer's website rather than an account holder, see section 1 — that business decides what happens to your conversation, and asking them is usually faster.
11. India: GST and pricing
- Prices are charged in INR for customers in India and in USD elsewhere. The currency is decided at signup from the country the account was created in, and pinned to the workspace — it does not change later.
- Indian invoices carry 18% GST, along with your GSTIN if you have given us one, the place of supply, and the SAC code for the service. Exports of service are zero-rated under LUT, and the invoice states that reason rather than showing an unexplained zero.
- Billing identity is frozen onto each invoice at the moment it is issued, so a later change to your registered name does not silently restate last year's invoices.
- Our own GST registration: [GSTIN]. Registered company number: [CIN].
12. Changes and contact
We may update this policy. Material changes will be notified by email or in the dashboard, and the date at the top of this page will change.
Questions about this policy, or a request to exercise your rights: [PRIVACY MAILBOX].