# California Invasion of Privacy Act (CIPA)

{% hint style="success" %}
**Access Type**: Consent Notices - Editor
{% endhint %}

The California Invasion of Privacy Act (CIPA) is a state-specific law that requires consent from all parties to engage in wiretapping or use a trap and trace device. CIPA has been a popular tool in recent years to challenge the use of website tracking technologies such as web pixels, session replay software, and chatbots by alleging that these technologies intercept and transmit information about end-user interactions with a website to third-parties.

In this article, we will cover how to configure and implement a consent notice that mitigates your organization's risk under the California Invasion of Privacy Act (CIPA).&#x20;

* [Configure consent notice](#configure-consent-notice)
* [Implementation](#implementation)
* [Testing](#testing)

{% hint style="info" %}
[Click here](https://www.didomi.io/blog/california-invasion-of-privacy-act-cipa) to learn more about about the California Invasion of Privacy Act (CIPA) in the Didomi blog.
{% endhint %}

***

### Configure consent notice

Didomi has identified two ways in which your organization can configure your consent notice to mitigate risk under the California Invasion of Privacy Act (CIPA) based on the way your organization is collecting consent.&#x20;

| [Implied consent](#implied-consent) | By navigating to the website the end-user is providing consent to the conditions conveyed in the first layer of the consent notice. |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| [Express consent](#express-consent) | The end-user has to explicitly provide consent to the purposes and vendors                                                          |

{% hint style="warning" %}
**Note**: Please confer with your organization's legal counsel before proceeding with implied or express consent configuration.&#x20;
{% endhint %}

To start, click **Consent Notices** on the left-hand panel and select **Create a notice** on the subsequent page.

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2F7RO0x6BdIF1sG3bCh8q4%2FScreenshot%202026-01-13%20at%208.39.11%E2%80%AFAM.png?alt=media&#x26;token=4d9c065d-ed0d-4fd9-a6f5-a097717bf255" alt="" width="563"><figcaption></figcaption></figure>

Select the platform for your consent notice and click **Go to next step**.

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2Fx8iqsmEHRvA0pU0F3vub%2FScreenshot%202026-01-13%20at%208.44.48%E2%80%AFAM.png?alt=media&#x26;token=c741ec7a-4e6c-4a7e-81be-1d60a1aba506" alt="" width="563"><figcaption></figcaption></figure>

Use the following steps to select if your organization is leveraging any existing frameworks (e.g. Global Privacy Protocol (GPP)) for the consent notice. Click **Generate my Consent Notice** when finished.&#x20;

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2FgwRAPrNMC8kq7JOTANbR%2FScreenshot%202026-01-13%20at%209.02.33%E2%80%AFAM.png?alt=media&#x26;token=bccfc3cf-90a8-4838-b99d-13bcf87e2fbb" alt="" width="563"><figcaption></figcaption></figure>

Navigate to the **Regulations** sub-tab of the **Regulations** tab and enable the toggle for the California Privacy Rights Act (CPRA).

Click **Edit Vendors and Purposes** inline with CPRA.

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2FCPWqfHobZLSmVC1HMWt3%2FScreenshot%202026-01-13%20at%209.16.03%E2%80%AFAM.png?alt=media&#x26;token=c21177d8-0dac-4d04-ad7e-45675097abec" alt="" width="563"><figcaption></figcaption></figure>

Use the Vendors section of the subsequent page to add vendors to the consent notice.&#x20;

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2FqoEhgQ7muV17nxFm6fRn%2FScreenshot_2026-02-19_at_9_54_41%E2%80%AFAM.jpg?alt=media&#x26;token=4230e1dd-7515-4125-94c0-784ccf8a5e6d" alt="" width="563"><figcaption></figcaption></figure>

When finished, navigate to the Processing rule overrides section and click **Add override**.&#x20;

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2FyyB24JXBrbI73NkJYMRx%2FScreenshot_2026-01-13_at_9_43_02%E2%80%AFAM.jpg?alt=media&#x26;token=9d5fe02d-b001-42e0-8155-b217ccc8c7f9" alt="" width="563"><figcaption></figcaption></figure>

In the Add override modal:

{% stepper %}
{% step %}
Use provided drop-down menu to select a purpose
{% endstep %}

{% step %}
Select all vendors to which the purpose applies
{% endstep %}

{% step %}
Select option for **Require consent for selected vendors**
{% endstep %}

{% step %}
Click **Save** when finished.
{% endstep %}
{% endstepper %}

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2FPnZidURg25giBf25ei4a%2FScreenshot_2026-01-13_at_9_54_03%E2%80%AFAM.jpg?alt=media&#x26;token=bdaa3761-1f14-486d-89bc-31380894089c" alt="" width="323"><figcaption></figcaption></figure>

Repeat for every purpose associated with your consent notice.

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2F8IMsClYqKEAHdwhKwpMr%2FScreenshot%202026-01-13%20at%209.58.51%E2%80%AFAM.png?alt=media&#x26;token=8510f5db-6636-4be3-88c9-cb36f5164574" alt="" width="563"><figcaption></figcaption></figure>

Click **Save** to confirm your changes to the Purposes & Vendors section of the consent notice.

Next, select the **Customization** tab to edit the end-user experience when interacting with your consent notice and click **Content Editor**.

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2F11ca3zZdNjg2Qdxjlyuo%2FScreenshot%202026-02-19%20at%2010.33.39%E2%80%AFAM.png?alt=media&#x26;token=38756717-4c9a-4678-850f-369c7dd20b1d" alt="" width="563"><figcaption></figcaption></figure>

Refer to the tabs below for customization strategies based on whether your organization is utilizing implied consent or express consent.

{% tabs %}
{% tab title="Implied consent" %}
The implied consent customization strategy relies on the customer navigating beyond the consent notice to the website as implicit consent to the terms and conditions outlined in the first layer of the consent notice.&#x20;

For this strategy, your organization will want to perform the following:

* Explicitly state in the first layer of the consent notice that navigation to the site means that the end-user accepts your organization's conditions
* Hide any buttons/links that allow end-user to navigate to the second layer of the consent notice

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2FvGoepP5Fh68rYaT3hOAI%2FScreenshot%202026-01-13%20at%2010.50.22%E2%80%AFAM.png?alt=media&#x26;token=648e40df-0f2c-4afa-8009-352201ac9c43" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Note**: In the above example, the **Agree and close** button has been renamed to **Continue to site**. This change is optional.&#x20;
{% endhint %}
{% endtab %}

{% tab title="Express consent" %}
The express consent customization strategy relies on the customer actively providing consent to the purposes associated with the consent notice. Without express consent, end-user is not collected.

In addition to including **Agree and close** button, your organization can leverage custom JSON (via **Advanced settings**) to further customize the consent notice to perform the following:

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2FfbnicKREFSb0zbCQ1wSf%2FScreenshot%202026-02-19%20at%2011.19.20%E2%80%AFAM.png?alt=media&#x26;token=0c7368f2-4cf1-49ec-bf45-ccb34e09e9e6" alt="" width="563"><figcaption></figcaption></figure>

<table><thead><tr><th width="230">Customization</th><th>Custom JSON</th></tr></thead><tbody><tr><td>Add a <a href="https://developers.didomi.io/cmp/web-sdk/consent-notice/notice/look-and-feel#continue-without-agreeing-link">Continue without agreeing</a> link</td><td><pre class="language-json"><code class="lang-json">{
  "notice": {
    "denyOptions": {
      "button": "secondary",
      "link": true
    }
  }
}
</code></pre></td></tr><tr><td>Add a Disagree and Close button</td><td><pre><code>{
  "notice": {
    "content": {
      "activeElements": [
        "deny",
        "dismiss"
      ]
    }
  }
}
</code></pre></td></tr></tbody></table>

Please confer with your organization's legal counsel before proceeding with the customization.

{% hint style="warning" %}
**Note**: The above customizations will impact consent notices across all regulations configured for the consent notice. Didomi recommends that if your consent notice is designed for multiple regulations that your organization create a separate consent notice specifically for the California Invasion of Privacy Act (CIPA) use case.
{% endhint %}

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2F3NTER44dHUzJQd0OCC3c%2FScreenshot%202026-02-19%20at%2010.45.36%E2%80%AFAM.png?alt=media&#x26;token=68daa93a-9618-447d-a626-860808460069" alt="" width="562"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

Click **Save & continue** to confirm your changes.

### Implementation

From the final page of the consent notice workflow, click **Publish** to enable your consent notice on websites and/or applications.&#x20;

Follow the prompts on the page to add the configure the vendor tags and Didomi SDK onto your website and/or property.

{% hint style="info" %}
[Click here ](https://developers.didomi.io/cmp/web-sdk/third-parties/no-tag-manager)to learn how to conditionally load vendor tags based on the end-user's consent to a vendor and/or its purposes using custom Didomi `<script>` tags.
{% endhint %}

<figure><img src="https://1825037175-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNDxbAdc00ce6bH5u1urh%2Fuploads%2FoHqK2kcpMEKp7vlbhomE%2FScreenshot%202026-02-19%20at%2010.50.16%E2%80%AFAM.png?alt=media&#x26;token=36dee3f7-d43e-404b-b7c0-e125d3a037b6" alt="" width="563"><figcaption></figcaption></figure>

### Testing

The method by which your organization tests compliance with the California Invasion of Privacy Act (CIPA) will depend on a variety of factors, including how the Didomi consent notice was implemented on your website or app. Some testing requirements that your organization should validate is that:

1. The consent notice behaves as expected when the end-user performs specific actions
2. No tracking technology (tags, pixel, cookies, etc...) should be fired until the end-user provides consent.&#x20;
