CORE-64789 Addition of consentPolicies structure to Profile schema
- Dominant language
- JavaScript
- Stars
- 266
- Forks
- 380
- Avg merge
- 5d 8h
- Merged PRs (30d)
- 9
Description
The schemas that are impacted by this issue is the profile-union schema.
This will be used as a part of consent initiative implementation in UPS. Once "consent" of the data ingested into the Profile store has been analyzed and evaluated, UPS adds this structure to the merged profile after segmentation and lookup. The downstream services will be able to use the filtered fields from here to take appropriate action.
**More on the Consent initiative:** https://wiki.corp.adobe.com/display/DMSArchitecture/Consent+Policy+Filter+Logic
**Consent in UPS:** https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=DMSArchitecture&title=Consent+Enforcement+Implementation+in+UPS
**More about the "consentPolicies" schema:** https://wiki.corp.adobe.com/display/DMSArchitecture/Consent+Enforcement+Implementation+Details#ConsentEnforcementImplementationDetails-Additionof%22consentPolicies%22toXDM
Example of consent Policies:
` "consentPolicies": {
"consentPolicy1": {},
"consentPolicy3": {
"email": [
{"id": "abc@email.com"},
{"id":"john.doe@domain.com"},
{"id":"personal.email@email.com"}
]
}
}`
Protocols followed:
1. ConsentPolicies is map type field where the key is "consent policy id/name" and value is identityMap kind of data type.
2. As consent can be identity specific, keep the value empty if a consent policy evaluates to true for all identities.
3. Don't include consent policies in the profile record that evaluate to false (for all identities).
Contributor guide
Research direction
Start by locating the profile-union schema in the repository and reviewing its existing map and identityMap structures. Use the consentPolicies example and listed protocols to determine the schema shape and inclusion rules; the work is done when the schema represents policy keys and identity-specific values as specified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100