Bird
Raised Fist0
HLDsystem_design~7 mins

Data privacy and compliance (GDPR) in HLD - System Design Guide

Choose your learning style10 modes available
Problem Statement
When user data is collected and processed without strict controls, it can lead to privacy breaches, legal penalties, and loss of user trust. Systems that do not comply with regulations like GDPR risk heavy fines and damage to reputation due to mishandling personal data.
Solution
This pattern enforces strict rules on how personal data is collected, stored, processed, and deleted. It includes mechanisms for user consent, data minimization, access controls, data encryption, audit logging, and the ability to delete or export user data on request. These controls ensure that user privacy rights are respected and legal requirements are met.
Architecture
User Agent
(Browser/App)
→Consent & Data
↓
Access Control
& Audit Logs
Trade-offs
✓ Pros
→
Ensures legal compliance and avoids costly fines.
→
Builds user trust by respecting privacy rights.
→
Reduces risk of data breaches through encryption and access controls.
→
Provides audit trails for accountability.
✗ Cons
→
Adds complexity to system design and development.
→
May increase latency due to additional checks and encryption.
→
Requires ongoing maintenance to keep up with evolving regulations.
Use when handling personal data of users in regions covered by GDPR or similar laws, especially if processing sensitive data or operating at scale with millions of users.
Not necessary for systems that do not collect or process personal data, or operate exclusively in jurisdictions without such regulations.
Real World Examples
Google
Implemented user consent dialogs and data export tools to comply with GDPR requirements for user data control.
Airbnb
Built data minimization and encryption features to protect guest and host personal information under GDPR.
Stripe
Designed audit logging and access controls to ensure payment data processing complies with GDPR and PCI standards.
Alternatives
Data Anonymization
Transforms personal data into anonymous data to avoid direct identification, reducing compliance scope.
Use when: Choose when you need to analyze data trends without identifying individuals.
Data Localization
Stores and processes data within specific geographic boundaries to comply with local laws.
Use when: Choose when regulations require data to remain within certain countries or regions.
Summary
Data privacy and compliance prevent legal and trust failures by enforcing strict controls on personal data.
The pattern includes consent management, encryption, access control, and audit logging to meet GDPR requirements.
It is essential for systems handling EU residents' data or sensitive personal information at scale.

Practice

(1/5)
1. What is the main purpose of GDPR in system design?
easy
A. To reduce server costs by deleting all user data immediately
B. To protect user privacy and ensure data is handled responsibly
C. To allow unlimited data collection for marketing
D. To increase system performance by caching user data

Solution

  1. Step 1: Understand GDPR's goal

    GDPR aims to protect personal data and privacy of users in the EU.
  2. Step 2: Match purpose to options

    Only To protect user privacy and ensure data is handled responsibly mentions protecting privacy and responsible data handling, which aligns with GDPR.
  3. Final Answer:

    To protect user privacy and ensure data is handled responsibly -> Option B
  4. Quick Check:

    GDPR = Protect privacy [OK]
Hint: GDPR = user privacy protection [OK]
Common Mistakes:
  • Confusing GDPR with performance or cost goals
  • Thinking GDPR allows unlimited data collection
  • Ignoring privacy as the core focus
2. Which of the following is a correct way to obtain user consent under GDPR?
easy
A. Collecting data first, then asking for consent later
B. Pre-checked boxes that users can uncheck anytime
C. Assuming consent if the user visits the website
D. Clear opt-in with explicit user action before data collection

Solution

  1. Step 1: Review GDPR consent rules

    Consent must be freely given, specific, informed, and unambiguous with clear user action.
  2. Step 2: Evaluate options

    Only Clear opt-in with explicit user action before data collection describes explicit opt-in before data collection, which is GDPR compliant.
  3. Final Answer:

    Clear opt-in with explicit user action before data collection -> Option D
  4. Quick Check:

    Consent = explicit opt-in [OK]
Hint: Consent requires clear opt-in, not assumptions [OK]
Common Mistakes:
  • Using pre-checked boxes as valid consent
  • Assuming visiting equals consent
  • Collecting data before consent
3. Consider a system that stores user data with a 'right to be forgotten' feature. Which action correctly implements this under GDPR?
def delete_user_data(user_id):
    # Step 1: Mark user data as deleted
    database.mark_deleted(user_id)
    # Step 2: Remove data from active systems
    cache.remove(user_id)
    # Step 3: Permanently erase data after retention period
    schedule_permanent_delete(user_id, days=30)
medium
A. This implementation violates GDPR because data is not deleted immediately
B. This implementation is incorrect because it does not notify the user
C. This implementation respects GDPR by delaying permanent deletion for 30 days
D. This implementation is incorrect because it does not encrypt user data

Solution

  1. Step 1: Understand GDPR's 'right to be forgotten'

    GDPR allows data to be deleted but permits a retention period for legal or operational reasons.
  2. Step 2: Analyze code steps

    Data is marked deleted, removed from active use, and scheduled for permanent erase after 30 days, which is acceptable.
  3. Final Answer:

    This implementation respects GDPR by delaying permanent deletion for 30 days -> Option C
  4. Quick Check:

    Right to be forgotten allows retention delay [OK]
Hint: Deletion can be delayed for legal retention [OK]
Common Mistakes:
  • Expecting immediate permanent deletion always
  • Confusing notification with deletion requirements
  • Thinking encryption replaces deletion
4. A system logs user IP addresses without anonymization. Which GDPR compliance issue does this cause?
log_user_access(user_id, ip_address):
    logs.save({'user': user_id, 'ip': ip_address, 'time': now()})
medium
A. It violates data minimization by storing unnecessary personal data
B. It violates consent because IP addresses are not encrypted
C. It violates breach notification rules by logging IPs
D. It violates data portability by not exporting IP addresses

Solution

  1. Step 1: Identify GDPR principles involved

    Data minimization requires only collecting data necessary for the purpose.
  2. Step 2: Analyze IP logging

    Storing full IP addresses without anonymization may be unnecessary and excessive, violating minimization.
  3. Final Answer:

    It violates data minimization by storing unnecessary personal data -> Option A
  4. Quick Check:

    Data minimization = minimal necessary data [OK]
Hint: Store only data you really need [OK]
Common Mistakes:
  • Confusing encryption with consent
  • Mixing breach notification with logging
  • Thinking data portability applies here
5. You are designing a system to comply with GDPR. Which combination of features best supports compliance?
  • 1. Data encryption at rest and in transit
  • 2. User consent management with audit logs
  • 3. Automatic data deletion after user request
  • 4. Collecting all user data for analytics without opt-out
hard
A. Features 1, 2, and 3 only
B. Features 2 and 4 only
C. Features 1 and 4 only
D. All features 1, 2, 3, and 4

Solution

  1. Step 1: Evaluate each feature for GDPR compliance

    Feature 1 (encryption) protects data; Feature 2 manages consent properly; Feature 3 respects user deletion rights; Feature 4 violates consent and data minimization.
  2. Step 2: Select compliant combination

    Only features 1, 2, and 3 together support GDPR compliance fully.
  3. Final Answer:

    Features 1, 2, and 3 only -> Option A
  4. Quick Check:

    Consent + encryption + deletion = GDPR compliance [OK]
Hint: Exclude features violating consent or data minimization [OK]
Common Mistakes:
  • Including data collection without opt-out
  • Ignoring encryption importance
  • Overlooking user deletion rights
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard