# Configure a web notice

***

{% hint style="info" %}
Before creating your notice, you need to have a valid source declared in AppConsent.&#x20;

See section [**Create a source**](https://docs.sfbx.io/configuration/step-2-create-a-notice/2.1.-create-a-source) in order to learn how to create a new source
{% endhint %}

In the left menu, click on **Notices** and then on **CREATE NOTICE**.

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2Fohyenrv5mVcC2l6mQkBt%2FAdd-notice.png?alt=media&#x26;token=1b8ed6ae-ad9b-41c2-8058-13513f56f6dc" alt=""><figcaption></figcaption></figure>

## **Settings**

* **Source**: Select the source you want to attach the notice to. Notice is always linked to one source.
* **Notes**: Add the comments you want. It’s a reminder for your own usage and it will not be displayed anywhere in the notice.

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FkWo2ARoMy3dUplJBGJuS%2FAdd-notice-2.png?alt=media&#x26;token=ed09d11e-9f9e-40a8-9a9f-ea4005c13a52" alt=""><figcaption></figcaption></figure>

## **Language & text customization**

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2Fzy9e9ns2KVvbqNEIJ2nB%2FAdd-notice-text-translation.png?alt=media&#x26;token=2fa5602c-17a2-4049-ba93-ca2c95c54f50" alt=""><figcaption></figcaption></figure>

### Languages

Select the language you want to be included in your notice. Languages available for web notice:

* English
* French
* Spanish
* Italian
* German
* Dutch
* Portuguese
* Polish
* Bulgarian
* Czech
* Catalan
* Swedish
* Danish
* and 36 other languages available

### Default language

This language will be used if the browser language is not configured in one of the languages included in the notice.

By default, a new notice is configured in English only. But you can add other languages and translations.

### Privacy policy URL <a href="#privacy-policy-url" id="privacy-policy-url"></a>

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FVkG245wxff8G7zPz7iIL%2FCapture%20d%E2%80%99e%CC%81cran%202026-03-04%20a%CC%80%2014.49.55.png?alt=media&#x26;token=9e01ce7b-3858-4d7f-89ac-d6b0044bb51c" alt=""><figcaption></figcaption></figure>

Add the link to your privacy policy for each of the languages selected above. This link will be automatically added to the **"See more paragraph" banner** field in the text customization section once the notice has been created.

### Text customization

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FXMVvdLnEFLIEXmIHloZR%2FAdd-notice-text-translation-2.png?alt=media&#x26;token=6d2e4bd3-2f13-499e-990f-0e1c0fed3d32" alt=""><figcaption></figcaption></figure>

In each language tab, you will find all text of your notice. You can modify them. But you can also reset the default texts by clicking on **Reset to default**.

{% hint style="warning" %}
**IMPORTANT**

Please note that the default text of the banner **banner\_moreDetails\_paragraphs** field does not mention your link to your privacy policy page.&#x20;

If the `<privacy_policy_url>` tag is not present in the **"See more paragraph" banner** field, be sure to add your own link by completing the `<a\>` tag.
{% endhint %}

It is possible to create links in text to redirect users to other parts of the notice. For this, two tags are available:

* **\<goto\_vendors>**: Allows to create a redirection link to the list of all partners (vendors) that are present in the notice.
  * Note: The **\<goto>** tag is deprecated, use **\<goto\_vendors>** instead
* **\<goto\_settings>**: Allows to create a redirection link to consent settings page

The titles of the IAB purposes and their definitions can't be changed. It's due to the IAB TCF compatibility with their Term & Privacy policies.

## **Banner layout**

#### Display layout

Choose between a bottom banner or a middle modal window.

### Consent buttons

* Choose the buttons and their order on the introduction page
* Choose to add or not the "Continue without accepting" button so that the user can leave the notice without making a choice. By default, it is a link "continue without accepting" placed at the top right of the window.

{% hint style="info" %}
**NOTE**

From April 1st, 2021, the "Refuse All" button is mandatory in France. To learn more about the new guidelines of the CNIL since April 1st, you can have a look at our [dedicated article](https://sfbx.io/2021/03/21/la-cnil-renforce-ses-lignes-directrices-sur-lusage-des-cookies-mais-sfbx-avait-deja-pense-a-tout-ou-presque/)
{% endhint %}

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2Fs7byEA3C51z0VbncJbXm%2FAdd-notice-banner-layout.png?alt=media&#x26;token=219b8a98-7df1-44d6-9ea5-1eaa5e2c82a7" alt=""><figcaption></figcaption></figure>

### Illustration

Choose to display illustrations or not on your banner. (only available for Clear banner). The default image is the one provided by SFBX, but you can customize it using the three upload fields below the activation switch.

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FMS2W7gQlFMOOXhtFkBG6%2FCapture%20d%E2%80%99e%CC%81cran%202026-03-24%20a%CC%80%2009.48.31.png?alt=media&#x26;token=88e6bd5c-d3b4-4164-87fc-3dce263fb136" alt=""><figcaption></figcaption></figure>

### Success Screen

Activate this option if you want the following screen when the user goes beyond the introduction screen and makes mixed choices.&#x20;

<div align="left"><figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FMO91R9iCFVrSdZM8rpgx%2FConfigure_webnot4.png?alt=media&#x26;token=7a972b0c-6444-47a7-b004-813d0f8b41e4" alt="" width="375"><figcaption></figcaption></figure></div>

### Display purposes list on layer 1

*\[ Standard, Essential & Premium Plans]*&#x20;

Choose to display or hide the list of processing purposes used by you and your partners on the main page of the banner.

{% hint style="danger" %}
**IMPORTANT**

Please note that the IAB TCF (Transparency and Consent Framework) and the various European DPAs require the purposes of processing to be displayed. If you deactivate this option, it is your responsibility to inform your users in an appropriate manner about the purposes for which their personal data is processed.
{% endhint %}

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FMVONA83XTWC7m93xoZSq%2FAdd-notice-banner-layout-2.png?alt=media&#x26;token=6ca0924f-e60e-481b-bda0-f0c8378cec52" alt=""><figcaption></figcaption></figure>

### Privacy widget

This option enables you to activate the privacy widget and configure its display (colour, position and text). [**More information**](https://docs.sfbx.io/go-further/compliance/display-privacy-widget)

### Url redirect

The CMP offers the option of defining redirection urls after the click for each consent button ("refuse all", "accept all" and "continue without accepting") on each page (main and settings).

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FJnnUk8rhgt8EIXtzjlno%2FAdd-notice-banner-layout-3.png?alt=media&#x26;token=92295af0-73e0-4b34-bb54-4563f5b1b1c1" alt=""><figcaption></figcaption></figure>

## **UI customization**

*\[ Standard, Essential & Premium Plans ]*

### Banner pictures

* **Add a logo or icon** : Your image will be displayed on your banner
* **Add a logo or icon to be displayed on the success page** : If you have chosen to display a success screen, choose the image to be displayed on it.

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FYsWK8dzCl0NHUnCkkKOm%2FAdd-notice-ui-customization.png?alt=media&#x26;token=99900550-3949-4624-899e-4c37bf6e0102" alt=""><figcaption></figcaption></figure>

### Buttons and texts color

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FUNsZfFG8ph8op3JLUJnJ%2Fcolor-configuration.png?alt=media&#x26;token=77f627a2-36e4-4b59-a0af-4954be0c9c72" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**NOTE**

If you do not fill any color codes, then the default colors will be applied.
{% endhint %}

#### **Header and background**

{% tabs %}
{% tab title="Clear template" %}

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FV0wHquWkyN1S7YgQok5D%2FAdd-notice-customization-clear.png?alt=media&#x26;token=d3473d3d-f310-456d-a483-b07b640dfdd4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2F8lznuwTPxElhaF6vNBuR%2Foverlay-color.png?alt=media&#x26;token=7555da78-762b-4fc5-8cd7-969fa12a0759" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Classic template" %}

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FJmSwGihuaNPMA3Lsr1mx%2FAdd-notice-customization-classic.png?alt=media&#x26;token=ab207883-64a3-4134-a890-1ca7b8b6d131" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

#### **Consent buttons**

{% tabs %}
{% tab title="Clear template" %}

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FNqzRm1tAhfeJI1hFBgCl%2FAdd-notice-ui-customization-clear-2.png?alt=media&#x26;token=f31cf11a-0e9b-4871-9895-166bcac950d2" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Classic template" %}

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2F69M1Yxvye671Ritglq3X%2FAdd-notice-ui-customization-classic-2.png?alt=media&#x26;token=886f1d2a-9def-403d-8188-8fbaf7c392be" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

{% hint style="danger" %}
**ATTENTION**

Following the latest declarations of the CNIL, we insist that you do not favor one CTA over another. The European regulator is particularly attentive to this subject. For example, if you change the style ( background, size...) of an Accept button, you must apply the same style to the **Configure** or **Reject** button.
{% endhint %}

#### **Switches**

{% tabs %}
{% tab title="Clear template" %}

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FPsvvRXWzSsZMC2yJu7Sx%2FConfigure_webnot13_clear.png?alt=media&#x26;token=ac1a32b4-a82f-4924-a869-fa663ed7001a" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Classic template" %}

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2F63kmvByKlxmyuCMys1YA%2FConfigure_webnot13.png?alt=media&#x26;token=f4a8e4bb-e3df-4628-8ca9-cac064af8d45" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### Custom CSS

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FdquWW91gDRyZSdshTmX4%2FAdd-notice-ui-customization-3.png?alt=media&#x26;token=9aaaa6c6-ee1d-4d25-9262-d8b4b42d8bcc" alt=""><figcaption></figcaption></figure>

#### Additional CSS code

{% hint style="warning" %}
**ATTENTION**

CSS customization presented below is only for CMP with **classic** template. We advise you not to modify CSS properties of the CMP, especially geometrical properties. Indeed, we provide defaults that were intensely tested for responsivity.
{% endhint %}

<details>

<summary>Example of full CSS customization</summary>

```css
/* global variables */
:root {
    --background-color: #F6F6F6;
    --primary-color: #1F66BA;
    --font-color: #545465;
}
article.banner {
    background-color: var(--background-color);
    color: var(--font-color);
    border-top: 0;
    padding: 16px;
    box-sizing: border-box;
    height: auto;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5);
}
@media (min-width: 900px) {
    article.banner {
        padding: 24px 32px;
    }
}
/* banner header */
.banner .banner__header,
.banner .banner__header + main {
    padding-left: 0;
    padding-right: 0;
}
.banner .banner__header + main {
    padding-right: 40px;
}
.banner .banner__header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 10px;
}
.banner .banner__header .title {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.04em;
    margin: 10px 0 0 0;
}
.banner .brandTitle {
    max-width: 200px;
    margin: 0;
}
.banner .brandTitle img {
    width: 100%;
    display: block;
}
@media (min-width: 900px) {
    .banner__header {
        flex-direction: row;
        align-items: flex-end;
    }
    .banner .banner__header .title {
        margin-top: 0;
        margin-left: 24px;
    }
}
/* banner actions */
.banner .banner__controlArea {
    padding: 24px 0 0 0;
    margin: 24px 0 0 0;
    flex-direction: row;
    justify-content: left;
    align-content: center;
    flex-wrap: wrap;
    position: relative;
    box-shadow: none;
}
.banner .banner__controlArea:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: inherit;
    height: 1px;
    background-color: var(--font-color);
}
@media (min-width: 900px) {
    .banner .banner__controlArea {
        padding-top: 48px;
        padding-bottom: 24px;
        padding-left: 64px;
        margin: 0;
    }
    .banner .banner__controlArea:before {
        top: 24px;
        right: inherit;
        bottom: 24px;
        width: 1px;
        height: auto;
    }
}
.banner .banner__controlArea > section {
    margin: 0;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
}
@media (min-width: 900px) {
    .banner .banner__controlArea > section {
        width:auto;
    }
}
.banner .banner__controlArea .fadedText {
    flex: 0 0 100%;
    margin: 12px 0 0;
}
.banner .banner__controlArea .banner__moreContent {
    margin-top: 0;
}
/* Generic elements (scoped with banner class to avoid side effects on other elements) */
.banner .baseText {
    font-size: 13px;
    line-height: 16px;
    color: var(--font-color);
    font-weight: 300;
}
/* link */
.banner .link {
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
    position: relative;
}
.banner .link:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: var(--primary-color);
    bottom: 0px;
    transition: transform 0.35s ease;
    transform-origin: center center;
}
.banner .link:hover:before,
.banner .link:hover:focus
.banner .link:hover:active {
    transform: scaleX(0);
}
/* button */
.banner .button {
    border: 1px solid var(--primary-color);
    border-radius: 4px;
    margin: 0 24px 12px 0;
    padding: 12px 20px;
    background-color: transparent;
    position: relative;
    overflow: hidden;
    flex: 0 0 100%;
}
.banner .button:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
    transform-origin: center bottom;
    transform: scaleY(0);
    transition: transform 0.35s ease;
}
.banner .button:hover:before,
.banner .button:focus:before,
.banner .button:active:before {
    transform: scaleY(1);
}
.banner .button .baseText {
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
    color: var(--primary-color);
    position: relative;
    z-index: 1;
    transition: color 0.35s ease;
}
.banner .button:hover .baseText,
.banner .button:focus .baseText,
.banner .button:active .baseText {
    color: white;
}
.banner .button--filled {
    background-color: var(--primary-color);
}
.banner .button--filled:before {
    background-color: var(--background-color);
}
.banner .button--filled .baseText {
    color: white;
}
.banner .button--filled:hover .baseText,
.banner .button--filled:focus .baseText,
.banner .button--filled:active .baseText {
    color: var(--primary-color);
}
@media (min-width: 500px) {
    .banner .button {
        flex-basis: auto;
    }
}
/* Tweak for iFrame height */
@media (min-width: 900px) {
    .frame-root {
        display: flex;
        height: 100vh;
    }
    .frame-content {
        display: flex;
        align-items: flex-end;
        height: 100%;
    }
}
```

</details>

{% hint style="info" %}
**NOTE**&#x20;

**CSS** : You can past specific CSS rules to customize the UI and adapt it. You can change the background color and so on.&#x20;

Example:

`ac-notice .intro {`&#x20;

`background: white!important;`&#x20;

`color: #656565!important;`

`}`&#x20;

`.intro .title {`&#x20;

`color: #656565!important;`

`}`

The CSS rules are common for each languages.
{% endhint %}

#### Additional CSS code for AMP&#x20;

If you're using AMP, put in this field the same code as above.

{% hint style="info" %}
**INFO**

If Additional CSS code for AMP is empty, the classic CSS will be applied to all notices, including AMP.

If Additional CSS code for AMP is filled in, it will be applied to AMP notices, the classic CSS will be applied to other notices.
{% endhint %}

## **Google Consent Mode (GCM) settings**

Enable GCM (Google Consent Mode) so that Google Analytics is controlled by the CMP. See the [**AppConsent configuration for Google Analytics**](https://docs.sfbx.io/configuration/step-3-notice-implementation-web-app-tv/google-gtm/manage-google-analytics) section.

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FPfzY35Pt7BwQeXuWF66x%2Fgcm-properties.png?alt=media&#x26;token=9db3e032-ae0e-4c8c-ad1b-86f60b9e7d77" alt=""><figcaption></figcaption></figure>

### Enable TCF integration with GCM

Allows Google to use the IAB Transparency & Consent Framework to send consent signals to Google tags. [**Learn more**](https://developers.google.com/tag-platform/security/guides/implement-TCF-strings)

### Enable GCM Basic Consent Mode

Delay the loading of Google tags until the user interacts with the notice, thereby regulating data transmission. [**Learn more**](https://support.google.com/google-ads/answer/10000067?hl=en\&sjid=11442004191081153688-EU).

### Countries to exclude

Allows you to define a list of countries in which Google Consent Mode will not be applied.

### Url\_passthrough

When this property is activated, Google can transmit information in the URL about ad clicks. [**Learn more**](https://developers.google.com/tag-platform/security/guides/consent?hl=en\&consentmode=advanced#passthroughs).

### Ads\_data\_redaction

Used to hide ad data when ad\_storage is set to **denied**. [**Learn more**](https://developers.google.com/tag-platform/security/guides/consent?hl=en\&consentmode=advanced#redact_ads_data).

## **Advanced settings**

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2F9RKGv4yDjIGpn9L2jASO%2FCapture%20d%E2%80%99e%CC%81cran%202026-03-03%20a%CC%80%2014.36.06.png?alt=media&#x26;token=35947823-d325-4724-a777-ad7fbd9d4485" alt=""><figcaption></figcaption></figure>

### ForceGDPRApplies

Enables you to force the notice to be displayed for all visitors from any country in the world.

### GDPR extra countries

When this property is configured, the notice will only be displayed for the list of countries selected, in addition to countries already displayed according to the rules defined by the RGPD.

### Floating extra purpose

A floating purpose is a purpose for which only the storage of the consent is concerned. See the **Floating purpose feature** section.

{% hint style="info" %}
**NOTE**

The text part is managed on your side. In the case of Floating, it is a new API save-floating-purpose route that receives them with the UUID, the AppKey of the notice as well as the possible External IDs. The consent payload is stored separately in another table. If the payload contains an external ID it must be saved as it is at the moment in order not to lose the correspondence UUID/ContractID etc.
{% endhint %}

### Enable Legitimate Interest purposes when Refuse All/Continue without accepting (skip)

If the user refuses or leaves, you can decide to collect any data (switch off) or collect only data for purposes under a legitimate interest legal base (switch on)

{% hint style="info" %}
**NOTE**

As recommended by the Italian regulator, the Garante, our **Continue without accepting** link is automatically replaced by a cross for all web notices, for whom the user browser is in Italian. This cross has the same effect as our link Continue without accepting: close the notice with no consent.
{% endhint %}

### Excluded URLs from display

You can prevent the notice from being displayed by entering either a specific URL or a regular expression matching the pages to exclude. For example, for a Privacy Policy page, you can provide its full URL directly or define a regex targeting its path. Any URL matching the entered value will not trigger the display of the notice.

### Consent retention period

These default values, which we recommend, allow you to be in compliance while maximizing your consent rates. Those durations represent the time lapse before the consent notice will be displayed again and consent will be sought once more.

<figure><img src="https://4229351976-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkyFlZKFaKP4MUM0zILOg%2Fuploads%2FNAcorKk7ni3goyptbjIM%2FAdd-notice-advanced-settings-3.png?alt=media&#x26;token=b04b7905-2693-426e-9636-b0ee7bf4e329" alt=""><figcaption></figcaption></figure>

* Accept all: **12 months**
* Refuse all: **6 months**
* Mixed choice: **12 months**
* (If applicable) Continue without accepting: **3 days**

You can modify the durations at any time.

{% hint style="info" %}
If you have created your consent notice before October 28th, 2021, the default settings for mobile consent notices are on 12 months for all choices. Feel free now to adjust them.
{% endhint %}

## Save the notice

{% hint style="success" %}
Then click on **Save**. The notice in Production is updated and ready to be implemented in your application.
{% endhint %}

Each update is stored in a specific ledger in our blockchain stack. We store the whole notice and the text altered, precise timestamp, account\_id, consoleUserID, and so on.
