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
| What | How long |
|---|---|
| The words of texts, their files and voice memo transcripts | 30 days, then deleted |
| A broadcast's words, and the values its list gave each person | 30 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 replies | 30 days |
| A website visitor's name and question | 30 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 it | The life of your account |
| Contacts and the stop list | The life of your account |
| Events and webhook deliveries, which can carry the words of a text | 30 days |
| The API request log: the route, the status and the time, never the full address, the query or the body | 30 days |
The first answer to a request with an Idempotency-Key | 24 hours |
| A file you upload and never send | A day |
| A file waiting on your Mac to be sent | Until its text is reported, and never more than an hour |
| What a Text Hook received | The field names of the last 20 posts to each hook, never their values, and none older than 30 days |
| Conversations with the integration assistant | 30 days from each message |
| Emails and Slack messages BlueBot sends you, such as a forwarded text or a new-text notification | Who, 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 notes | No 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 build | Until you delete them or your account |
| A data export | Its download link lasts a week |
| Your account and everything in it, after you delete it | Deleted 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 /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:
{
"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"
}textisnullandtext_deletedistrue. A text that never had words, such as a picture on its own, hastext: nullandtext_deleted: false.- Each file on it has
status: "deleted", and itsurlandtranscriptarenull. - Its events are gone from
/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.
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 /v1/messages/{id}.
| You got | It means | Do next |
|---|---|---|
"text_deleted": true and "text": null | The words were deleted. | Nothing. |
| The words, on a text sent more than 30 days ago | It hasn't been deleted yet. | Write to with the message id. |
404 | There'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.