Ylalaşyklary dolandyrmak
1) Jogapkärçilik şertleri we çäkleri
Razylyk (consent): meýletin, habarly, anyk we birmeňzeş isleg bildirmek; yzyna alnyp bilner.
Hukuk esaslary: razylyk - wariantlaryň diňe biri (şertnama, kanuny esas, kanuny gyzyklanma we ş.m.). Model esasyny hem, maksadyny hem saklamaly.
Gaýtadan işlemegiň maksady (purpose): atom sebäbi: analytics, personalization, ads, email_marketing, data_sharing_vendor_X.
Granulýatlylyk: ylalaşyklar maksatlar, kanallar, wendorlar, sebitler, maglumatlaryň kategoriýalary boýunça saklanylýar.
Subýektiň profili: adam, gurluş, öý hojalygy, çaganyň hasaby (kämillik ýaşyna ýetmedikler üçin aýratyn düzgünler).
2) Ylalaşygyň durmuş sikli
1. Ýygnamak: banner/SMR, profildäki sazlamalar, API/SDK, awtonom kanal (aragatnaşyk merkezi).
2. Tassyklama: ýaş, sebit, alternatiwalaryň elýeterliligi ("gara nagyşlar" bolmasa).
3. Hasaba alyş: maksatlar üçin razylyk wakasyny we ýagdaýlaryň häzirki suratyny döretmek.
4. Paýlanyş: wakalaryň tekerine çap etmek, edge-de keş täzelenmesi, satyjylar bilen sinhronlamak.
5. Ýerine ýetiriş: real-time (şlýuzlar/pikseller/SDK), batch (ETL/analitika), ML-paýlaýnlarda ulanmak.
6. Üýtgetmek/yzyna almak: täze ýygnamagy/işjeňleşdirmegi haýal etmän gadagan etmek, soňra syýasat boýunça taryhy maglumatlary "arassalamak".
7. Audit/hasabat: gaýtadan işlenilende ylalaşygyň subut edilip bilinjekdigi (kim, haçan, tekstiň haýsy görnüşi).
3) Binagärlik komponentleri
CMP (Consent Management Platform): UX/ýurisdiksiýa laýyklykda razylyk wariantlaryny formatlaýan UI/SDK + API; tekstler we wersiýalar boýunça hakykat çeşmesi.
Consent Registry (reýestr): ýagdaýlaryň we razylyk hadysalarynyň ygtybarly ammary (append-only magazineurnal + aktual proýeksiýa).
Consent PDP/PEP: Policy Decision/Enforcement Point. PDP "mümkin? ", PEP API-şlýuzda, ETL-de, SDK-da we ş.m.
Razylyklaryň edge-keşi: perimetri barlamak üçin pes gizlinlik.
Partner/GPP/IAB-şlýuz: ýerli nyşanlary partnýor signallaryna we yzyna ýaýlyma bermek.
Data Lineage & Tagging: maglumatlary tutuş zynjyr boýunça razylyk/esas baýdaklary bilen bellemek.
4) Maglumatlaryň (shemalaryň) nusgasy
Ulanyjynyň razyçylygynyň suraty (ýönekeýleşdirilen):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"}
}
Razylyk çäresi (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) Signallaryň teswirnamalary we ýaýratma
Web/App/SDK: razylyk belligini saklamak (cookie/local storage/secure storage) + gol/bitewiligi barlamak; giriş üçin awto-resink.
Server-side: 'X-Consent-Token '/' X-Purposes' hederleri, SSR/edge-render edişinde iki taraplaýyn alyş-çalyş.
Hyzmatdaşlar/wendorlar: olaryň formatlaryna ýaýlym (mysal üçin, maksat wektory, "GPP/TCF" umumy signal); şowsuzlykda - nol signal/çäklendirilen re modeim.
Oflayn kanal: audio-razyçylygy/çekboksy operator tarapyndan ýazga almak, soňra tassyklamak we 'subject _ id' -e baglanyşdyrmak.
6) Ýerine ýetiriş: traffigi nirede we nädip "kesýär"
API-şlýuzda (PEP):- / profile/enrich ,/ads/,/events/track)
- Jogap/soragy üýtget: yzarlaýjylary, şahsylaşdyrma meýdanlaryny, kesgitleýjileri kesiň.
- Arka tarapa (JWT-bellikler ýa-da aýry-aýry sözbaşylar) haýyşa razylyk mazmunyny bellemek.
- Wakalaryň transformatory ylalaşygyň baýdaklary boýunça meýdançalary aýyrýar/maskalaýar.
- Datasetleriň belligi: 'dataset. consent_scope=analytics:granted; ads:denied`.
- ML-paýlaýnda degişli razylyksyz ýazgylar aýrylýar; gadagan edilen maksatlar üçin okuw/işjeňleşdirmek öçürilýär.
7) Ýalan resminama: şlýuzda çözgüt
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) Wersiýalaşdyrmak we subut etmek
Razylyk tekstiniň wersiýasy: saklaň 'policy _ version', 'text _ hash', 'banner _ id'.
Lokal we sebit: haýsy tekst we haýsy dilde görkezilýär.
Bejeriş pursatyndaky surat: "Näme üçin mahabat 2025-10-15-de 09: 03-de görkezildi? ».
Üýtgemeýän magazineurnal: WORM/append-only wakalaryň kripto goly bilen.
9) Aýratyn ýagdaýlar
Kämillik ýaşyna ýetmedikler: ýaşy tassyklamak, ene-atanyň razylygy, aýry-aýry maksatlar we möhletler.
Myhman → giriş: anonim belligi hasaba almak bilen birleşdirmek; konfliktde düzgünler (iň berk ýeňiş gazanýar).
Köpugurly gurnama: konsistent resink; yzyna çagyrylanda - ähli enjamlarda tokenleriň push-maýyplygy.
Sebitleýin reimesimler: "berk" (EU) vs "lomaý" (käbir bazarlar) - CMP presetlerini üýtgetmek.
A/B-synaglary: maglumatlar boýunça synaglar - aýratyn synag maksady; onsuz - diňe şahsy maglumatlary bolmadyk funksional synaglar.
Aýyrmak hukugy: Yzyna almak maksat boýunça taryhy maglumatlaryň ("purge on revoke" syýasaty) pozulmagyna/anonimleşdirilmegine başlap biler.
10) Anti-patternler
Hemme zat üçin bir "umumy" çekbox.
Tekstleriň wersiýalarynyň ýoklugy we görkezilişiň subut edilip bilinjekdigi.
Diňe çerez baýdagyny serwer sanawy bolmazdan saklamak.
Ylalaşygyň ulanylmagy diňe UI-de, ýöne ETL/ML/eksportda däl.
Hakykatyň gapma-garşy çeşmeleri (SDK ≠ arka).
Garaňky patterns, razylygyň girizilmegi: kanuny we abraýly töwekgelçilikler.
11) Synlamak we metrika
Coverage: Razylyk belgili traffigiň paýy.
Latency PDP: perimetrde karar kabul etmegiň wagty.
Drift: SDK bilen serwer suratynyň arasyndaky gapma-garşylyk.
Revoke SLA: Yzyna almak wagty → Doly deaktiw/arassalamak wagty.
Vendor Compliance: dogry signal bilen hyzmatdaş jaňlaryň göterimi.
Incidents: razylyksyz işlemek synanyşyklary, petiklenen jaňlar.
Daşbordlar: "razylyk çukurlary", sebitleriň/kanallaryň kartasy, şowsuzlyklaryň ýylylyk kartalary.
12) Synag we barlamak
PDP/PEP şertnama synaglary: maksatlaryň/sebitleriň kombinasiýalary boýunça hakykat tablisasy.
Chaos/Drift-synaglar: SDK serweriň sinhron däl ýagdaýlary; TTL kesişiniň gutarmagy.
CMP: A/B-tekst tassyklamasy we UX bitaraplygy (gara nagyşsyz).
E2E-tracking: user-revoke → partnýor piksellerine we payplinlere iberilmezlik.
13) Özara baglanyşykly ukyplar
Adynyň aýdylmazlygy/lakamlaşdyrylmagy: adynyň aýdylmazyndan öň we soň ret edilmeleriň ýerine ýetirilmegi.
Şifrlemek we KMS: bellikleri/magazinelary goramak.
Geo-marşrut: sebitleýin tekstleri/düzgünleri saýlamak.
Syn edilmegi: PD-siz hususy daşbordlar; Diňe bellikler boýunça baglanyşyk.
Data Lineage: Her sanasetde - razylyk yzy.
14) Kiçi reseptler
Maksatlaryň deklaratiw syýasaty (YAML mysaly):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
Şinadaky wakalary belläň:
event. meta. consent. analytics = granted denied event. meta. consent. ads = denied event. meta. legal_basis = consent contract li
Yzyna çagyryş maglumatlary:
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) Arhitektoryň çek-sanawy
1. Bitewi reýestr we üýtgewsiz razylyk žurnaly barmy?
2. Hemme ýerde maksatlar atomiki we wersiýalaşyp bilnermi?
3. Perimetrde, akymlarda, analitikada we ML-de ýerine ýetiriş barmy?
4. Taryhy maglumatlary gözden geçirmek we arassalamak syýasaty amala aşyryldymy?
5. UI/SDK/serwer suratlary we kirpik mehanizmleri bilen ylalaşdyňyzmy?
6. Coverage/Drift/Revoke SLA metrleri we hasabatlylygy sazladyňyzmy?
7. Wakalar boýunça runbook barmy (düzgün bozmalar, şikaýatlar, düzgünleşdiriji)?
8. Ýörite reimesimler goldanylýarmy (çagalar, sebitler, B2B-hyzmatdaşlar)?
Netije
Ylalaşyklary dolandyrmak modal penjire däl-de, maksatlary deklarirlemekden we tekstleri wersiýalaşdyrmakdan başlap, çözgütleriň hakyky wagtda maşyn arkaly ýerine ýetirilmegine we soňraky hasabatlylyga çenli geçýän binagärlik funksiýasydyr. Maglumatlaryň berk modeli, ýeke-täk reýestr, ähli gatlaklarda PDP/PEP, doly hukukly telemetriýa we arassalaýyş amallary complayensy bäsdeşlik artykmaçlygyna - ynanylýan platforma öwürýär.