Software

  • Drupal 10.0+
  • PHP 8.1+
  • CMS Content Sync Drupal module installed on all relevant environments: https://www.drupal.org/project/cms_content_sync
    • Please note that the module has to be downloaded with Composer so that all dependencies are resolved correctly. If the module isn't installed with Composer, you may run into difficulties due to missing modules, missing libraries or version mismatches.
    • All connected sites must use the same module version. So if you want to update the module, you need to update it on all sites.
  • If you are using paragraphs, Paragraph Version >= 8.x-1.3 is required.



Configuration

  • Entity types and bundles must have the exact same configuration on all sites.
    • You can use the "Show version mismatches" functionality after installing and configuring the module on your sites to see all relevant configuration differences between your sites.



Traffic

  • In order to work with a Sync Core provided by us, the environment must be accessible from the internet.
    • If you want to use a dedicated Sync Core instead, please contact us.
  • All communication to our service is encrypted using HTTPS.
  • To encrypt communication to your sites:
    • We strongly recommend you provide HTTPS to access your sites. The protocol is provided by the base URL (i.e. https://...) that you can see both in the App and at the Registration page of the module.
    • We recommend you use TLS v1.2+ with strong ciphers, too.
  • Drupal must be allowed to connect to the Sync Core via HTTP/HTTPS.
  • The Sync Core must be allowed to connect to Drupal via HTTP/HTTPS.
  • If you need a static IP address to receive requests from you can whitelist the following IP addresses, e.g. to not require Basic Auth:
    • Sync Core US
      • 3.222.171.239
      • 34.205.151.183
    • Sync Core EU
      • 63.34.184.33
      • 63.35.18.137


Storage

  • All content and files are encrypted at rest.
  • Depending on which Sync Core you select during the site registration, your content is either stored in the USA or in Europe, but not both.
  • If you connect to our Content Cloud, data is replicated across regions based on your configuration.
  • As content is shared asynchronously and we provide a pull dashboard to editors to pull content in on-demand, we permanently store content in our service.
  • Old content revisions are deleted after 3 months, but we always keep a history of at least 3 revisions.
  • By default, you are not allowed to share sensitive or embargoed content through our service. Even when using content staging, you are expected to only share content once it's allowed to be published.
  • Content can be deleted completely from our system upon request in case of an accidental publication of embargoed content. Content that's already in our backups will remain in our backups but can't be requested through our APIs.
  • Content that was shared with our service is accessible by our support staff to help with setting up and operating Content Sync.


Authentication

  • Requests are authenticated using short-lived JSON Web Tokens.
  • Requests to files are authenticated using a short-lived, signed access token (using AWS S3).
  • To authenticate against Drupal, we use Drupal's native authentication and authorization system (users, roles, permissions).
    • We auto-generate one unique key / password per site.
    • Keys are shared with our service (the "Sync Core") for symmetric token encryption.
    • Keys are generated using Drupal's native password generation methods.
    • Keys consist of 64 random alphanumeric characters by default.
    • You can rotate the key anytime by changing the password of the CMS Content Sync user on your site(s) and re-registering the site(s).
      • We strongly recommend you provide a truly random, alphanumeric 64-character password, too.


Service and data flow diagram



Supported versions

All our releases are supported for 6 months. The Sync Core and the Module are interoperable for 6 months, too. We still recommend to update the module more regularly, but if you are using a release for more than 6 months we may not be able to support you.

To support you with testing and releasing updates you can connect as many testing sites as you like free of charge.



Drupal Module
<v3.0Not supported
v3.0Recommended version
PHP Library
<v4.0Not supported
v4.0Recommended version
Sync Core (on-premise)
<=3.0Not supported
v3.1Supported until March 2025
v3.2Supported until April 2025
v3.3Recommended version