Razılığın idarə edilməsi
1) Məsuliyyət şərtləri və sərhədləri
Razılıq (consent): könüllü, məlumatlı, konkret və birmənalı ifadə; geri çağırıla bilər.
Hüquqi əsas: razılıq - variantlardan yalnız biri (müqavilə, qanuni əsas, legitim maraq və s.). Model həm təməl, həm də məqsəd saxlamaq lazımdır.
emal məqsədi (purpose): atom səbəbi: analytics, personalization, ads, email_marketing, data_sharing_vendor_X.
Qranulyarlıq: razılıq məqsədlər, kanallar, satıcılar, regionlar, məlumat kateqoriyaları üzrə saxlanılır.
Subyektin profili: şəxs, cihaz, ev təsərrüfatı, uşaq hesabı (yetkinlik yaşına çatmayanlar üçün xüsusi qaydalar).
2) Razılıq həyat dövrü
1. Toplama: banner/SMR, profil parametrləri, API/SDK, oflayn kanal (əlaqə mərkəzi).
2. Validasiya: yaş, region, alternativlərin mövcudluğu («qaranlıq nümunələr» olmadan).
3. Qeydiyyat: razılıq hadisəsi yaratmaq və məqsədlər üçün vəziyyətlərin cari görüntüsü.
4. Yayım: hadisələrin şinində yayımlanması, edge-də cache yenilənməsi, satıcılarla sinxronizasiya.
5. İcra: real-time (şlüzlər/piksellər/SDK), batch (ETL/analitika), ML-payplaynlarda tətbiq.
6. Dəyişiklik/Geri Çağırış: Yeni bir kolleksiya/aktivləşdirməyə dərhal qadağa, sonra siyasət haqqında tarixi məlumatların «təmizlənməsi».
7. Audit/hesabat: emal zamanı razılığın sübuta yetirilməsi (kim, nə vaxt, mətnin hansı versiyası).
3) Memarlıq komponentləri
CMP (Consent Management Platform): UX/yurisdiksiya altında razılıq variantlarını formatlaşdıran UI/SDK + API; mətnlər və versiyalar üzrə həqiqət mənbəyi.
Consent Registry (reyestr): etibarlı stats və razılıq hadisələri saxlama (append-only jurnal + aktual proyeksiya).
Consent PDP/PEP: Policy Decision/Enforcement Point. PDP "mümkündür? ", PEP API-şlüzdə, ETL-də, SDK-da və s.
Edge cache razılığı: perimetri yoxlamaq üçün aşağı gizli.
Partner/GPP/IAB-şluz: partnyor siqnalları və geri yerli hədəfləri yayım.
Data Lineage & Tagging: bütün zəncirdə razılıq/baza bayraqları ilə məlumatların etiketlənməsi.
4) Data modeli (sxemlər)
İstifadəçi razılığının görüntüsü (sadələşdirilmiş):json
{
"subject_id": "usr_123",
"subject_scope": "user",
"region": "EU",
"legal_basis": {
"analytics": "consent",
"personalization": "consent",
"security": "legitimate_interest",
"contract_core": "contract"
},
"purposes": {
"analytics": {"status": "granted", "version": "v5", "updated_at": "2025-10-31T13:20:10Z"},
"personalization": {"status": "denied", "version": "v5", "updated_at": "2025-10-31T13:21:31Z"},
"ads": {"status": "denied", "version": "v5", "updated_at": "2025-10-31T13:21:31Z"},
"email_marketing": {"status": "granted", "channel":"email","updated_at":"2025-10-31T13:22:05Z"}
},
"text_bundle": {"locale":"uk-UA","policy_version":"2025-09"},
"evidence": {"capture_ip":"203. 0. 113. 5","capture_ua":"Chrome/142"}
}
Razılıq hadisəsi (append-only):
json
{
"event_id": "cse_987",
"subject_id": "usr_123",
"purpose": "personalization",
"previous": "denied",
"current": "granted",
"legal_basis": "consent",
"policy_version": "2025-09",
"captured_at": "2025-10-31T13:21:31Z",
"channel": "web",
"evidence": {
"banner_id": "cmp_v3",
"text_hash": "sha256:...",
"ip": "203. 0. 113. 5",
"ua": "Chrome/142",
"locale": "uk-UA"
}
}
5) Siqnal protokolları və yayılması
Web/App/SDK: razılıq marker saxlama (cookie/local storage/secure storage) + imza/bütövlük yoxlama; giriş zamanı avto-resink.
Server-side: 'X-Consent-Token '/' X-Purposes' hederləri, SSR/edge-render zamanı iki yönlü mübadilə.
Partnyorlar/satıcılar: onların formatlarına (məsələn, hədəf vektoru, ümumi siqnal «GPP/TCF»); uğursuzluq - sıfır siqnal/məhdud rejim.
Offline kanal: audio razılığın/çekboxun sonradan yoxlanılması və 'subject _ id' ilə əlaqələndirilməsi ilə operator tərəfindən yazılması.
6) Yerinə yetirilməsi: trafik harada və necə «kəsilir»
API-şlüzdə (PEP):- Enpointləri/sahələri razılıq olmadan bloklayın (/profile/enrich ,/ads/,/events/track).
- Cavab/sorğunu mutasiya edin: izləyiciləri, personalizasiya sahələrini, identifikatorları kəsin.
- Əlavə sorğuya razılıq kontekstini təyin edin (JWT markaları və ya ayrı-ayrı başlıqlar).
- Hadisə transformatoru razılaşma bayraqları ilə sahələri siler/maskalar.
- Datasetlərin etiketlənməsi: 'dataset. consent_scope=analytics:granted; ads:denied`.
- ML-payplaynda müvafiq razılıq olmadan qeydlər istisna edilir; qadağan olunmuş məqsədlər üçün təlim/aktivləşdirmə bağlanır.
7) Psevdokod: şlüzdə həll
python def enforce_consent(request, consent_snapshot):
purpose = map_endpoint_to_purpose(request. path) # /ads/ -> "ads"
basis = consent_snapshot. legal_basis. get(purpose)
status = consent_snapshot. purposes. get(purpose, {}). get("status", "denied")
if basis! = "consent": # e.g. security/contract - allowed without return ALLOW banner
if status!= "granted":
return DENY # or ALLOW with redaction if degradation is allowed
return ALLOW
8) Version və sübut
Razılaşma mətninin versiyası: saxlayın 'policy _ version', 'text _ hash', 'banner _ id'.
Lokal və region: hansı mətn və hansı dildə göstərilir.
Emal zamanı şəkil: cavab vermək imkanı "niyə reklam göstərilib 2025-10-15 09:03? ».
Dəyişməz jurnal: WORM/append-only hadisələrin kriptovalyutası ilə.
9) Xüsusi hallar
Yetkinlik yaşına çatmayanlar: yaş, valideyn razılığı, ayrı-ayrı məqsədlər və şərtlər.
Qonaq → giriş: anonim markerin hesabla birləşməsi; münaqişə qaydaları (ən sərt qalib).
Multi-quruluş: konsistent resink; geri çağırıldıqda - bütün cihazlarda tokenlərin push-əlilliyi.
Regional rejimlər: «sərt» (EU) vs «topdansatış» (bəzi bazarlar) - CMP presetlərinin dəyişdirilməsi.
A/B testləri: verilənlər üzərində təcrübələr - ayrı bir təcrübə məqsədi; onsuz - yalnız şəxsi məlumatları olmayan funksional testlər.
Silinmə hüququ: geri çağırış məqsədi ilə tarixi məlumatların silinməsinə/anonimləşdirilməsinə başlaya bilər («purge on revoke» siyasəti).
10) Anti-nümunələr
Hər şeyə bir «ümumi» çekbox.
Mətn versiyalarının olmaması və nümayişin sübuta yetirilməsi.
Server reyestri olmadan yalnız cookie bayrağını saxlayın.
Razılığın tətbiqi yalnız UI-də, lakin ETL/ML/ixracatda deyil.
Həqiqətin ziddiyyətli mənbələri (SDK ≠ backend).
Dark patterns, razılıq tətbiq: hüquqi və reputasiya riskləri.
11) Müşahidə və metrika
Coverage: etibarlı razılıq markeri ilə trafik payı.
Latency PDP: perimetrdə qərar vaxtı.
Drift: SDK və server görüntüsü arasında uyğunsuzluq.
Revoke SLA: geri çağırma vaxtı → tam deaktivasiya/təmizləmə vaxtı.
Vendor Compliance: düzgün siqnalla tərəfdaşlıq zənglərinin faizi.
Incidents: razılığı olmadan emal cəhdləri, bloklanmış zənglər.
Daşbordlar: «razılıq huniləri», regionların/kanalların xəritəsi, nasazlıqların istilik xəritələri.
12) Test və yoxlama
PDP/PEP müqavilə testləri: hədəflərin/bölgələrin kombinasiyalarına görə həqiqət cədvəli.
Chaos/Drift testləri: sinxron olmayan SDK server halları; TTL cache sona çatması.
CMP buraxılışları: Mətnlərin A/B-validasiyası və UX neytrallığı (qaranlıq nümunələr olmadan).
E2E-track: user-revoke → partnyor pikselləri və paylaynlara göndərilmir.
13) Qarşılıqlı qabiliyyətlər
Anonimləşdirmə/təxəllüs: anonimləşdirmədən əvvəl və sonra uğursuzluqların icrası.
Şifrələmə və KMS: markerlərin/jurnalın qorunması.
Geo-marşrutlaşdırma: regional mətnlərin/qaydaların seçilməsi.
Müşahidə: PD olmadan fərdi daşbordlar; Yalnız tokenlərlə korrelyasiya.
Data Lineage: Hər bir datasetdə razılıq izi var.
14) Mini reseptlər
Deklarativ Məqsədlər Siyasəti (YAML nümunəsi):yaml purposes:
analytics:
legal_basis: consent enforcement: redact_fields: [ad_id, gaid, idfa]
personalization:
legal_basis: consent enforcement: deny_endpoints: [/recs/, /profile/enrich]
security:
legal_basis: legitimate_interest enforcement: allow email_marketing:
legal_basis: consent channel: email
Şin hadisələrinin etiketlənməsi:
event. meta. consent. analytics = granted denied event. meta. consent. ads = denied event. meta. legal_basis = consent contract li
Geri çağırış məlumatlarının təmizlənməsi:
on user_revoke(purpose):
mark subject_id + purpose as "purge_pending"
schedule purge jobs over datasets with lineage(purpose)
emit audit_event("purge_started", scope=purpose)
15) Memarın yoxlama siyahısı
1. Vahid reyestr və dəyişməz razılıq jurnalı varmı?
2. Hər yerdə hədəflər atomik və versiyadadır?
3. Perimetrdə, axınlarda, analitikada və ML-də icra var?
4. Rəy və tarixi məlumatların təmizlənməsi siyasəti həyata keçirilmişdir?
5. Razılaşdırılmış UI/SDK/server şəkillər və kirpik mexanizmləri?
6. Coverage/Drift/Revoke SLA metrikləri və hesabatlar xüsusi?
7. Hadisə runbook var (pozuntular, şikayətlər, tənzimləyici)?
8. Xüsusi rejimlər dəstəklənir (uşaqlar, regionlar, B2B tərəfdaşları)?
Nəticə
Razılığın idarə edilməsi modal pəncərə deyil, məqsədlərin bəyannaməsi və mətnlərin versiyalaşdırılmasından tutmuş real vaxt həllərinin maşın icrasına və sonrakı hesabatlara qədər uzanan memarlıq funksiyasıdır. Ciddi data modeli, vahid reyestr, bütün təbəqələrdə PDP/PEP, tam hüquqlu telemetri və təmizləmə prosedurları uyğunluğu rəqabət üstünlüyünə çevirir - güvənilən platforma.