# Privacy

Publishers are responsible for maintaining compliance with applicable privacy laws and regulations. The HyprMX SDK provides a number of flags publishers can use to pass the appropriate value to HyprMX to protect and maintain user's data and privacy.&#x20;

These flags support compliance with the General Data Protection Regulation (GDPR), US privacy laws (CPRA, CCPA, VCDPA, etc.), Children's Online Privacy Protection Act (COPPA), and other regional privacy laws. However, consent and privacy requirements may extend beyond these circumstances and should be applied accordingly.

## Consent Signaling

HyprMX supports multiple industry standards and methods for signaling user privacy preferences.\
These signals determine how the SDK processes personal data and delivers ads in compliance with privacy regulations.

### Transparency and Consent Framework v2

HyprMX SDK supports the IAB Europe Transparency and Consent Framework (TCF) v2. This enables publishers in GDPR-applicable regions to provide a TCF v2 consent string that the SDK will use to determine whether personal data can be processed for advertising.

The SDK will **automatically read** the TCF v2 consent string if it is stored using the standard IAB keys in **SharedPreferences** on Android. No extra integration code is required if your CMP stores the string using these keys.

<table><thead><tr><th width="226.34765625">Key</th><th>Description</th></tr></thead><tbody><tr><td>IABTCF_gdprApplies</td><td><p><code>1</code> : GDPR applies in current context</p><p><code>0</code> : GDPR does <em><strong>not</strong></em> apply in current context</p><p>Unset: undetermined</p></td></tr><tr><td>IABTCF_TCString</td><td>Base64-encoded consent string as defined in <a href="https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20Consent%20string%20and%20vendor%20list%20formats%20v2.md#transparency-and-consent-string-with-global-vendor--cmp-list-formats">IAB Tech Lab – Consent string and vendor list formats v2</a></td></tr></tbody></table>

### Consent Flag

HyprMX SDK provides an API with a consentStatus parameter with the following values for jurisdictions that require passing consent that takes a `ConsentStatus` value depending on the user consent collected by your app. This flag will be used to indicate a user’s opt-in or opt-out consent for the collection and use of personal data under applicable laws and jurisdictions (CCPA, CPRA, etc.).

If a user provided consent in jurisdictions that require opt-in consent or did not opt out of collection or usage of personal data in jurisdictions operating under opt-out consent rules, set a user’s consent status as below in the setter:

{% tabs %}
{% tab title="Java" %}
{% code overflow="wrap" %}

```java
HyprMX.INSTANCE.setConsentStatus(ConsentStatus.CONSENT_GIVEN); // If user provided consent, set this to CONSENT_GIVEN
```

{% endcode %}
{% endtab %}

{% tab title="Kotlin" %}
{% code overflow="wrap" %}

```kotlin
HyprMX.setConsentStatus(ConsentStatus.CONSENT_GIVEN) // If user provided consent, set this to CONSENT_GIVEN
```

{% endcode %}
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Java" %}
{% code overflow="wrap" %}

```java
HyprMX.INSTANCE.setConsentStatus(ConsentStatus.CONSENT_DECLINED); // If user declined consent, set this to CONSENT_DECLINED
```

{% endcode %}
{% endtab %}

{% tab title="Kotlin" %}
{% code overflow="wrap" %}

```kotlin
HyprMX.setConsentStatus(ConsentStatus.CONSENT_DECLINED) // If user declined consent, set this to CONSENT_DECLINED
```

{% endcode %}
{% endtab %}
{% endtabs %}

If you do not know the user’s consent status set it as unknown in the setter:

{% tabs %}
{% tab title="Java" %}
{% code overflow="wrap" %}

```java
HyprMX.INSTANCE.setConsentStatus(ConsentStatus.CONSENT_STATUS_UNKNOWN); // If you don't have consent status for the user, set this to CONSENT_STATUS_UNKNOWN
```

{% endcode %}
{% endtab %}

{% tab title="Kotlin" %}
{% code overflow="wrap" %}

```kotlin
HyprMX.setConsentStatus(ConsentStatus.CONSENT_STATUS_UNKNOWN) // If you don't have consent status for the user, set this to CONSENT_STATUS_UNKNOWN
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Global Privacy Platform (GPP)

{% hint style="danger" %}
**HyprMX’s current version of GPP support is not meant to replace TCF 2.2 or Consent Flag.** Publishers are responsible for setting the appropriate flags based on privacy laws and regulations users are subject to in all request&#x73;**.**&#x20;
{% endhint %}

{% hint style="warning" %}
GPP is supported in HyprMX SDK 6.2+.
{% endhint %}

{% hint style="warning" %}
HyprMX SDK currently only supports the EU TCF v2 and US National strings within GPP.
{% endhint %}

The [Global Privacy Platform (GPP)](https://iabtechlab.com/gpp/) is a protocol developed by the IAB Tech Lab to standardize the communication of user consent and preference signaling throughout the digital supply chain.&#x20;

HyprMX SDK supports GPP parameters so that GPP data can be used during transactions when applicable. To set GPP parameters in HyprMX SDK, store the GPP data within SharedPreferences. HyprMX SDK will read the values in SharedPreferences, which are then passed to the ad call.

<table><thead><tr><th width="226.34765625">Key</th><th>Description</th></tr></thead><tbody><tr><td>IABGPP_HDR_GppString</td><td>Full consent string in its encoded form</td></tr><tr><td>IABGPP_GppSID</td><td>Section ID(s) considered to be in force. Multiple IDs are separated by an underscore.</td></tr></tbody></table>

## **Age-restricted User Flag**

To adhere to the strictest laws and policies, HyprMX treats users under 16 as children. HyprMX SDK provides an API to assist publishers with child-directed treatment of users to support compliance with applicable regional laws and regulations such as COPPA and Google Play Store policies. The publisher is responsible for determining when to flag the end user as age-restricted user and adhering to applicable laws and policies that require child-directed treatment.

If the user requires a child-directed treatment, set the `ageRestrictedUser` parameter to `true`.&#x20;

{% tabs %}
{% tab title="Java" %}
{% code overflow="wrap" %}

```java
HyprMX.INSTANCE.setAgeRestrictedUser(true); // Set this to true if the user is under 16 or requires child-directed treatment
```

{% endcode %}
{% endtab %}

{% tab title="Kotlin" %}

```kotlin
HyprMX.setAgeRestrictedUser(true)
```

{% endtab %}
{% endtabs %}

If the user doesn't require a child-directed treatment, set the `ageRestrictedUser` parameter to `false`.

{% tabs %}
{% tab title="Java" %}
{% code overflow="wrap" %}

```java
HyprMX.INSTANCE.setAgeRestrictedUser(false); // Set this to false if the user is not under 16 or if you don't know whether the user is age restricted
```

{% endcode %}
{% endtab %}

{% tab title="Kotlin" %}

```kotlin
HyprMX.setAgeRestrictedUser(false)
```

{% endtab %}
{% endtabs %}

## **Google Play Families policy**

Google sets forth guidelines and requirements for publishers to follow if their target audience includes children. It is the responsibility of the app developer to ensure compliance with[ Google Play's Families Program](https://play.google.com/console/about/programs/families/), including, but not limited to,[ Google Play Families Policies](https://support.google.com/googleplay/android-developer/answer/9893335).&#x20;

If your app is primarily directed at children, you **must** indicate to your HyprMX Account Manager so the app can be designated as a child-directed app in the backend. Additionally, you may use the Age-restricted User Flag to prevent access to the AAID for end-users flagged as children.


---

# Agent Instructions: 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:

```
GET https://documentation.hyprmx.com/sdk-integration-guides/android-amazon/privacy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
