Graine AI

Data and privacy

Your do-not-call list, the data requests of the people you call, how long their data is kept, and what happens when a workspace closes.

The people your agents call are your customers, and their data is yours to look after: your workspace decides what is kept and answers their requests, and Graine carries out what you decide. Workspace → Data & privacy in the dashboard has three parts, and each has an API.

Do-not-call list

A number on your do-not-call list is never dialled — by a campaign, a retry, a follow-up, the API, a scheduled call or a workflow. A contact on the list is closed as Do not call: it is not an attempt and not a failure, and it is counted on its own in your campaign's numbers and in Call History. Calls the person makes to you are not affected.

  • Add a number, or upload a CSV (one number per row; a column named phone is used when there is a header). Anyone who can run campaigns can add, so an opt-out is honoured on the spot. Only Admins can take a number off.
  • Numbers are shown masked, and the list is searched by a whole number in any format.
  • Opt-out capture (off by default, in the settings below): when someone says on a call that they don't want to be called again, their number goes on the list.
  • App calls: a call rung in your app is not placed to someone whose number is on the list, when your app knows them by that number (or the number is linked to them).

With the API: GET /v2/do-not-call, POST /v2/do-not-call, POST /v2/do-not-call/bulk, DELETE /v2/do-not-call/{entry_id}. A call to a listed number is refused with error 1205.

curl -X POST https://api.graine.ai/v2/do-not-call \
  -H "Authorization: Bearer $GRAINE_API_KEY" -H "Content-Type: application/json" \
  -d '{"phone": "+919812345678", "reason": "Asked not to be called"}'

Keep the evidence of the consent you collected beside the calls it covers: POST /v2/consent-records with the person (phone, email or a user_key), the purpose, the notice_version they saw, the mechanism and given_at. POST /v2/consent-records/{record_id}/withdraw records a withdrawal — and puts the number on your do-not-call list.

Data requests

When someone you call asks what you hold about them, to correct it or to erase it, or raises a grievance, record it in Data requests. Each request is due within 30 days (you can change this), and a grievance within at most 90.

  1. New request — the type, and the person's number or email address.
  2. Count what your workspace holds about them: calls, recordings, campaign contacts, booked calls, consent records.
  3. Act on it:
    • Export — a copy of everything, as one JSON file. Recording links in it work for 15 minutes from your download; the file can be downloaded for 7 days.
    • Correct — the fields stored on their campaign contacts.
    • Erase — type ERASE to confirm. Their calls lose their transcripts, summaries, recordings and names, their number is replaced, what your agents remember about them is forgotten, and their number goes on your do-not-call list. What you were charged for those calls stays, so your invoices stay true. The result lists exactly what was done.
  4. Mark completed, or Reject with the reason.

The one-year copy. India's data protection rules (DPDP Rules 2025, Rule 8(3)) ask for personal data and the logs of its processing to be kept for at least a year from when it was processed. When you erase someone, a sealed copy of what was erased is kept for that year — nobody at your workspace or at Graine can read it, except on a documented legal demand — and then erased. You can switch this off for a request when another legal basis applies (for example a customer covered only by the GDPR); the result says which happened.

Retention

Admins choose how long data is kept: recordings, transcripts and summaries, and the contact data of finished campaigns. Leave a field empty to keep it, as today. A daily sweep removes what is older than the days you set; what you were charged and your usage are never removed. Preview shows what the next sweep would remove before you save. Below a year you are asked to confirm the one-year rule above.

When a workspace closes

When you leave Graine, ask us to close your workspace. Its calling stops at once; 30 days later its personal data — calls, recordings, transcripts, contacts, memory, lists and stored credentials — is erased, and we send you a certificate of deletion. Before that, an Admin can download a full export of the workspace. Billing records are kept.

One limit today: a working copy of call records, kept in a separate store of ours, is not removed when a person's data is erased, when retention removes a call's content, or when a workspace closes.

On this page