Your situation reveals three interconnected issues in how data classification tags interact with schema modifications. Let me provide a comprehensive solution:
Schema Change Management Process:
The fundamental problem is that Adobe Experience Cloud’s data governance framework treats schema structure and data classification as separate concerns. When you modify a schema, the platform ensures structural integrity but does not automatically maintain governance label continuity. This is actually by design-it forces explicit governance review after schema changes, preventing accidental exposure of sensitive data.
Here’s the proper schema change workflow that preserves data classification:
- Pre-Change Documentation: Before modifying your schema, document all existing data classification tags. Export your current governance labels:
- Navigate to Data Governance > Labels > Export
- Save the label inventory as a reference
- Note which fields have which labels (C1, C2, C3, etc.)
- Schema Modification Best Practice: Instead of directly modifying your production schema, create a development version:
- Clone your existing “Loyalty Member Profile” schema
- Name it “Loyalty Member Profile v2.0”
- Add your new fields (tier_benefits_detail, reward_redemption_history)
- Modify any existing field groups as needed
- Pre-Production Governance Classification: Before deploying to production, apply data classification tags to the new schema version:
- Go to Data Governance > Labels
- Select your v2.0 schema
- Apply appropriate labels to all new fields
- Verify existing fields retained their labels (they should, since you cloned)
- Validation and Testing: Use a test dataset to validate that access controls work correctly with the new schema:
- Create a test dataset using the v2.0 schema
- Ingest sample data
- Test access with different user roles to verify governance enforcement
- Confirm that C2 and C3 labeled fields are properly restricted
- Production Deployment: Only after validation, deploy the new schema to production:
- Update your loyalty program dataset to use the v2.0 schema
- Re-apply any dataset-level governance policies
- Verify that data classification tags are active on all fields
Data Classification Tagging Restoration:
For your immediate situation where labels have been lost, here’s the systematic restoration process:
- Identify Lost Labels: Compare your current schema against the governance label export you should have created (or recreate from compliance documentation). For your loyalty member schema, typical classifications should be:
Sensitive Identity Fields (C3 - No Identity Export):
- member_ssn_last4
- payment_method_token
- government_id_number
- date_of_birth (if used for identity verification)
Restricted Export Fields (C2 - No Export):
- reward_balance
- lifetime_value
- credit_card_type
- internal_risk_score
Marketing Restricted Fields (C1 - No Data Usage):
- opt_out_flags
- do_not_contact_indicators
- Re-apply Labels Systematically: Navigate to Data Governance > Labels > Field-Level Labels. For each field that lost its classification:
- Select the field
- Choose the appropriate governance label(s)
- Add a note explaining why this label was re-applied: “Restored after schema update 2025-07-25”
- Save and validate
- Address Grayed-Out Label Options: You mentioned C3 labels are unavailable for some fields. This happens when:
Issue: Field not in identity context
Solution: For fields like tier_benefits_detail that contain identity-adjacent information:
- If it truly contains identity data, move it to an identity field group
- If it’s sensitive but not identity data, use C2 (No Export) instead
- If it must stay in current location with C3, modify the field definition to include identity: true attribute
To modify field identity status:
Field: tier_benefits_detail
Type: String
Identity: true
Identity Namespace: LoyaltyMemberID
This marks the field as identity-related, enabling C3 classification.
- Field Group Level Classification: For efficiency, apply labels at the field group level when possible:
- Navigate to Schemas > Field Groups
- Select your custom loyalty field group
- Apply governance labels at the group level
- All fields within the group inherit these labels
- Individual fields can have additional labels applied
This approach makes future schema updates easier-new fields added to a classified field group automatically inherit appropriate labels.
Access Control Enforcement:
Even after re-applying classification tags, you need to verify access control enforcement:
- Merge Policy Configuration: Your merge policy must enforce field-level governance. Navigate to Profiles > Merge Policies > [Your Loyalty Policy]:
Settings to enable:
Governance Enforcement: Enabled
Field-Level Restrictions: Enabled
Label Priority: Respect most restrictive label
Unlabeled Field Behavior: Apply dataset-level label
Without these settings, classification tags are advisory only and won’t actually restrict access.
- Role-Based Access Control Alignment: Verify that user roles respect data governance labels. Navigate to Permissions > Roles:
For each role that accesses loyalty data, check:
- “View Labeled Data” permission (should specify which labels they can view)
- “Export Labeled Data” permission (should exclude C2/C3 labels for most roles)
- “Identity Data Access” permission (required to view C3 labeled fields)
Example configuration for “Loyalty Program Manager” role:
View Labeled Data: C1, C2 (can view but not export restricted fields)
Export Labeled Data: None (cannot export any restricted data)
Identity Data Access: Denied (cannot view C3 identity fields)
- Dataset-Level Governance: While you’ve applied temporary dataset-level restrictions, configure permanent dataset governance:
Navigate to Datasets > Loyalty Member Profiles > Data Governance:
- Enable “Governance Labels Enforcement”
- Set “Unlabeled Field Default”: Apply C2 (conservative default)
- Enable “Access Audit Logging”: Track all access to this dataset
- Set “Label Conflict Resolution”: Most restrictive wins
This ensures that even if field-level labels are somehow lost again, the dataset-level policy provides baseline protection.
Audit and Compliance Response:
Address the compliance team’s concerns about the exposure period:
- Access Audit: Run a comprehensive audit of who accessed sensitive fields during the exposure window:
- Navigate to Data Governance > Audit Logs
- Filter for: Dataset = “Loyalty Member Profiles”, Date Range = [schema update date] to [now]
- Export all access events
- Identify any access to member_ssn_last4 or payment_method_token fields
- Impact Assessment: For each unauthorized access event:
- Determine what data was actually viewed or exported
- Assess whether the user had legitimate business need (even without formal permission)
- Document the scope of exposure (how many member records)
- Breach Notification Evaluation: Work with your legal/compliance team to determine if this constitutes a reportable breach:
- Under GDPR: Likely yes if EU member data was exposed
- Under CCPA: Possibly, depending on California resident exposure
- Document the timeline: when exposure started, when discovered, when remediated
- Remediation Documentation: Create a formal incident report including:
- Root cause: Schema modification process lacked governance label preservation
- Exposure period: [specific dates/times]
- Affected data: [specific fields and approximate record count]
- Remediation actions taken: [list all steps from this solution]
- Preventive measures: [new schema change process described above]
Preventive Measures for Future Schema Changes:
Implement these processes to prevent recurrence:
- Schema Change Checklist: Create a mandatory checklist for all schema modifications:
□ Export current governance labels
□ Document all C2 and C3 classified fields
□ Create new schema version (don’t modify in place)
□ Apply governance labels to new schema
□ Test in development environment
□ Validate access controls with test users
□ Document changes in governance log
□ Deploy to production
□ Verify labels active in production
□ Update role permissions if needed
- Automated Governance Validation: Set up monitoring to detect classification gaps:
- Create a scheduled report that lists all fields without governance labels
- Alert if any field in loyalty schema loses its classification
- Weekly governance label audit comparing current state to baseline
- Schema Governance Training: Ensure all users with schema modification permissions understand:
- Data classification requirements
- Schema change workflow
- How to apply and verify governance labels
- Compliance implications of classification gaps
- Version Control Integration: If you use a version control system for schema definitions, include governance labels in the schema files:
{
"field": "member_ssn_last4",
"type": "string",
"governanceLabels": ["C3", "I1"],
"classificationReason": "Partial SSN is identity data"
}
This makes governance labels part of your schema definition, tracked in version control alongside structural changes.
By implementing this comprehensive schema change management process with integrated data classification tagging and access control enforcement, you’ll prevent future governance label loss while ensuring your loyalty program data remains properly protected according to your compliance requirements.