Consenti

Notice Only

ℹ️Compliance group: notice-only — consent is written automatically as granted for all cookies. The banner is shown once as an informational notice; no user action is required. Use compliance: { type: 'notice-only' } in your ConsentiSetup config.

The Notice Only mode is for websites that are not subject to opt-in or opt-out privacy laws but still want to inform visitors about their use of cookies. It is also appropriate for internal tools, intranet sites, and jurisdictions where a simple disclosure is sufficient.

When to use Notice Only

  • Your site operates in jurisdictions that do not require active consent for analytics cookies
  • All cookies you use are strictly necessary (no opt-in / opt-out required)
  • You want to show a one-time informational banner without blocking user interaction
  • You are running an internal tool or intranet where employees have been informed by policy
⚠️Notice Only should not be used for sites serving users in the EU / EEA (GDPR), California (CPRA), or other jurisdictions that require explicit opt-in or opt-out consent for non-essential cookies. Use the appropriate compliance group for your audience instead.

Behaviour

In Notice Only mode:

  • All cookies are automatically granted on first visit — no user action required
  • The banner appears once as a disclosure and is dismissed automatically or by clicking any button
  • No preference modal is required, though one can still be shown via widget.showModal()
  • Consent is stored with source: 'notice' in the consent record

Configuration example

ts
import { ConsentiSetup } from '@consenti/ui'

new ConsentiSetup({
  compliance: { type: 'notice-only' },
  profileOverride: {
    mainBanner: {
      position: 'bottom',
      heading: 'Cookie Notice',
      htmlText: 'This site uses cookies for essential functionality and analytics. By continuing to use this site you accept our use of cookies.',
      buttons: [
        { text: 'OK', style: 'primary', action: 'custom', cookies: '*' },
        { text: 'Privacy Policy', style: 'text', action: 'link', url: '/privacy' },
      ],
    },
  },
})

Combining with a preference modal

Even in Notice Only mode you can offer a preference modal for transparency. Users who open it will see their cookies already granted but can deny specific ones if they choose.

ts
new ConsentiSetup({
  compliance: { type: 'notice-only' },
  profileOverride: {
    mainBanner: {
      position: 'bottom',
      htmlText: 'We use cookies to improve your experience.',
      buttons: [
        { text: 'Got it',     style: 'primary',   action: 'custom', cookies: '*' },
        { text: 'Manage',     style: 'secondary', action: 'manage' },
        { text: 'Learn more', style: 'text',      action: 'link', url: '/privacy' },
      ],
    },
    preferenceModal: {
      heading: 'Cookie Preferences',
      subheading: 'All cookies are enabled by default. You may turn off optional ones below.',
      showClose: true,
      buttons: [
        { text: 'Save Preferences', style: 'primary', action: 'submit' },
      ],
      categories: [
        {
          id: 'cat-necessary',
          heading: 'Necessary',
          htmlText: 'Required for the site to function.',
          mandatory: true,
          cookies: ['necessary'],
        },
        {
          id: 'cat-analytics',
          heading: 'Analytics',
          htmlText: 'Helps us understand how the site is used.',
          cookies: ['analytics'],
        },
      ],
    },
  },
})

Listening for consent events

Even in Notice Only mode, consenti:consentSubmitted fires when the automatic grant is written. Use onReady on subsequent page loads to check stored consent.

ts
const widget = new ConsentiSetup({ compliance: { type: 'notice-only' } })

widget.onReady(() => {
  const consent = widget.getConsent()
  if (consent?.analytics === 'granted') loadAnalytics()
})