The cookie declaration is a public, auto-generated table of every cookie and storage item on your site, grouped by consent category and populated from your latest scan. Embed it once on your cookie policy page and it stays current automatically.
Rendered public cookie declaration table grouped by category

Embedding the declaration

On any page where the banner script is installed, add:
<div id="trueprivacy-declaration"></div>
banner.js detects the container and renders the declaration into it. No extra script tag or API key is needed — the site is identified by the same public key the banner uses.

What is rendered

The declaration renders a table grouped by consent category (Necessary, Preferences, Statistics, Marketing, and any custom categories), with one row per artifact:
ColumnExample
Name_ga
ProviderGoogle Analytics
Domain.example.com
Expiry2 years
TypeFirst-party / Third-party
StorageCookie / localStorage / sessionStorage
Category descriptions from your category configuration appear above each group, in the visitor’s language where translations exist.

Data source and freshness

  • Content comes from the latest completed scan for your site, including your manual re-categorizations.
  • Responses are cached for 1 hour, so a new scan is reflected on your policy page within an hour at most.
  • The underlying endpoint is public:
GET /v1/public/consent/{publicKey}/declaration
{
  "generatedAt": "2026-07-24T09:12:44Z",
  "categories": [
    {
      "name": "Statistics",
      "description": "Statistics cookies help us understand how visitors interact with the website.",
      "cookies": [
        {
          "name": "_ga",
          "provider": "Google Analytics",
          "domain": ".example.com",
          "expiry": "2 years",
          "party": "third",
          "storage": "cookie"
        }
      ]
    }
  ]
}
Pair the declaration with scheduled scans. Weekly scans plus the embedded declaration mean your public disclosures update themselves — a requirement many teams otherwise handle with error-prone manual tables.
If no scan has completed yet, the container renders an empty state. Run your first scan before publishing the policy page.