Privacy Policy v2.0 implementacija (pravnik Ilhan Erma) — MC #106821, 2026-08-04

MC #106821 · Status: Implementirano, spremno za deploy-gate · 2026-08-04 · Grana fix/106821-privacy-policy, worktree ~/business/ALAI-Holding-AS/products/qody-106821-privacy

1. Kontekst

Pravnik Ilhan Erma je mailom (posredstvom Asmira, 2026-08-04) dostavio finalni tekst Politike privatnosti koji zamjenjuje interni draft v1.0 iz MC #104526 (koji je nosio napomenu „podložno pravnoj reviziji“). Izvor istine za sadržaj je repo fajl docs/legal/politika-privatnosti-pravnik-2026-08-04.md — sav frontend tekst je preslikan iz njega, ne parafraziran.

2. Šta je promijenjeno

Implementacija pokriva četiri deliverable-a, u jednom PR-u (commitovi 6af2683 inicijalna implementacija + 2777887 fix nakon peer-review nalaza), na grani fix/106821-privacy-policy:

  1. Landing stranica Politike privatnosti v2.0 (apps/landing/politika-privatnosti/index.html) — svih 11 sekcija pravnikovog teksta, DPO „Ilhan Erma, licencirani pravnik“, kontakti privacy@qody.ba (sekcije 1 i 8) i dpo@qody.ba, datum ažuriranja 2026-08-04, TOC ažuriran, string „podložno pravnoj reviziji“ uklonjen, postojeći legal.css layout zadržan.
  2. Footer na sve 4 landing stranice (index.html, politika-privatnosti, politika-kolacica, uvjeti-koristenja) — standardizovan tekst „© 2026 SnowIT d.o.o. — QODY. Sva prava zadržana.“ + 4 linka (Uslovi korištenja | Politika privatnosti | Politika kolačića | Kontakt).
  3. CookieBanner (apps/guest/src/components/CookieBanner.tsx) — naslov „Vaša privatnost nam je važna“ + pravnikov tekst, tri dugmeta (Prihvati sve / Odbij opcionalne / Postavke kolačića), consent state perzistiran u localStorage, nijedan opcioni skript se ne aktivira prije saglasnosti, link na politiku kolačića.
  4. InviteAcceptScreen (apps/admin/src/InviteAcceptScreen.tsx) — obavezan checkbox „Pročitao/la sam i prihvatam Uslove korištenja QODY platforme.“ (submit blokiran dok nije čekiran), info linija s linkom na Politiku privatnosti, odvojen opcioni checkbox za marketing saglasnost (default neoznačen). Nigdje se ne koristi zabranjena fraza „prihvatam Politiku privatnosti“.

3. Verifikacija (Writer ≠ Witness)

Nezavisna peer-verifikacija (Angie Jones / Proveo persona, odvojena sesija od buildera) prošla je kroz dva kruga:

Round 1 — PARTIAL, 5 nalaza:

Fix ciklus (commit 2777887): sva 4 sadržajna nalaza ispravljena (heredoc encoding root-cause, footer standardizovan na svih 4 stranice, kartična rečenica vraćena na doslovan pravnikov tekst, i18n fallback zamijenjen literalnim stringom), owner promijenjen na codecraft → buildovi izvršeni: guest app 283 modula, admin app 1947 modula, oba PASS bez TypeScript grešaka.

Round 2 — PASS: svih 5 nalaza nezavisno reprodukovano kao popravljeno (verifikator sam ponovo pokrenuo buildove — byte-identični brojevi modula/bundle veličina, ne samo pročitan builderov transkript). Uživo Playwright testiranje protiv stvarnih dist/ bundlova: cookie baner (3 dugmeta po role/label, settings panel, perzistencija preko reloada, 3 distinktna consent stanja u localStorage), invite ekran (mockovan peek endpoint, submit dugme disabled→enabled tačno na ToS checkbox, marketing checkbox potvrđeno neoznačen po defaultu, pravnikov tekst doslovan u DOM-u). Pun diff commit-a 2777887 pročitan direktno — potvrđeno da nijedan drugi paragraf nije dirnut. Zabranjene fraze i provjera odsustva analytics/marketing skripti i dalje čiste.

4. DEPLOY GATE — JOŠ NIJE DEPLOYANO

Implementacija je verifikovana lokalno (build + Playwright protiv lokalno serviranih bundlova), ali deploy je izričito van scope-a ovog MC-a i čeka sljedeće uslove:

5. Follow-up

MC #106826 — otvoren za dodavanje marketing-consent polja na backend invite-accept endpoint (trenutno checkbox state postoji samo lokalno u formi jer backend polje ne postoji; nije izmišljen backend ugovor).


Evidence: /Users/makinja/system/evidence/106821/ (dispatch-plan.md, s1-fix-report.md, s2-verify-report.md, s2-verify-report-round2.md, p2p-native-verify-transcript.md, screenshotovi i JSON izvještaji Playwright testova).


Revision #1
Created 2026-08-04 17:01:20 UTC by John
Updated 2026-08-04 17:01:20 UTC by John