Data Storage

Customer confidence and information security is critical to everything we do at Smooch. In this guide, you can learn what kind of data Smooch is storing and how you may delete it.

How Is Your Data Stored

All data stored by Smooch is encrypted, both in transit and at rest, following industry best practices. To learn more, read about security at Smooch and have a look at our Security Policy.

What Kind of Data Is Stored by Smooch

Smooch stores the following data when you create an App and use our services:

User Account

A User Account is the top level entity that is in charge of one or many Smooch Apps. It is created on sign-up and contains information such as Name, Email and Creation Date.

Service Account

A Service Account represents an API user and is created via the Create Service Account API. It contains information such as Name and Creation Date.

Use the Delete Service Account API to remove a specified Service Account. This works only once no more Apps are linked to it.

Use the Delete Service Account Key API to remove a specified secret key.

App

An App is created via the Create App API or the Smooch dashboard. It represents a business as a whole and contains information such as Name, Creation Date, Channel Integrations, Webhooks and Secret Keys. Apps never share data between each other.

To fully delete all of an App’s data, use the Delete App API or the Smooch dashboard under your App’s settings. When an App is deleted, it immediately becomes unavailable and all of its Integrations are removed. Subsequent API calls made for that deleted App will return an error.

You may as well delete an App key and an App Menu through their respective APIs.

App User

An App User represents the end user messaging your App and is created when receiving their first Message. An App User can also be created ahead of time via the Pre-Create App User API. It contains information such as Nickname, Given Name and Last Name (when applicable), Email (when applicable), Sign-Up Date, Clients and other custom user properties.

Use the Delete App User API to remove all related stored data, i.e. the App User profile along with its Clients, Conversations, Messages and attachments.

To remove only the data directly associated with the user account, use instead the Delete App User Profile API. The user’s Conversation history, Messages, attachments and Client external IDs are kept.

Conversation

A Conversation represents a history of Messages sent to and received from an App User and is automatically created when the first Message occurs. It contains information such as Unread Count and Read Timestamps for both the App User and the business.

Use the Delete All Messages API to remove the entire Conversation history for a specified user, along with any attachments uploaded with a message scope (see the Upload Attachment API for more details). The App User’s Clients are preserved, meaning one can seamlessly start a new Conversation while being identified as the same user.

Message

A Message is created when you or an App User sends a Message. It contains information such as Conversation ID, Author ID, Name, Avatar, Received Date, Channel Source, Attachment and Content.

Use the Delete Single Message API to remove a specific Message and replace it with [deleted]. An attachment uploaded with a message scope will also be deleted.

Use the Delete Attachment API to remove an attachment hosted on a specified media URL.

The conversationRetentionSeconds app setting can be used to automatically delete messages after a conversation has become inactive.

Client

A Client represents a specific connection through which an App User can send and receive Messages. It is created when an App User sends a Message on a specific channel for the first time. It contains information such as Channel Name, Conversation Title, SDK Version, User Agent, External ID, Display Name and Personal Identifiable Information as provided by the channel used.

Use the Unlink App User From Channel API to remove a specified channel from the App User’s Clients.

Integration

An Integration represents a configuration that defines how the App connects to one of the Smooch SDKs or to a third party messaging service. It is created either via the Smooch dashboard or the Create Integration API. It contains information such as third-party credentials and IDs, configuration and other integration metadata.

Use the Delete Integration API to remove a specified Integration.

Use the Delete Integration Menu API to remove a specified Integration’s menu, falling back to the App Menu if configured.

Webhook

A Webhook represents a point of extension by which third party software can listen for and react to App events. It is created via the Create Webhook API or the Smooch dashboard. It contains information such as Triggers, Target URL and Secret Key.

Use the Delete Webhook API to remove a specified Webhook.

Templates

A Template allows you to send structured messages via convenient shorthands. It is created using the Create Template API. It contains information such as Template Name and Message Content.

Use the Delete Template API to remove a specified Template.

Support

If you have any questions or need help with deleting any of the aforementioned elements, do not hesitate to reach out and ask for help!