> For the complete documentation index, see [llms.txt](https://docs.didomi.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.didomi.io/versions-and-proofs/privacy-records-beta/download-privacy-record.md).

# Download privacy record

Didomi enables your organization to download a comprehensive privacy record or specific event within a privacy record onto your local machine as a CSV or PDF file.&#x20;

* [Download privacy record overview](#download-privacy-record-overview)
* [Reference: CSV glossaries](#reference-csv-glossaries)
* [Reference: PDF glossary](#reference-pdf-glossary)

### Download privacy record overview

In this section, we will cover different ways your organization can download a privacy record onto your local machine (either as a CSV or PDF file).

* Download full privacy record
* Download privacy record event

To start, click **Versions & Proofs** on the left-hand panel and select the **Privacy Records** tab on the subsequent page.

<figure><img src="/files/vTiBJdBJTbqj73enBHYF" alt="" width="563"><figcaption></figcaption></figure>

#### Download full privacy record

Navigate to an existing privacy record and click the **Download** icon inline with privacy record.

<figure><img src="/files/eWQL9mMbUpP1u533NFdn" alt="" width="563"><figcaption></figcaption></figure>

Select your desired format from the drop-down menu.

<figure><img src="/files/zfR2KjI5UmGKKplNGBUD" alt="" width="563"><figcaption></figcaption></figure>

The full privacy record will be downloaded onto your local machine in your specified format.&#x20;

{% hint style="info" %}
Alternatively, a full privacy record can be downloaded by clicking the **Preview** icon and then selecting the **Download** icon in the header of the preview page.
{% endhint %}

#### Download privacy record event

Navigate to a privacy record and click the **Preview** icon inline with the privacy record.

<figure><img src="/files/qZgReAXrUJcf4M6TRjk5" alt="" width="563"><figcaption></figcaption></figure>

Navigate to an event on the subsequent page for the privacy record and click the **Download** icon inline with the event.

<figure><img src="/files/KsKZ6sBSlU1R4frkzAa3" alt="" width="563"><figcaption></figcaption></figure>

Select your desired format from the drop-down menu.

<figure><img src="/files/Ft7BxLh09BKNElgJLg9F" alt="" width="563"><figcaption></figcaption></figure>

The privacy record event will be downloaded onto your local machine in your specified format.&#x20;

{% hint style="info" %}
Alternatively, a privacy record event can be downloaded by clicking the **Preview** icon inline with the event and then selecting the **Download** icon in the header of the preview page.
{% endhint %}

### Reference: CSV glossaries

Expand the accordion below for definitions of terms found in the downloaded CSV version of a privacy record.

<details>

<summary>Consent Management Platform (CMP) CSV glossary</summary>

<table><thead><tr><th width="170.66668701171875">Field</th><th width="163.1334228515625">Data Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>String</td><td>ID for the event</td></tr><tr><td><code>type</code></td><td>String</td><td>Type of event (e.g. consent.given)</td></tr><tr><td><code>source</code></td><td>Object</td><td>Details of the source on which the event occurred</td></tr><tr><td><code>source.domain</code></td><td>String</td><td>Domain name of the source on which the event occurred (e.g. www.example.com)</td></tr><tr><td><code>source.type</code></td><td>String</td><td>Source type on which the event occurred (e.g. website)</td></tr><tr><td><code>source.deployment_id</code></td><td>String</td><td>Unique ID assigned to this version of the consent notice when it was published</td></tr><tr><td><code>user</code></td><td>Object</td><td>End-user details</td></tr><tr><td><code>user.id</code></td><td>String</td><td>Unique ID of the end-user</td></tr><tr><td><code>user.country</code></td><td>String</td><td>Two-letter country code (ISO 3166-1 alpha-2) for the end-user</td></tr><tr><td><code>user.region</code></td><td>String</td><td>Two-letter region/state code (ISO 3166-1 alpha-2) for the end-user</td></tr><tr><td><code>parameters</code></td><td>Object</td><td>Contains end-user's consent choices</td></tr><tr><td><code>parameters.action</code></td><td>String</td><td>Source of the consent action: <strong>webview</strong> | <strong>click</strong> | <strong>navigate</strong> | <strong>scroll</strong> | <strong>external</strong></td></tr><tr><td><code>parameters.purposes</code></td><td>Object</td><td>Contains end-user consent information for purposes</td></tr><tr><td><code>parameters.purposes.enabled</code></td><td>Array</td><td>List of enabled purposes</td></tr><tr><td><code>parameters.purposes.disabled</code></td><td>Array</td><td>List of disabled purposes</td></tr><tr><td><code>parameters.vendors</code></td><td>Object</td><td>Contains end-user consent information for vendors</td></tr><tr><td><code>parameters.vendors.enabled</code></td><td>Array</td><td>List of enabled vendors</td></tr><tr><td><code>parameters.vendors.disabled</code></td><td>Array</td><td>List of disabled vendors</td></tr><tr><td><code>parameters.purposes_li</code></td><td>Object</td><td>Contains end-user consent information for purposes on the basis of legitimate interest</td></tr><tr><td><code>parameters.purposes_li.enabled</code></td><td>Array</td><td>List of purposes enabled using the basis of legitimate interest</td></tr><tr><td><code>parameters.purposes_li.disabled</code></td><td>Array</td><td>List of purposes disabled using the basis of legitimate interest</td></tr><tr><td><code>parameters.vendors_li</code></td><td>Object</td><td>Contains end-user consent information for vendors on the basis of legitimate interest</td></tr><tr><td><code>parameters.vendors_li.enabled</code></td><td>Array</td><td>List of vendors enabled using the basis of legitimate interest</td></tr><tr><td><code>parameters.vendors_li.disabled</code></td><td>Array</td><td>List of vendors disabled using the basis of legitimate interest</td></tr><tr><td><code>experiment</code></td><td>String | null</td><td>Experiment ID</td></tr><tr><td><code>apikey</code></td><td>String</td><td>Your organization's public API key</td></tr><tr><td><code>datehour</code></td><td>String</td><td>Date and time of the event</td></tr><tr><td><code>timestamp</code></td><td>String</td><td>Unique timestamp of the event</td></tr><tr><td><code>datetime</code></td><td>ISO-8601 Date</td><td>Date &#x26; time of the event</td></tr><tr><td><code>is_bot</code></td><td>String | null</td><td>The event comes from a bot (or not)</td></tr><tr><td><code>is_domain_valid</code></td><td>String | null</td><td>Indicates whether the domain from which the consent event was sent was a recognized, active Didomi Privacy Center or Preference Center domain at the time the event was recorded</td></tr><tr><td><code>rate</code></td><td>String | null</td><td>Sampling rate of the event.</td></tr><tr><td><code>namespace</code></td><td>String | null</td><td>Event namespace (sdks for SDK events)</td></tr></tbody></table>

</details>

<details>

<summary>Preference Management Platform (PMP) CSV glossary</summary>

<table><thead><tr><th width="185.4666748046875">Field</th><th width="152.4666748046875">Data Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>String</td><td>ID for the event</td></tr><tr><td><code>type</code></td><td>String</td><td>Type of event (e.g. consent.given)</td></tr><tr><td><code>source</code></td><td>Object</td><td>Details of the source on which the event occurred</td></tr><tr><td><code>source.domain</code></td><td>String</td><td>Domain name of the source on which the event occurred (e.g. www.example.com)</td></tr><tr><td><code>source.type</code></td><td>String</td><td>Source type on which the event occurred (e.g. website)</td></tr><tr><td><code>source.deployment_id</code></td><td>String</td><td>Unique ID assigned to this version of the widget when it was published</td></tr><tr><td><code>user</code></td><td>Object</td><td>End-user details</td></tr><tr><td><code>user.country</code></td><td>String</td><td>Two-letter country code (ISO 3166-1 alpha-2) for the end-user</td></tr><tr><td><code>user.region</code></td><td>String</td><td>Two-letter region/state code (ISO 3166-1 alpha-2) for the end-user</td></tr><tr><td><code>parameters</code></td><td>Object</td><td>Contains end-user's preference choices</td></tr><tr><td><code>parameters.action</code></td><td>String</td><td>Source of the consent action: <strong>webview</strong> | <strong>click</strong> | <strong>navigate</strong> | <strong>scroll</strong> | <strong>external</strong></td></tr><tr><td><code>parameters.configuration_tree</code></td><td>Object</td><td>Contains information regarding configuration tree used in the preferences widget</td></tr><tr><td><code>parameters.configuration_tree.purposes</code></td><td>Array of Objects</td><td>Lists purposes and their associated preferences within the configuration tree</td></tr><tr><td><code>parameters.configuration_tree.purposes.id</code></td><td>String</td><td>ID of the purpose</td></tr><tr><td><code>parameters.configuration_tree.purposes.name</code></td><td>Object</td><td>Name of the purpose in all configured translations</td></tr><tr><td><code>parameters.configuration_tree.purposes.description</code></td><td>Object</td><td>Description of the purpose in all configured translations</td></tr><tr><td><code>parameters.configuration_tree.purposes.enabled</code></td><td>Boolean</td><td>Default state of purpose as configured in the widget</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences</code></td><td>Array of Objects</td><td>Contains information regarding preferences associated with the parent purpose</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.id</code></td><td>String</td><td>ID assigned to the preference when it is added to a configuration tree</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.preference_id</code></td><td>String</td><td>ID of the preference in the preferences library</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.name</code></td><td>Object</td><td>Name of the preference in all configured translations</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.description</code></td><td>Object</td><td>Description of the preference in all configured translations</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.type</code></td><td>String</td><td>Whether the preference is a multi-select or single select decision</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.layoutEntityId</code></td><td>String</td><td>ID of the position in the preferences widget UI structure that was rendered for the preference</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.component</code></td><td>Object</td><td>Contains information for the UI component used to render the preference</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.component.id</code></td><td>String</td><td>Each interactive element in a widget has its own ID. This field records exactly which component instance was used — useful for tracing back to the widget design and verifying what the user was shown at the time of consent.</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.order</code></td><td>Number</td><td>Position of the preference in regards to other preferences associated with the purpose</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.metadata</code></td><td>Object</td><td>Free-form metadata object for the preference</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values</code></td><td>Array of Objects</td><td>Contains information for the preference values for a specific preference</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values.id</code></td><td>String</td><td>ID of the preference value</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values.name</code></td><td>Object</td><td>Name of the preference value in all configured translations</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values.layoutEntityId</code></td><td>String</td><td>ID of the position in the preferences widget UI structure that was rendered for the preference value</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values.enabled</code></td><td>Boolean</td><td>Default state of preference value as configured in the widget</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values.component</code></td><td>Object</td><td>Contains information for the UI component used to render the preference value</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values.component.id</code></td><td>String</td><td>Each interactive element in a widget has its own ID. This field records exactly which component instance was used — useful for tracing back to the widget design and verifying what the user was shown at the time of consent.</td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values.order</code></td><td>Number</td><td>Position of the preference value in regards to other preferences values </td></tr><tr><td><code>parameters.configuration_tree.purposes.preferences.values.metadata</code></td><td>Object</td><td>Free-form metadata object for the preference</td></tr><tr><td><code>parameters.current_consents</code></td><td>Object</td><td>Contains current end-user preference selections</td></tr><tr><td><code>parameters.current_consents.purposes</code></td><td>Object</td><td>Contains current purposes and preference selections made by the end-user</td></tr><tr><td><code>parameters.current_consents.[PURPOSE _ID]</code></td><td>Object</td><td>Purpose that has been consented to by the end-user </td></tr><tr><td><code>parameters.current_consents.[PURPOSE_ID].id</code></td><td>String</td><td>ID of the purpose that has been consented to by the end-user</td></tr><tr><td><code>parameters.current_consents.[PURPOSE_ID].enabled</code></td><td>Boolean</td><td>Default state of purpose as configured in the widget</td></tr><tr><td><code>parameters.current_consents.[PURPOSE_ID].values</code></td><td>Object</td><td>Contains preference and preference values selected by the end-user</td></tr><tr><td><code>parameters.current_consents.[PURPOSE_ID].values.[PREFERENCE_ID]</code></td><td>Object</td><td>Contains preference value choices made  </td></tr><tr><td><code>parameters.current_consents.[PURPOSE_ID].values.[PREFERENCE_ID].value</code></td><td>String</td><td>Choices made for preference</td></tr><tr><td><code>parameters.previous_consents</code></td><td>Object</td><td>Contains previous end-user preference selections</td></tr><tr><td><code>parameters.previous_consents.purposes</code></td><td>Object</td><td>Contains previous purposes and preference selections made by the end-user</td></tr><tr><td><code>parameters.previous_consents.purposes.[PURPOSE_ID]</code></td><td>Object</td><td>Purpose that has been consented to by the end-user </td></tr><tr><td><code>parameters.previous_consents.purposes.[PURPOSE_ID].id</code></td><td>String</td><td>ID of the purpose that has been consented to by the end-user</td></tr><tr><td><code>parameters.previous_consents.purposes.[PURPOSE_ID].enabled</code></td><td>Boolean</td><td>Default state of purpose as configured in the widget</td></tr><tr><td><code>parameters.previous_consents.purposes.[PURPOSE_ID].values</code></td><td>Object</td><td>Contains preference and preference values selected by the end-user</td></tr><tr><td><code>parameters.previous_consents.purposes.[PURPOSE_ID].values.[PREFERENCE_ID]</code></td><td>Object</td><td>Contains previous end-user preference selections</td></tr><tr><td><code>parameters.previous_consents.purposes.[PURPOSE_ID].values.[PREFERENCE_ID].value</code></td><td>String</td><td>Contains previous purposes and preference selections made by the end-user</td></tr><tr><td><code>experiment</code></td><td>String | null</td><td>ID of the experiment</td></tr><tr><td><code>apikey</code></td><td>String | null</td><td>Organization's public API key</td></tr><tr><td><code>timestamp</code></td><td>Number</td><td>Unique timestamp of the event</td></tr><tr><td><code>datetime</code></td><td>ISO-8601 Date</td><td>Date &#x26; time of the event</td></tr><tr><td><code>is_bot</code></td><td>String | null</td><td>Whether the event was derived from a bot action</td></tr><tr><td><code>is_domain_valid</code></td><td>String | null</td><td>Indicates whether the domain from which the consent event was sent was a recognized, active Didomi Privacy Center or Preference Center domain at the time the event was recorded</td></tr><tr><td><code>rate</code></td><td>Number | null</td><td>Sampling rate of the event</td></tr><tr><td><code>namespace</code></td><td>String | null</td><td>Event namespace (sdks for SDK events)</td></tr></tbody></table>

</details>

### Reference: PDF glossary

Review the table below for definitions of terms found in the downloaded PDF version of a privacy record.

<table><thead><tr><th width="172.03338623046875">Tab</th><th width="213.58331298828125">Field</th><th>Description</th></tr></thead><tbody><tr><td>User choice</td><td>Purposes > Accepted</td><td>List of purposes where end-user has explicitly given consent for data processing</td></tr><tr><td>User choice</td><td>Purposes > Denied</td><td>List of purposes where end-user has explicitly denied consent for data processing</td></tr><tr><td>User choice</td><td>Purposes > Accepted legitimate interest</td><td>List of purposes where end-user allows legitimate interest processing</td></tr><tr><td>User choice</td><td>Purposes > Denied legitimate interest</td><td>List of purposes where end-user objects to legitimate interest processing</td></tr><tr><td>User choice</td><td>Vendors > Accepted</td><td>List of vendors where end-user has explicitly given consent for data processing</td></tr><tr><td>User choice</td><td>Vendors > Denied</td><td>List of vendors where end-user has explicitly denied consent for data processing</td></tr><tr><td>User choice</td><td>Vendors > Accepted legitimate interest</td><td>List of vendors where end-user allows legitimate interest processing</td></tr><tr><td>User choice</td><td>Vendors > Denied legitimate interest</td><td>List of vendors where end-user objects to legitimate interest processing</td></tr><tr><td>Global information</td><td>Date &#x26; Time</td><td>Date and time the event was submitted</td></tr><tr><td>Global information</td><td>Country</td><td>Two-letter country code and region code (ISO 3166-1 alpha-2) from where the event was submitted </td></tr><tr><td>Source</td><td>Domain</td><td>Domain name of the source </td></tr><tr><td>Source</td><td>Device</td><td>Type of source</td></tr><tr><td>Source</td><td>Browser</td><td>Browser from which the event was submitted (if available)</td></tr><tr><td>Metadata</td><td>country</td><td>Two-letter country code (ISO 3166-1 alpha-2) for the end-user</td></tr><tr><td>Metadata</td><td>region</td><td>Two-letter region/state code (ISO 3166-1 alpha-2) for the end-user</td></tr><tr><td>Metadata</td><td>id</td><td>Unique ID of the user</td></tr><tr><td>Metadata</td><td>id_type</td><td>Type of user ID</td></tr><tr><td>Metadata</td><td>id_hash</td><td>Specifies the hashing algorithm used to obscure the end-user's identifier (e.g. <code>sha1</code> or <code>sha256</code>)</td></tr><tr><td>Metadata</td><td>organization_user_id</td><td>Unique user ID assigned by your organization that is used to link a Didomi end-user to your internal systems as well as resolve cross-platform IDs.</td></tr><tr><td>Metadata</td><td>token</td><td>JSON Web Tokens that allow users to access their consent data and update it</td></tr><tr><td>Metadata</td><td>authentication</td><td>Method by which end-user was authenticated</td></tr><tr><td>Metadata</td><td>tcfcs</td><td>TCF consent string for the end-user (if it was available or generated at the time of consent collection)</td></tr><tr><td>Metadata</td><td>tcfv</td><td>Version of the TCF.</td></tr><tr><td>Metadata</td><td>regs</td><td>Applicable regulations based on end-user location</td></tr><tr><td>Metadata</td><td>type</td><td>Source type for the event</td></tr><tr><td>Metadata</td><td>domain</td><td>The domain where the event was collected</td></tr><tr><td>Metadata</td><td>key</td><td>The unique key that identify the source.</td></tr><tr><td>Metadata</td><td>session_id</td><td>Session ID</td></tr><tr><td>Metadata</td><td>deployment_id</td><td>Widget/consent notice deployment id</td></tr><tr><td>Metadata</td><td>provider</td><td>ID of the clients which distributes API keys itself</td></tr><tr><td>Metadata</td><td>beacon</td><td>Indicates the value true or false. True If the event is sent by the <code>Navigator.sendBeacon()</code> function, otherwise <code>false</code>.</td></tr><tr><td>Metadata</td><td>version</td><td>Number of modifications made on this source.</td></tr><tr><td>Metadata</td><td>sampling</td><td>Sampling method used for determining events to log</td></tr><tr><td>Widget</td><td>Product</td><td>Didomi product associated with the event</td></tr><tr><td>Widget</td><td>Widget ID</td><td>ID of the widget/consent notice</td></tr><tr><td>Widget</td><td>Deployment ID</td><td>Widget/consent notice deployment id</td></tr><tr><td>Widget</td><td>Preview</td><td>Provides a visualization of the widget/consent notice displayed to the end-user</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.didomi.io/versions-and-proofs/privacy-records-beta/download-privacy-record.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
