-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Developer-Friendly TCF Experiences #4160
Conversation
…l core tc string.
- Fix vendor legitimate interests section - Fix padding bitstring with the appropriate number of bits
…rpose with a legal basis of consent. - Also add handling for a reject-all tc string.
…erience contents so we don't have to build this again. - Add a first stab at the mobile data object schema - Add a tc_string key to the schema for saving privacy preferences.
…e for reject all.
…rs from the tc string - not the entire experience, not the experience config, etc.
…when GET PrivacyExperience is called without filters.
…r some of the methods to only build the tc models up front since they are used for the tc string and mobile data.
…thout knowing the location of a specific user.
…s vendor is not in the GVL
- Make TCMobileData format match casing. - Share number of bits definitions between similar locations when building the TC model and the TC Mobile data model - Add tests for data serialized by TCMobileData - Move TCFVersionHash to experience meta file where it's being used - Surface same TC string under mobile data and top level - Add tests for version hash model sorting ascending
Passing run #4422 ↗︎
Details:
Review all test suite changes for PR #4160 ↗︎ |
Pulling in the GVL work! |
# Conflicts: # CHANGELOG.md # src/fides/api/api/v1/endpoints/privacy_experience_endpoints.py # src/fides/api/models/privacy_experience.py # src/fides/api/schemas/privacy_experience.py # tests/ops/api/v1/endpoints/test_privacy_experience_endpoints.py
…l bases by comparing against the GVL.
…a test relying on the current ordering)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
amazing work @pattisdr !! left a few comments, but they're more me thinking out loud than any requested changes. for the most part this looks to match the FE well 👍
Thanks so much for reviewing @allisonking and for your initial pointers on this work to get it headed in the right direction. I'm going to add the change for the disclosed vendors, I agree with your interpretation 👍 |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #4160 +/- ##
==========================================
+ Coverage 87.50% 87.67% +0.16%
==========================================
Files 329 333 +4
Lines 20452 20734 +282
Branches 2656 2690 +34
==========================================
+ Hits 17897 18178 +281
Misses 2093 2093
- Partials 462 463 +1
☔ View full report in Codecov by Sentry. |
…re both in the gvl, and appeared in the TCF experience. Previously, I was adding all the vendors in the gvl to match the library. - Add additional test asserting tc string with multiple systems configured.
# Conflicts: # CHANGELOG.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
awesome work @pattisdr ! new TC string expert 🎉 I tested it out locally and things work really well 💯
😄 Thank you so much for your review @allisonking! |
Closes #4150
Description Of Changes
Adjust the response of GET Privacy Experience to make it more developer-friendly.
Code Changes
?include_meta
query param on GET Privacy Experience adds ameta
section to the TCF Experience with the following details:version_hash
which includes the most important details about the TCF experience. Comparing these hashes between subsequent fetches should determine if consent needs to be resurfaced for TCFaccept_all_tc_string
- The TC string if the user were to opt-in to everything displayed in the TCF experience, dynamically populated by systems in the data mapreject_all_tc_string
- The TC string if the user were to opt-out of everything displayed in the TCF experience, dynamically populated by systems in the data mapaccept_all_tc_mobile_data
andreject_all_tc_mobile_data
for use in building mobile apps with the raw contents to build TC stringsiab-tcf
requirement for decoding TC stringsSteps to Confirm
eea
andinclude_meta=True
Pre-Merge Checklist
CHANGELOG.md