Practical safeguards
Purpose: Build privacy into your implementation.
Who this page is for
| Audience | Why it matters to you |
|---|---|
| Developers | Technical implementation |
| Architects | Design for privacy |
Practical Safeguards
1. Data minimization
Only collect what you need.
Before sending any variable:
- "Do we need this?"
- "Is it useful for decisions?"
- If no → don't send it
Example:
- Need: Page name (debug reports)
- Don't need: Page HTML (too much data)
- Need: User segment (target messaging)
- Don't need: User email (PII)
2. Variable naming
Use generic, non-identifying names.
Good:
- prop1 = "user_segment" (Premium, Standard, Free)
- eVar1 = "traffic_source" (Organic, Paid, Direct)
- prop2 = "form_step" (Intro, Personal, Review, Confirm)
Bad:
- prop1 = "email_address"
- eVar1 = "customer_name"
- prop2 = "social_security"
3. Masking/hashing
Hash sensitive data before sending.
// Email address
const email = "alice@example.com";
const hashedEmail = sha256(email);
s.prop5 = hashedEmail;
// Sent: "abc123def456..." (cannot reverse to email)
4. Processing rules
Remove PII on the server side.
Rule: If Page Name contains "@", delete it Effect: Even if accidentally sent, removed before storage
5. IP anonymization
Remove last octets of IP.
Original: 203.0.113.42 Anonymized: 203.0.113.0 (still geo-locatable, not personally identifiable)
6. Bot filtering
Exclude non-humans.
Benefit: Cleaner data, less storage How: Enable IAB bot list in admin
7. Audit regularly
Monthly check:
[ ] Review data quality dashboard
[ ] Search for PII in sample data (@, SSN patterns)
[ ] Check consent is being honored
[ ] Verify old data is deleted per policy
[ ] Test opt-out link works
8. Team training
Everyone handling data should know:
- What is PII?
- What can we send?
- How to spot PII before it reaches Adobe?
- Consequences of PII leak
---
Next: Labels, retention and the Privacy API