Skip to the page

Concepts

Data retention

What BlueBot keeps about your texts and for how long, what the API shows once the words are gone, how to export your data, and what happens when you delete your account.

BlueBot keeps the words of your texts for 30 days and the facts about them for as long as you have an account. The facts are who, when, which state and which service. The words are deleted first because they're the private part. The facts stay because your counts, limits and history depend on them.

The 30 days cover every copy of words to or from a person, not only the text itself: a broadcast's words, the values a list or a sequence run was given for each person, Autopilot's replies and what a website visitor typed. What you build to send, such as templates, sequence steps and broadcast drafts, stays until you delete it.

How long BlueBot keeps data

WhatHow long
The words of texts, their files and voice memo transcripts30 days, then deleted
A broadcast's words, and the values its list gave each person30 days after the broadcast finished. A draft keeps its words.
The values a sequence was given for one person (variables)30 days after their run ended
Autopilot's suggestions and replies30 days
A website visitor's name and question30 days. The text it became follows the rule for texts.
The facts of each text: who it was to or from, when, its state, its service and what sent itThe life of your account
Contacts and the stop listThe life of your account
Events and webhook deliveries, which can carry the words of a text30 days
The API request log: the route, the status and the time, never the full address, the query or the body30 days
The first answer to a request with an Idempotency-Key24 hours
A file you upload and never sendA day
A file waiting on your Mac to be sentUntil its text is reported, and never more than an hour
What a Text Hook receivedThe field names of the last 20 posts to each hook, never their values, and none older than 30 days
Conversations with the integration assistant30 days from each message
Emails and Slack messages BlueBot sends you, such as a forwarded text or a new-text notificationWho, when, what kind and the subject, which can name who texted you. Never the body.
Emails to support, our replies and the support agent's notesNo set end, since an answer often depends on an earlier one. Anything you paste into a support email is kept with it.
Settings, templates, sequence steps, broadcast drafts, rules, Text Hooks and the rest of what you buildUntil you delete them or your account
A data exportIts download link lasts a week
Your account and everything in it, after you delete itDeleted within 30 days

The 30 days for a text's words count from when it was sent or received. A text still waiting to go keeps its words until it goes, so a text scheduled for two months from now goes with its words intact.

BlueBot deletes once a day, at about 3 AM UTC, so anything kept 30 days goes in the first clean-up after its 30th day.

A broadcast whose words were deleted reads "text": null and "text_deleted": true from GET/v1/broadcasts/{id}. Its name, counts and the people it went to stay.

What the API shows once the words are gone

The message is still there, with every fact, and it says plainly that its words were deleted:

Response200A text from October, read in November
{
  "id": "msg_9Kd2VbR7xLqN4mWsTy1c8E",
  "object": "message",
  "direction": "in",
  "state": "received",
  "from": "+15555550123",
  "service": "imessage",
  "text": null,
  "text_deleted": true,
  "received_at": "2026-10-09T15:12:00.000Z"
}
  • text is null and text_deleted is true. A text that never had words, such as a picture on its own, has text: null and text_deleted: false.
  • Each file on it has status: "deleted", and its url and transcript are null.
  • Its events are gone from GET/v1/events, since events last 30 days too.

Counts, limits and conversation history keep working, because they read the facts. The new-people count still knows Maria isn't new.

Keep what you need. If your app needs the words longer, store them yourself when message.received or message.sent reaches your webhook. That copy is yours, under your own policy. Webhooks

Where the words never go

  • Logs. Nothing BlueBot logs on the server or on your Mac carries the words of a message. The API request log keeps the route, the status and the time, never the body.
  • Your Mac's disk. The app keeps its token in the Keychain and nothing else of yours, apart from the files of texts waiting to send, which are deleted once each text is reported and within an hour regardless. It reads Messages' database and never writes to it.
  • Your Messages. BlueBot's 30 days apply to BlueBot's copy. Your conversations in Messages on your Mac and iPhone stay exactly as Apple keeps them, and deleting BlueBot's copy never touches them.

Export your data

The Account page in the dashboard makes a file of your data and gives you a link to download it. The link lasts a week. The file has what BlueBot still has, so words older than 30 days aren't in it.

Delete your account

Delete your account from the Account page in the dashboard. Then:

  • Your Mac is disconnected, your API keys stop working and your webhooks stop.
  • Everything in the account is deleted within 30 days, and it can't be undone. Export first if you want a copy.
  • A few records stay, no longer linked to the account: billing records, the record of what BlueBot's staff did on your account, the facts of emails BlueBot sent you or got from you, and support emails. Stripe keeps its own payment records under its own policy.

Deleting a contact is different: it hides them, but their number stays with the facts of their texts, so your counts stay right and the stop list still works for them.

Check it

Read a text older than 30 days with GET/v1/messages/{id}.

You gotIt meansDo next
"text_deleted": true and "text": nullThe words were deleted.Nothing.
The words, on a text sent more than 30 days agoIt hasn't been deleted yet.Write to support@usebluebot.com with the message id.
404 not_foundThere's no message with that id on this account.Check the id, and that the key belongs to the account that sent or got the text.

BlueBot's privacy policy, linked at the foot of every page, has the legal version of all of this.