Skip to end of banner
Go to start of banner

Data Policy for Cloud Native Synchronizer

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Cloud Native Synchronizer

This part of the documentation relates to Cloud Native Synchronizer.

If you use Jira Server and Azure DevOps Server / TFS go to Data Policy for On premises Synchronizer


We take data security very seriously so we use only trusted service providers with the highest security standards. On this page, you will find details on how we secure our clients' data. If you think something is missing or you have any security related questions please let us know at Spartez Software Support Portal or support@spartez-software.com.

Service Providers

Google Cloud Platform

Cloud SQL

Cloud SQL stores configuration data for synchronization profiles:

  • Urls to Jira and Azure DevOps
  • Username and encrypted personal access token for synchronizer user
  • Value mappings
  • Issue type mappings, workflow / status mappings, etc.

Datastore

Datastore stores operational data, that is generated once a synchronization profile is enabled:

  • Pairs of Jira ids and Azure DevOps ids for
    • Issues / work items
    • Comments
    • Attachments
  • Customer - facing errors that occurred during synchronization

Google Cloud's operations suite

We store application and platform logs to troubleshoot and analyze incidents. Retention period is 30 days. 

BigQuery

For a better understanding of our clients, we collect anonymous statistics of the plugin usage. These statistics tell us how we should develop our plugin to make our clients happy. 

Cloud storage

Amazon Web Services

Simple Storage Service (S3)

Abbreviations used

  • AWS - Amazon Web Services
  • GCP - Google Cloud Platform
  • JWT - json web token
  • PAT - personal access token
  • PII - personally identifiable information
  • TLS - transport layer security
  • UGC - user generated content
  • VPC - virtual private cloud

Data at rest

Synchronization profiles

Every customer has his own, separate database that stores synchronization profiles in  Cloud SQL.

These databases do not have a public IP and are not accessible to the outside world.

They interoperate with other components of Cloud-Native Synchronizer architecture over a VPC.

Value mappings

One of the strategies to synchronize fields between Jira and Azure is to create a value mapping.

A value mapping, is, essentially a dictionary that maps specific field values in one system to specific field values in another system.

Value mappings need to be configured by the user and are stored as a part of the synchronization profile in the Cloud SQL database, separately for each customer.

Synchronizer will not prevent the user from putting PII and UGC into value mappings.

This is essential to achieve useful mappings for fields like users, components, area path, etc.

Connection credentials

In order to synchronize data between Jira and Azure, Synchronizer requires read / write access to one or both systems depending on synchronization direction.

Such access is granted by providing access tokens (PAT) during synchronization profile configuration. 

PATs are encrypted using Cloud Key Management using a private symmetric key, fully managed by GCP.

After encryption PATs are stored together with the synchronization profile in Cloud SQL database.

Data from external systems

During synchronization, Synchronizer needs to store identities of synchronized object pairs. 

We only store object identities, and not the whole objects themselves. 

No part of Jira issues and Azure DevOps work items, except for identities is stored. We do not store titles, descriptions, comments or any other part of issue / work item except for id. 

This data is stored in Datastore, segregated per customer,  and is guaranteed to be retained as long as the customer has a paying subscription to the product. 

Identities of the following objects are stored, both for Jira and Azure DevOps Services:

  • Work item Ids / issue Ids
  • Comment Ids
  • Attachment Ids

Customer-facing logs

These logs have been specifically designed to report problems that a customer can fix, and refer to.

These logs are stored in Datastore and are guaranteed to be retained as long as the customer has a paying subscription to the product. 

Platform logs

Platform logs include application, infrastructure, and audit logs are stored using Google Cloud's operations suite with a maximum retention period of 30 days. 

These logs are not visible to any customer and are needed for audit, maintenance, and troubleshooting. 

PII and UGC in logs

Synchronizer does not add any PII to logs.

Synchronizer does not add any UGC to logs, however, we reserve the right to temporarily extend logging with such data when it is necessary to troubleshoot an incident.

Please note that external systems, including Jira and Azure can unintentionally return data, containing PII or UGC, as a part of an error message. 

In such cases, Synchronizer will log this data "as is", without making any attempt to discover or remove sensitive data.

Metrics and Telemetry

Spartez reserves the right to collect, store, process, and analyze operational and business metrics and telemetry, without notifying the customer which specific metric is collected.

Metrics and telemetry data are stored in BigQuery

Operational metrics will not be anonymized and will be correlated with the customer's tenant key in Jira.

This is required for operational purposes, so that Spartez can identify and attribute a portion of cloud hosting and processing costs to a specific customer.

These metrics will not contain PII and UGC.

Not all business metrics will be anonymized, for example, Spartez might measure how actively a certain feature is used or upvoted.

This data will be used to adjust our roadmap and to reach out to customers for feedback.

Backups

Backups contain the following data:

  1. Synchronization profiles, including value mappings and encrypted connection credentials.
  2. Identities of synchronized object pairs, specifically
    1. Issue ids and work item ids
    2. Comment ids
    3. Attachment ids

Backups are performed on a daily basis and stored using GCP Cloud Storage, and then transferred via secure copy protocol to an encrypted AWS S3 bucket with a retention period of 30 days.

Data in motion

Cloud-Native Synchronizer is a distributed application built on top of GCP cloud products. Components of the system interoperate securely, mostly via https inside Google cloud.

Data moves across the boundary of GCP in the following scenarios:

  1. When reading the information from Jira or Azure and writing the data to Jira or Azure, the communication happens over https, using authentication mechanism required by the systems (mostly basic auth with PAT).
  2. When a customer is using UI in their user agent, the data is transferred via https using JWT authentication via secure http-only cookies.
  3. When transferring backups from GCP to AWS, AWS s3 cp utility is used, which communicates via TLS

Data sub-processors


  • No labels