# SDK Privacy Methods

Chartboost requires that publishers obtain consent from their users to be able to process personal data and provide relevant ads.

Review our [COPPA FAQs](/en/faq/coppa/) for more information on behavior targeting.

## GDPR

To set GDPR consent:

<ul class="tab" data-tab="023ca2f3-64c3-4c50-ba2a-30cb81649672" data-name="iosGDPR">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="023ca2f3-64c3-4c50-ba2a-30cb81649672" data-name="iosGDPR">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/**
* GDPR support settings:
* nonbehavioral means the user does not consent to targeting (Contextual ads)
* behavioral means the user consents (Behavioral and Contextual Ads)
*/</span>
<span class="kt">Chartboost</span><span class="o">.</span><span class="nf">addDataUseConsent</span><span class="p">(</span><span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">GDPR</span><span class="p">(</span><span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">GDPR</span><span class="o">.</span><span class="kt">Consent</span><span class="o">.</span><span class="n">behavioral</span><span class="p">))</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/**
* GDPR support settings:
* CHBGDPRConsentNonBehavioral means the user does not consent to targeting (Contextual ads)
* CHBGDPRConsentBehavioral means the user consents (Behavioral and Contextual Ads)
*/</span>
<span class="p">[</span><span class="n">Chartboost</span> <span class="nf">addDataUseConsent</span><span class="p">:[</span><span class="n">CHBGDPRDataUseConsent</span> <span class="nf">gdprConsent</span><span class="p">:</span><span class="n">CHBGDPRConsentBehavioral</span><span class="p">]];</span>
</code></pre></div></div>
</li>
  
</ul>


Possible consent values are `CHBGDPRConsentBehavioral` and `CHBGDPRConsentNonBehavioral.`

Chartboost will store the consent status even after the app is closed. In order to reset this information use:

<ul class="tab" data-tab="b63be73d-f7ed-464b-b555-ddb8cfd98d57" data-name="iosGDPRclear">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="b63be73d-f7ed-464b-b555-ddb8cfd98d57" data-name="iosGDPRclear">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Chartboost</span><span class="o">.</span><span class="nf">clearDataUseConsent</span><span class="p">(</span><span class="nv">for</span><span class="p">:</span> <span class="kt">CHBPrivacyStandard</span><span class="o">.</span><span class="kt">GDPR</span><span class="p">)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">Chartboost</span> <span class="nf">clearDataUseConsentForPrivacyStandard</span><span class="p">:</span><span class="n">CHBPrivacyStandardGDPR</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>




## CCPA

To set CCPA consent:

<ul class="tab" data-tab="6318c667-e0f1-4365-b1df-f8243e9fc3c7" data-name="iosCCPA">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="6318c667-e0f1-4365-b1df-f8243e9fc3c7" data-name="iosCCPA">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/**
* CCPA support settings:
* optInSale(1YN-) means the user consents (Behavioral and Contextual Ads)
* optOutSale(1YY-) means the user does not consent to targeting (Contextual ads)
*/</span>
<span class="kt">Chartboost</span><span class="o">.</span><span class="nf">addDataUseConsent</span><span class="p">(</span><span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">CCPA</span><span class="p">(</span><span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">CCPA</span><span class="o">.</span><span class="kt">Consent</span><span class="o">.</span><span class="n">optInSale</span><span class="p">))</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/**
* CCPA support settings:
* CHBCCPAConsentOptInSale(1YN-) means the user consents (Behavioral and Contextual Ads)
* OPT_OUT_SALE(1YY-) means the user does not consent to targeting (Contextual ads)
*/</span>
<span class="p">[</span><span class="n">Chartboost</span> <span class="nf">addDataUseConsent</span><span class="p">:[</span><span class="n">CHBCCPADataUseConsent</span> <span class="nf">ccpaConsent</span><span class="p">:</span><span class="n">CHBCCPAConsentOptInSale</span><span class="p">]];</span>
</code></pre></div></div>
</li>
  
</ul>


Possible consent values are `CHBCCPAConsentOptInSale` and `CHBCCPAConsentOptOutSale`.

Chartboost will store the consent status even after the app is closed. In order to reset this information use:

<ul class="tab" data-tab="4582cb26-c8d1-4ad9-956b-2fe279bf383d" data-name="iosCCPAclear">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="4582cb26-c8d1-4ad9-956b-2fe279bf383d" data-name="iosCCPAclear">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Chartboost</span><span class="o">.</span><span class="nf">clearDataUseConsent</span><span class="p">(</span><span class="nv">for</span><span class="p">:</span> <span class="kt">CHBPrivacyStandard</span><span class="o">.</span><span class="kt">CCPA</span><span class="p">)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">Chartboost</span> <span class="nf">clearDataUseConsentForPrivacyStandard</span><span class="p">:</span><span class="n">CHBPrivacyStandardCCPA</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>




## COPPA

To set COPPA consent:

<ul class="tab" data-tab="22f296d2-77a8-4b9e-b97a-21765bc885e3" data-name="iOSCOPPA">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="22f296d2-77a8-4b9e-b97a-21765bc885e3" data-name="iOSCOPPA">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/**
* COPPA:
* true means that COPPA restrictions apply and the iOS advertising identifier (IDFA) is not transmitted. (Contextual ads)
* false means that COPPA restrictions do not apply. (Behavioral and Contextual Ads)
*/</span>
<span class="kt">Chartboost</span><span class="o">.</span><span class="nf">addDataUseConsent</span><span class="p">(</span><span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">COPPA</span><span class="p">(</span><span class="nv">isChildDirected</span><span class="p">:</span> <span class="kc">true</span><span class="p">))</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/**
* COPPA:
* true means that COPPA restrictions apply and the iOS advertising identifier (IDFA) is not transmitted. (Contextual ads)
* false means that COPPA restrictions do not apply. (Behavioral and Contextual Ads)
*/</span>
<span class="p">[</span><span class="n">Chartboost</span> <span class="nf">addDataUseConsent</span><span class="p">:[</span><span class="n">CHBCOPPADataUseConsent</span> <span class="nf">isChildDirected</span><span class="p">:</span><span class="nb">true</span><span class="p">]];</span>
</code></pre></div></div>
</li>
  
</ul>


Possible consent values are `true` and `false`.

Chartboost will store the consent status even after the app is closed. In order to reset this information use:

<ul class="tab" data-tab="d03837db-5c7e-4d34-86d7-b04e5f5059e8" data-name="iOSCOPPAclear">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="d03837db-5c7e-4d34-86d7-b04e5f5059e8" data-name="iOSCOPPAclear">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Chartboost</span><span class="o">.</span><span class="nf">clearDataUseConsent</span><span class="p">(</span><span class="nv">for</span><span class="p">:</span> <span class="kt">CHBPrivacyStandard</span><span class="o">.</span><span class="kt">COPPA</span><span class="p">)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">Chartboost</span> <span class="nf">clearDataUseConsentForPrivacyStandard</span><span class="p">:</span><span class="n">CHBPrivacyStandardCOPPA</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>




## LGPD

To set LGPD consent:

<ul class="tab" data-tab="c2122ebf-6d0e-41a2-accf-6d01c5ad0d5c" data-name="iOSLGPD">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="c2122ebf-6d0e-41a2-accf-6d01c5ad0d5c" data-name="iOSLGPD">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/**
* LGPD:
* true means that the user consents (Behavioral and Contextual Ads)
* false means that the user does not consent to targeting (Contextual Ads)
*/</span>
<span class="kt">Chartboost</span><span class="o">.</span><span class="nf">addDataUseConsent</span><span class="p">(</span><span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">LGPD</span><span class="p">(</span><span class="nv">allowBehavioralTargeting</span><span class="p">:</span> <span class="kc">true</span><span class="p">))</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/**
* LGPD:
* true means that the user consents (Behavioral and Contextual Ads)
* false means that the user does not consent to targeting (Contextual Ads)
*/</span>
<span class="p">[</span><span class="n">Chartboost</span> <span class="nf">addDataUseConsent</span><span class="p">:[</span><span class="n">CHBLGPDDataUseConsent</span> <span class="nf">allowBehavioralTargeting</span><span class="p">:</span><span class="nb">true</span><span class="p">]];</span>
</code></pre></div></div>
</li>
  
</ul>


Possible consent values are `true` and `false`.

Chartboost will store the consent status even after the app is closed. In order to reset this information use:

<ul class="tab" data-tab="cb2b79a0-e1db-45a2-8c32-68b05aa71d3e" data-name="iOSLGPDclear">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="cb2b79a0-e1db-45a2-8c32-68b05aa71d3e" data-name="iOSLGPDclear">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Chartboost</span><span class="o">.</span><span class="nf">clearDataUseConsent</span><span class="p">(</span><span class="nv">for</span><span class="p">:</span> <span class="kt">CHBPrivacyStandard</span><span class="o">.</span><span class="kt">LGPD</span><span class="p">)</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">Chartboost</span> <span class="nf">clearDataUseConsentForPrivacyStandard</span><span class="p">:</span><span class="n">CHBPrivacyStandardLGPD</span><span class="p">];</span>
</code></pre></div></div>
</li>
  
</ul>





## Custom Consent

Chartboost allows publishers to provide custom consent information, besides the predefined GDPR and CCPA values.

For example:

<ul class="tab" data-tab="6c484d21-c7b4-43ea-84f9-899b674165b7" data-name="iOSCustomConsent">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="6c484d21-c7b4-43ea-84f9-899b674165b7" data-name="iOSCustomConsent">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kt">Chartboost</span><span class="o">.</span><span class="nf">addDataUseConsent</span><span class="p">(</span><span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">Custom</span><span class="p">(</span><span class="nv">privacyStandard</span><span class="p">:</span> <span class="kt">CHBPrivacyStandard</span><span class="o">.</span><span class="kt">CCPA</span><span class="p">,</span> <span class="nv">consent</span><span class="p">:</span> <span class="s">"1NN-"</span><span class="p">))</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">Chartboost</span> <span class="nf">addDataUseConsent</span><span class="p">:[</span><span class="n">CHBCustomDataUseConsent</span> <span class="nf">customConsentWithPrivacyStandard</span><span class="p">:</span><span class="n">CHBPrivacyStandardCCPA</span> <span class="nf">consent</span><span class="p">:</span><span class="s">@"1NN-"</span><span class="p">]];</span>
</code></pre></div></div>
</li>
  
</ul>


<div class="alert alert-warning" role="alert">
  <b>Caution:</b> Currently, the only custom consent values allowed are valid <a href="https://iabtechlab.com/standards/ccpa/" target=_blank>IAB's U.S. Privacy String</a> for the <code>CHBPrivacyStandardCCPA</code> standard.
</div>



## Reading Consent Status

Use `dataUseConsent(for:)` to read the current consent for any privacy standard. This returns the same `CHBDataUseConsent` subclass that was passed to `addDataUseConsent(_:)`, or `nil` if no consent has been set.

<ul class="tab" data-tab="f544dff0-c43a-4830-a4fd-a49a083ed5db" data-name="iosReadConsent">
  
      <li class="active">
          <a href="#">swift </a>
      </li>
  
      <li>
          <a href="#">objective-c </a>
      </li>
  
</ul>
<ul class="tab-content" id="f544dff0-c43a-4830-a4fd-a49a083ed5db" data-name="iosReadConsent">
  
      <li class="active">
<div class="language-swift highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Check if GDPR consent has been set</span>
<span class="k">if</span> <span class="k">let</span> <span class="nv">gdpr</span> <span class="o">=</span> <span class="kt">Chartboost</span><span class="o">.</span><span class="nf">dataUseConsent</span><span class="p">(</span><span class="nv">for</span><span class="p">:</span> <span class="o">.</span><span class="kt">GDPR</span><span class="p">)</span> <span class="k">as?</span> <span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">GDPR</span> <span class="p">{</span>
    <span class="k">if</span> <span class="n">gdpr</span><span class="o">.</span><span class="n">consent</span> <span class="o">==</span> <span class="o">.</span><span class="n">nonBehavioral</span> <span class="p">{</span>
        <span class="c1">// User has not consented to behavioral targeting</span>
    <span class="p">}</span>
<span class="p">}</span>

<span class="c1">// Check if COPPA restrictions apply</span>
<span class="k">if</span> <span class="k">let</span> <span class="nv">coppa</span> <span class="o">=</span> <span class="kt">Chartboost</span><span class="o">.</span><span class="nf">dataUseConsent</span><span class="p">(</span><span class="nv">for</span><span class="p">:</span> <span class="o">.</span><span class="kt">COPPA</span><span class="p">)</span> <span class="k">as?</span> <span class="kt">CHBDataUseConsent</span><span class="o">.</span><span class="kt">COPPA</span> <span class="p">{</span>
    <span class="k">if</span> <span class="n">coppa</span><span class="o">.</span><span class="n">isChildDirected</span> <span class="p">{</span>
        <span class="c1">// COPPA restrictions apply</span>
    <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
      <li>
<div class="language-objectivec highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Check if GDPR consent has been set</span>
<span class="n">CHBGDPRDataUseConsent</span> <span class="o">*</span><span class="n">gdpr</span> <span class="o">=</span> <span class="p">[</span><span class="n">Chartboost</span> <span class="nf">dataUseConsentForPrivacyStandard</span><span class="p">:</span><span class="n">CHBPrivacyStandardGDPR</span><span class="p">];</span>
<span class="k">if</span> <span class="p">(</span><span class="n">gdpr</span> <span class="o">&amp;&amp;</span> <span class="n">gdpr</span><span class="p">.</span><span class="n">consent</span> <span class="o">==</span> <span class="n">CHBGDPRConsentNonBehavioral</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// User has not consented to behavioral targeting</span>
<span class="p">}</span>

<span class="c1">// Check if COPPA restrictions apply</span>
<span class="n">CHBCOPPADataUseConsent</span> <span class="o">*</span><span class="n">coppa</span> <span class="o">=</span> <span class="p">[</span><span class="n">Chartboost</span> <span class="nf">dataUseConsentForPrivacyStandard</span><span class="p">:</span><span class="n">CHBPrivacyStandardCOPPA</span><span class="p">];</span>
<span class="k">if</span> <span class="p">(</span><span class="n">coppa</span> <span class="o">&amp;&amp;</span> <span class="n">coppa</span><span class="p">.</span><span class="n">isChildDirected</span><span class="p">)</span> <span class="p">{</span>
    <span class="c1">// COPPA restrictions apply</span>
<span class="p">}</span>
</code></pre></div></div>
</li>
  
</ul>



