---
title: "Data Policy for Cloud Native Synchronizer"
canonical: "https://support.appfire.com/space/TFS4JIRA/1841431424/Data%20Policy%20for%20Cloud%20Native%20Synchronizer"
format: markdown
---
> Macro (aura-html)

> ℹ️ ### Cloud Native Synchronizer
> ℹ️ 
> ℹ️ <span style="color: #333333">This part of the documentation relates to </span><span style="color: #333333">**Cloud Native Synchronizer**</span><span style="color: #333333">.</span>
> ℹ️ 
> ℹ️ <span style="color: #333333">If you use Jira Server and Azure DevOps Server / TFS go to </span><span style="color: #333333">**[Data Policy for On premises Synchronizer](https://appfire.atlassian.net/wiki/x/Y4BYaw)**</span>


<span style="color: #333333">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 </span>[Appfire Support Portal](https://apps.appf.re/t4j/sup/cn)<span style="color: #333333"> or </span>[support@appfire.com](mailto:support@appfire.com)<span style="color: #333333">.</span>

[PROCESSOR]<span style="color: #333333"> - providers with this label are our data processors as defined by European General Data Protection Regulation (GDPR).</span>

# Service Providers

## Storage location

Cloud SQL, datastore, backups and external backups storage are located in European Union, to be more exact, in Frankfurt, Germany.

Service statistics (operational metrics) are also copied over to the Google Cloud Platform (GCP) US region.

## Google Cloud Platform

[PROCESSOR]<span style="color: #333333"> </span>

### Cloud SQL

Cloud SQL stores data provided during the [installation handshake](https://developer.atlassian.com/cloud/jira/platform/authentication-for-apps/). Stored keys authenticate us to clients' Jira instances. We store

- A key that identifies Jira instance.
- Shared secrets for communication with Jira.

Cloud SQL also stores configuration data for synchronization profiles:

- Urls to Jira and Azure DevOps
- Username and personal access token for synchronizer user, encrypted using [Cloud Key Management](https://cloud.google.com/security-key-management/)
- Value mappings
- Issue type mappings, States and Statuses mappings, etc.

> ℹ️ ### Personally identifiable information and user generated content in Cloud SQL
> ℹ️ 
> ℹ️ 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 are configured by the user and are stored as a part of the synchronization profile in the [Cloud SQL](https://cloud.google.com/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 and meaningful mappings for fields like Assignee / Assigned To (that contains **users**), components, area path, 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
  - Links
- Customer - facing errors that occurred during synchronization
- High-level aggregated data for initial synchronizations, like date started and number of items processed

### Google Cloud's operations suite

We store application and platform logs to troubleshoot and analyze incidents. 

Logs might contain:

- Jira client key
- Jira issue ids or Azure DevOps work item ids
- user ids
- internal application messages

Retention period is 30 days. 

> ℹ️ ### Personally identifiable information and user generated content in logs
> ℹ️ 
> ℹ️ <span style="color: #1d1c1d">Synchronizer does not add any UGC to logs during normal operation, however, we reserve the right to log such data when errors occur and to temporarily extend logging with such data when it is necessary to troubleshoot an incident.</span>  
> ℹ️ <span style="color: #1d1c1d">Please note that external systems, including Jira and Azure </span>*can *<span style="color: #1d1c1d">unintentionally return data, containing PII or UGC, as a part of an error message. </span>  
> ℹ️ <span style="color: #1d1c1d">In such cases, Synchronizer will log this data "as is", without making any attempt to discover or remove sensitive data.</span>  
> ℹ️ <span style="color: #1d1c1d">These logs will be retained for 30 days.</span>


### BigQuery

<span style="color: #333333">For a better understanding of our clients, we collect various statistics. These statistics tell us how we should develop our product to make our clients happy. </span>

**What is collected**

The following table is intended to give you a complete understanding of the policy that we use to collect analytics data.

This table is **not** intended to list all the possible events collected by the add-on. It is however intended to list all rules and exceptions from those rules so that you are able to assess whether something can be collected or not. 

| **Data type** | **Comments** |
| --- | --- |
| Operational metrics | Operational metrics are not anonymized and are correlated with the customer's tenant key in Jira.<br>This is required for operational purposes, so that we can identify and attribute a portion of cloud hosting and processing costs to a specific customer.<br>These metrics do not contain any personally identifiable information, nor any user generated content.<br>For example:<br>- Amount of issues / work items synchronized per day
- Amount of initial synchronizations run per day |
| <span style="color: #3e3f40">User interface </span><br><span style="color: #3e3f40">and usage</span> | <span style="color: #3e3f40">We track the usage of certain features in Jira plugin page, as well as in Synchronizer user interface. For example:</span><br>- Clicks on "Learn more" about Hierarchy support
- Clicks on "Vote up" on Links feature
- Creation of a filter for a synchronization profile
- Mapping of work item types
- etc.<br>These events do not contain any personally identifiable information, but may contain user-generated content.<br>This data is used to gain insights into user needs and improve application experience. |
| <span style="color: #333333">Information about</span><br><span style="color: #333333">synchronizations errors</span> | <span style="color: #333333">We store informations about synchronization errors. </span><br><span style="color: #333333">They may contain user generated content or PII (Jira and Azure </span><span style="color: #333333">*can *</span><span style="color: #333333">unintentionally return data, containing PII or UGC, as a part of the error message.)</span> |

<span style="color: #333333">For further analysis we copy our operational metrics, described in the table above, to our data warehouse in GCP US region. Data we copy does not contain neither personally identifiable information, nor user generated content.</span>

### Cloud storage

Cloud storage stores backups of data held in Datastore and Cloud SQL.

Retention period is 7 days.

## Amazon Web Services

[PROCESSOR]

### Simple Storage Service (S3)

S3 stores backups of data stored in Google Cloud storage.

Retention period is 30 days.