Data retention policy
Contentful retains data from the Optimization Agent Slack app in accordance with the retention periods below, which differ by store:
- Connection records (Slack workspace and user identifiers, the Contentful user's name and email, encrypted access token, and selected space/environment): retained until the user disconnects the integration or the token is revoked.
- Conversation state (thread identifiers, participants, access grants, per-question progress): retained for 30 days from last activity, then deleted. The text of a question is held only while that question is being answered and is discarded on completion.
- Agent conversation transcripts (the full question and answer for each exchange, retained so the assistant can answer follow-up questions in the same thread): currently retained indefinitely. No automatic expiry is applied, and transcripts are not deleted when the associated Slack conversation expires. A deletion capability exists and can be invoked per session; automatic expiry is planned but not yet implemented.
- Slack message content: questions and answers also remain in the customer's own Slack workspace, governed by that workspace's retention policy. Contentful does not control this copy.
- OpenAI: API data may be retained by OpenAI for abuse monitoring for up to 30 days. Contentful configures its request metadata handling to remain within that window.
Data archiving and removal policy
Contentful removes data from the Optimization Agent Slack app as follows:
- On user disconnect: the connection record, including the encrypted access token and the stored name and email, is deleted immediately.
- On conversation expiry (30 days idle): conversation state is deleted automatically. Note: the agent transcript for that conversation is not currently removed by this process.
- On request: individual agent transcripts can be deleted per session via an existing administrative capability.
- Sign-in handshake records: currently marked consumed and excluded from use, but not deleted; no automated cleanup is in place. These contain workspace and user identifiers and an encrypted callback URL, and no customer content.
- Slack-resident content: Contentful cannot delete messages from the customer's Slack workspace. - Deletion of questions and answers held in Slack must be performed by the customer under their own Slack retention controls.
Data storage policy
Data is stored on Cloudflare's platform, encrypted in transit and at rest by the platform. Contentful OAuth access tokens receive an additional layer of application-level encryption and are cryptographically bound to the specific Slack workspace and user they belong to, so a token record cannot be decrypted under a different identity. Tokens are decrypted in memory only for the duration of a single request and are never written back in plaintext, never logged, and never transmitted to Slack.
Each request is scoped to a single Contentful space and environment. The delegated access token issued for a request carries no organization-level claim and therefore cannot assert access beyond the space it was issued for. Every answer is produced using the requesting user's own Contentful permissions; the app holds no standing data access of its own.
App/service has sub-processors
yes
Guidelines for sub-processors
App/service uses large language models (LLM)
yes
LLM model(s) used
gpt-5.4, gpt-5-mini
LLM retention settings
Contentful’s OpenAI processing agreement provides 30-day retention with automatic deletion.
LLM data tenancy policy
Data is organization-scoped and not shared with other Contentful customers. Prompts and outputs remain private to the customer environment.
LLM data residency policy
For the Contentful-managed OpenAI integration, OpenAI LLC is listed as a subprocessor with a United States hosting location. Therefore, Contentful EU data residency does not imply that prompts sent to OpenAI remain in the EU.