Once data is labeled and usage policies are defined, you can enforce data usage compliance with policies. When activating audience segments to destinations, Adobe Experience Platform automatically enforces usage policies should any violations occur.
This guide requires a working understanding of the Platform services involved in automatic enforcement. Please refer to the following documentation to learn more before continuing with this guide:
The following diagram illustrates how policy enforcement is integrated into the data flow of segment activation:
When a segment is first activated, Policy Service checks for policy violations based on the following factors:
If there are data usage labels that have only been applied to certain fields within a dataset (rather than the entire dataset), enforcement of those field-level labels on activation only occurs under the following conditions:
Data lineage plays a key role in how policies are enforced in Platform. In general terms, data lineage refers to the origin of a set of data, and what happens to it (or where it moves) over time.
In the context of Data Governance, lineage enables data usage labels to propagate from datasets to downstream services that consume their data, such as Real-time Customer Profile and destinations. This allows policies to be evaluated and enforced at several key points in the data’s journey through Platform, and provides context to data consumers as to why a policy violation occurred.
In Experience Platform, policy enforcement is concerned with the following lineage:
Each stage in the above timeline represents an entity that may contribute to a policy being violated, as outlined in the table below:
|Data lineage stage||Role in policy enforcement|
|Dataset||Datasets contain data usage labels (applied at the dataset or field level) that define which use cases the entire dataset or specific fields can be used for. Policy violations will occur if a dataset or field containing certain labels is used for a purpose that a policy restricts.|
|Merge policy||Merge policies are the rules that Platform uses to determine how data will be prioritized when merging together fragments from multiple datasets. Policy violations will occur if your merge policies are configured so that datasets with restricted labels are activated to a destination. See the merge policies overview for more information.|
|Segment||Segment rules define which attributes should be included from customer profiles. Depending on which fields a segment definition includes, the segment will inherit any applied usage labels for those fields. Policy violations will occur if you activate a segment whose inherited labels are restricted by the target destination’s applicable policies, based on its marketing use case.|
|Destination||When setting up a destination, a marketing action (sometimes called a marketing use case) can be defined. This use case correlates to a marketing action as defined in a data usage policy. In other words, the marketing use case you define for a destination determines which data usage policies are applicable to that destination. Policy violations will occur if you activate a segment whose usage labels are restricted by the target destination’s applicable policies.|
Some data usage policies may specify two or more labels with an AND relationship. For example, a policy could restrict a marketing action if labels
C2 are both present, but does not restrict the same action if only one of those labels are present.
When it comes to automatic enforcement, the Data Governance framework does not consider the activation of separate segments to a destination as a combination of data. Therefore, the example
C1 AND C2 policy is NOT enforced if these labels are included in separate segments. Instead, this policy is only enforced when both labels are present in the same segment upon activation.
When policy violations occur, the resulting messages that appear in the UI provide useful tools for exploring the violation’s contributing data lineage to help resolve the issue. More details are provided in the next section.
If a policy violation occurs from attempting to activate a segment (or making edits to an already activated segment) the action is prevented and a popover appears indicating that one or more policies have been violated. Once a violation has triggered, the Save button is disabled for the entity you are modifying until the appropriate components are updated to comply with data usage policies.
Select a policy violation in the popover’s left column to display details for that violation.
The violation message provides a summary of the policy that was violated, including the conditions the policy is configured to check for, the specific action that triggered the violation, and a list of possible resolutions for the issue.
A data lineage graph is displayed below the violation summary, allowing you to visualize which datasets, merge policies, segments, and destinations were involved in the policy violation. The entity that you are currently changing is highlighted in the graph, indicating which point in the flow is causing the violation to occur. You can select an entity name within the graph to open the details page for the entity in question.
You can also use the Filter icon () to filter the displayed entities by category. At least two categories must be selected in order for data to be displayed.
Select List view to display the data lineage as a list. To switch back to the visual graph, select Path view.
Policy enforcement still applies to segments after they have been activated, restricting any changes to a segment or its destination that would result in a policy violation. Due to how data lineage works in policy enforcement, any of the following actions can potentially trigger a violation:
If any of the above actions triggers a violation, that action is prevented from being saved and a policy violation message is displayed, ensuring that your activated segments continue to comply with data usage policies when being modified.
This document covered how automatic policy enforcement works in Experience Platform. For steps on how to programmatically integrate policy enforcement into your applications using API calls, see the guide on API-based enforcement.