@adobe/adobe-privacy

This is the GDPR ID retrieval tag that will be used to retrieve all the IDs generated by the Adobe Experience Cloud libraries for a specific domain.

Usage no npm install needed!

<script type="module">
  import adobeAdobePrivacy from 'https://cdn.skypack.dev/@adobe/adobe-privacy';
</script>

README

Adobe Privacy unified library

This is the home of the GDPR ID retrieval tag that will be used to retrieve all the IDs generated by the Adobe Experience Cloud libraries for a specific domain.

DOCS

Architecture / Concept

In a nutshell AdobePrivacy follows a Plugin architecture where we expose one core object to the customer, and that object's API delegates the actual work to plugins. Those plugins will be implemented by the individual teams involved in the Privacy effort. e.g. AA, AAM, Visitor..

AdobePrivacy Provided Interface (All APIs support Promises as well)

  • retrieveIdentities (function: callback(Object<array: validIDs, array: failedIDs>))
  • removeIdentities (function: callback(Object<array: validIDs, array: failedIDs>))
  • retrieveThenRemoveIdentities (function: callback(Object<array: validIDs, array: failedIDs>))

Schema of the IDs - failedIDs will contain a message instead of value

{
    "companyContexts": [{
            "namespace": "imsOrgID",
            "value": "123456789@AdobeOrg"
        }
    ],
    "users": [{
        "key": "David Smith",
        "action": ["access"], // Other options: ["delete"] - ["access", "delete"]
        "userIDs": [{
                "namespace": "email",
                "value": "dsmith@acme.com",
                "type": "standard"
            },
            {
                "namespace":"myCustomField",
                "value":"myCustomId_1234",
                "type":"unregistered"
            }
        ]
    }]
}

// `removeIdentities` returns an identical schema with the addition of `isDeletedClientSide` property for the deleted IDs.
{
    "namespace": "email",
    "value": "dsmith@acme.com",
    "type": "standard",
    "isDeletedClientSide": true
}