plantuml
@startuml
actor User
participant Browser
participant "API Gateway" as Gateway
participant "Analytics Service" as Analytics
participant "Data Store" as Store
User -> Browser: Enable DNT in settings
Browser -> Browser: Set DNT: 1 for requests
Browser -> Gateway: GET /api/v1/content\nDNT: 1
Gateway -> Gateway: Check DNT header
alt DNT: 1 (tracking disabled)
Gateway -> Analytics: Log anonymous event\n(no user_id, no profiling)
Analytics -> Store: Store aggregated data only
Gateway --> Browser: 200 OK\nTk: N\n[content without tracking]
else DNT: 0 (tracking allowed)
Gateway -> Analytics: Log personalized event\n(with user_id, profiling)
Analytics -> Store: Store user profile data
Gateway --> Browser: 200 OK\nTk: T\n[content with tracking]
else No DNT header
Gateway -> Analytics: Default tracking policy
Analytics -> Store: Store per privacy policy
Gateway --> Browser: 200 OK\nTk: ?
end
@enduml