Skip to content

v1.59.0 - usercentrics 1.6.0

Choose a tag to compare

@ryanbr ryanbr released this 16 Oct 00:02
· 15 commits to main since this release
56fd61c

Keep what their own deny-all keeps.

Their essential services survive their own Deny. A captured deny-all on a v3
tenant left six consented - a payment CDN, Cloudflare, Cognigy, Dash0, Google
Fonts and the CMP itself - while this resource refused every service it found,
which refuses more than the visitor did and takes delivery and checkout with it.

Which services a tenant calls essential lives in the configuration this never
fetches, so it is read where it exists and guessed narrowly where it is not:

  • a record their CMP wrote for a deny-all (updatedBy: onDenyAllServices)
    names them exactly: anything still consented in it survived a refusal.
  • with only an accept-all to go on, the fallback is their own CMP by name
    prefix, Google Fonts, Cloudflare, and anything named a CDN. reCAPTCHA is
    deliberately absent, because this tenant marks it non-essential - a reminder
    that a name guess overrides their classification rather than reading it.

Applied to all three records this writes: ucData.consent.services, the
name-keyed gcmStatus.consentStatus.services, and the v2 uc_settings list.

Also: getControllerId answers with the id a returning visitor already carries
instead of an empty string.

Following v1.58.0, which aligned the record with their gcmStatus shape.