Social25 Storage Lifecycle

This article describes the file lifecycles on file storage/CDN used in the Social25 API. Social25 creates copies of files for all platforms with the exception of Instagram (for Instagram we’re utilizing the CDN as provided by Instagram and serving the files from there as per their platform guidelines). These file copies are created to provide long-term access to the files and have control over where the files are stored.

AWS S3

AWS is the default file storage for new Social25 customers. By default, the application will utilize the Social25 S3 buckets which are located in the eu-central-1 region of AWS.

When a file deletion is triggered; either by a customer, if the platform supports it, or via the API Social25 will follow a few steps to ensure the removal of the message.

  1. The file will be removed from the S3 bucket, this will cause the file to disappear within a few seconds.

  2. We will remove the reference to the file from the Message in the API, this means that if the chat window loads the file won’t be shown anymore. The message text will be populated with the text “--deleted--” showing the agent that the message has been removed.
    Please note that we will not remove the reference from the Heroku Message record or the Social Post record.

  1. Please note that if the file was stored locally by an agent this file will off course not be removed. Alternatively, if the file has been opened somewhere via the direct URL the file might be cached locally and could still be viewed until a refresh is done.

Cloudinary

Cloudinary is the deprecated file storage that is still utilized by some of the existing customers, we’re working on migrating customers to Amazon S3. If your account will be migrated you will be notified of this but it won’t have any impact on your account. The Cloudinary account is hosted in the EU region of Heroku.

When a file deletion is triggered; either by a customer, if the platform supports it, or via the API Social25 will follow a few steps to ensure the removal of the message.

  1. A file delete will be trigged via the Cloudinary API. This results in the instant removal of the file from the Cloudinary file servers. Since Cloudinary utilizes a CDN on the EU edge locations we request removal with a CDN invalidation. The invalidation usually takes between a few seconds and a few minutes to fully propagate.

  2. We will remove the reference to the file from the Message in the API, this means that if the chat window loads the file won’t be shown anymore. The message text will be populated with the text “--deleted--” showing the agent that the message has been removed.
    Please note that we will not remove the reference from the Heroku Message record or the Social Post record.

  1. The invalidation time window is described on the Cloudinary documentation (https://cloudinary.com/documentation/upload_images#asset_versions ).

  2. If the file was never accessed before the customer removed it the file deletion will be instant as it was never cached on the CDN.

  3. Please note that if the file was stored locally by an agent this file will off course not be removed. Alternatively, if the file has been opened somewhere via the direct URL the file might be cached locally and could still be viewed until a refresh is done.