Skip to content

Remove SF1 (precise geolocation) consent validation for EUID#2338

Merged
sunnywu merged 3 commits into
mainfrom
UID2-6532-remove-sf1-consent-validation
Feb 3, 2026
Merged

Remove SF1 (precise geolocation) consent validation for EUID#2338
sunnywu merged 3 commits into
mainfrom
UID2-6532-remove-sf1-consent-validation

Conversation

@sunnywu

@sunnywu sunnywu commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Removes the Special Feature 1 (enable precise geo-location) validation from TCF consent checking for EUID token generation
  • This was a legacy requirement from LiveRamp that is no longer needed
  • Users with valid TCF purpose consents (1, 2, 3, 4, 7, 10) will now be able to generate EUID tokens without requiring SF1

Test plan

  • Verify existing EUID consent validation tests pass
  • Verify tokens can be generated with a TCF consent string that has all required purposes but lacks SF1
  • Verify tokens are still rejected when required purpose consents are missing

sunnywu and others added 2 commits February 3, 2026 10:31
The Special Feature 1 validation was a legacy requirement from LiveRamp
that is no longer needed. This change allows EUID token generation for
users who have the required TCF purpose consents but don't have SF1
(precise geolocation) enabled.

Resolves: UID2-6532
Co-authored-by: Cursor <cursoragent@cursor.com>
…ture is missing

Ensures TCF consent validation does not require SF1 (PreciseGeolocationData) opt-in.

Co-authored-by: Cursor <cursoragent@cursor.com>
v2Payload.put("email", emailAddress);
// TCF string with all required purposes but WITHOUT PreciseGeolocation special feature (feature 1)
String tcfStringWithoutPreciseGeolocation = createTcfConsentString(
new int[] { 21 }, // vendor consent

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor: Is it possible to rewrite this without needing createTcfConsentString?
e.g. TCStringEncoder.newBuilder().addVendorConsent(..)..addVendorLegitimateInterest(...)...

Only worthwhile if we don't have to include unrelated fields such as version().

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm i'll leave it for now

final boolean allowPreciseGeo = tcResult.getTCString().hasSpecialFeature(TransparentConsentSpecialFeature.PreciseGeolocationData);

if (!userConsent || !allowPreciseGeo) {
if (!userConsent) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like TransparentConsentSpecialFeature is no longer used, should we remove it or remove the values it has currently?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok removed

@sunnywu sunnywu merged commit ef5f299 into main Feb 3, 2026
9 checks passed
@sunnywu sunnywu deleted the UID2-6532-remove-sf1-consent-validation branch February 3, 2026 04:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants