# 🛡️ Anti-Hejt Shield — procedura zgłoszenia + karta dowodu

**Zadanie:** P1-3 (Wdrożenie P0-P3) · **Pilot:** Metrowy (Bartosz Medyński, raper z Rybnika) · **Realm:** 0n40i4 / K0NSULT
**Data:** 2026-06-12
**Cross-ref:** [tarcza.md](tarcza.md) (MM-PAR-3 §1) · [incydenty.json](incydenty.json) (rejestr + schema) · [../fani/antihate_radar.md](../fani/antihate_radar.md) (klasyfikator + drzewo decyzyjne) · [../L1_obserwator_index.json](../L1_obserwator_index.json) (homonimy)

**Guardrail nadrzędny:** **System DOKUMENTUJE, nie atakuje.** Decyzję o eskalacji prawnej podejmuje **człowiek (Human Override)**. **KRYTYKA ≠ HEJT** — krytyka twórczości jest dozwolona i chroniona (Godność, wolność wypowiedzi). **NIE atakujemy, NIE doxujemy z powrotem** — wyłącznie paczka dowodowa. **No Password Custody** — nie zbieramy i nie przechowujemy haseł/danych logowania. Werdykt **forensic, nie domysł** (Proof before Claim). Agent **NIE udziela porady prawnej** — ocena karna/cywilna zawsze z dopiskiem „wymaga weryfikacji prawnej". **R10: zero obietnic odzysku, zero kwot.**

---

## 1. Czym jest Anti-Hejt Shield (a czym NIE jest)

Anti-Hejt Shield to **warstwa zgłoszeniowo-dowodowa** nad klasyfikatorem [Anti-Hate Radar](../fani/antihate_radar.md). Radar wykrywa i klasyfikuje (5 klas + drzewo decyzyjne). Shield definiuje: **jak zgłosić** incydent, **jak system pakuje dowód** (karta dowodu), i **gdzie eskaluje** (człowiek → ew. prawnik/policja).

| Shield JEST | Shield NIE jest |
|---|---|
| systemem dokumentowania dowodów (forensic) | narzędziem ataku / odwetu / kontr-doxxingu |
| procedurą eskalacji **przez człowieka** | automatem podejmującym kroki prawne |
| ochroną przed przemocą (groźba, doxxing, stalking) | cenzurą krytyki twórczości |
| rejestrem kart dowodu (Proof before Claim) | bazą haseł / danych logowania |

> **Spójność:** Klasyfikator i drzewo decyzyjne KRYTYKA/HEJT/GROZBA są w [antihate_radar.md](../fani/antihate_radar.md) — tu ich NIE duplikujemy. W razie rozbieżności **[tarcza.md](tarcza.md) §1 jest źródłem prawdy**.

---

## 2. Klasyfikacja zgłoszeń — 5 kategorii

| Kategoria | Definicja | Działanie Shield | Eskalacja HO |
|---|---|---|---|
| `KRYTYKA-NIE-HEJT` | **negatywna opinia o twórczości/działaniach** (album, tekst, koncert, decyzja). Krytyka dzieła jest **dozwolona** i NIE jest hejtem. | **PRZEPUSZCZAMY** — brak karty dowodu, brak eskalacji. Chroni wolność wypowiedzi. | NIE |
| `HEJT` | atak na osobę, pogarda, dehumanizacja, wyzwiska (wobec osoby, nie dzieła) | karta dowodu (status `NOWY`) + kolejka moderacji | NIE (chyba że eskaluje do groźby) |
| `GROZBA` | zapowiedź przemocy / krzywdy zdrowia / życia | **karta dowodu + eskalacja HO** | **TAK** |
| `DOXXING` | ujawnienie danych prywatnych (adres, telefon, miejsce pracy) | **karta dowodu + eskalacja HO** | **TAK** |
| `STALKING` | uporczywe nękanie, śledzenie, namierzanie | **karta dowodu + eskalacja HO** | **TAK** |

**Kategoria `KRYTYKA-NIE-HEJT` jest explicite i nadrzędna:** w razie wątpliwości KRYTYKA/HEJT domyślamy się na korzyść wolności wypowiedzi (przepuszczamy + flaga `do_weryfikacji`). System **nigdy nie traktuje krytyki twórczości jako hejtu**.

---

## 3. Procedura zgłoszenia (kroki 1–7)

**Kto zgłasza:** artysta, członek zespołu/operator, fan, lub automatyczny sygnał z [Anti-Hate Radar](../fani/antihate_radar.md).

```
ZGŁOSZENIE →
 [1] PRZYJĘCIE        — kto zgłasza + co (link/zrzut). System nadaje id (INC-XXXX).
 [2] PRZECHWYCENIE    — system pakuje dowód: zrzut ekranu + URL + timestamp (oryginał,
                        bez edycji treści). Hash dowodu (sha256 zrzutu) → karta dowodu.
 [3] HOMONIM          — sprawdź czy „Metrowy" dotyczy artysty, nie metro/METER/Metro Boomin
                        (L1_obserwator_index.json). Fałszywy homonim → ZAMKNIETY (nie eskaluje).
 [4] KLASYFIKACJA     — system klasyfikuje wg §2 (drzewo decyzyjne w antihate_radar.md §3).
                        KRYTYKA-NIE-HEJT → STOP, przepuszczamy (brak karty).
 [5] KARTA DOWODU     — dla HEJT/GROZBA/DOXXING/STALKING: system buduje kartę
                        (schema §4). status = NOWY. werdykt = do_weryfikacji.
 [6] ESKALACJA HO     — GROZBA/DOXXING/STALKING: status → W_OCENIE, powiadom człowieka.
                        Człowiek (HO) podejmuje decyzję: ZAMKNIETY albo ESKALOWANY
                        (→ ew. prawnik / policja). System sam NIE kontaktuje organów.
 [7] DOMKNIĘCIE       — zapis decyzji_człowieka w karcie; status → ESKALOWANY/ZAMKNIETY.
                        Karta trafia do incydenty.json (rejestr).
```

**Co robi system (automat):** przyjmuje, przechwytuje dowód, hashuje, sprawdza homonim, klasyfikuje, buduje kartę, powiadamia człowieka.
**Czego system NIE robi:** nie ocenia karnie, nie kontaktuje sprawcy, nie kontaktuje policji/prawnika, nie atakuje, nie doxuje z powrotem. To zawsze **decyzja człowieka (HO)**.

**Ścieżka eskalacji:** `System (karta) → Człowiek/Operator (HO) → [decyzja] → ew. Prawnik → ew. Policja`. Każda strzałka po „Człowiek" wymaga świadomej decyzji człowieka — nigdy automatu.

---

## 4. Karta dowodu — schema

Karta dowodu to forensic-owy zapis pojedynczego incydentu. Zgodna ze schematem `_meta.schema_wpisu` w [incydenty.json](incydenty.json), rozszerzona o pola dowodowe.

| Pole | Typ | Opis |
|---|---|---|
| `id` | string | identyfikator `INC-XXXX` |
| `data` | ISO 8601 | data/czas przechwycenia dowodu |
| `typ` | enum | `HEJT` \| `GROZBA` \| `DOXXING` \| `STALKING` \| `KRYTYKA-NIE-HEJT` |
| `tresc_anonimizowana` | string | treść incydentu **z usuniętymi danymi osobowymi** sprawcy i osób trzecich |
| `zrodlo_platforma` | string | platforma/URL źródła (gdzie wystąpił incydent) |
| `hash_dowodu` | string | `sha256:` zrzutu/dowodu (integralność, dowód nieedytowany) |
| `homonim_sprawdzony` | bool | czy zweryfikowano że dotyczy artysty, nie homonimu |
| `uzasadnienie_forensic` | string | odwołanie do kroku drzewa decyzyjnego (§3 radaru) |
| `status` | enum | `NOWY` → `W_OCENIE` → `ESKALOWANY` \| `ZAMKNIETY` |
| `eskalacja_HO` | bool | czy wymaga decyzji człowieka |
| `decyzja_czlowieka` | string\|null | decyzja operatora (HO); `null` dopóki człowiek nie zadecyduje |
| `dopisek_prawny` | string | „...wymaga weryfikacji prawnej" (agent nie udziela porady prawnej) |
| `log` | array | ślad audytowy kroków |

**Cykl statusów:** `NOWY` (karta zbudowana) → `W_OCENIE` (eskalowano do człowieka) → `ESKALOWANY` (człowiek skierował dalej: prawnik/policja) **lub** `ZAMKNIETY` (człowiek zamknął: fałszywy homonim / brak naruszenia / krytyka).

---

## 5. Przykładowa karta dowodu

Plik: [karta_dowodu_przyklad.json](karta_dowodu_przyklad.json) — **w pełni fikcyjny, anonimizowany przykład** (groźba w komentarzu). NIE realna osoba, NIE realny incydent. Demonstruje strukturę. Rejestr realny ([incydenty.json](incydenty.json)) startuje **pusty** — Proof before Claim.

---

## 6. Guardraile (twarde)

- **DOKUMENTUJE, nie atakuje** — Shield buduje paczkę dowodową. NIE atakuje sprawcy, NIE doxuje z powrotem, NIE kontaktuje sprawcy, NIE grozi w odwecie.
- **Eskalacja prawna = decyzja człowieka (HO)** — system powiadamia, człowiek decyduje o prawniku/policji. Automat nie kontaktuje organów.
- **KRYTYKA ≠ HEJT** — krytyki twórczości nie dokumentujemy jako incydent; przepuszczamy. Kategoria `KRYTYKA-NIE-HEJT` chroni wolność wypowiedzi.
- **No domysł** — werdykt „naruszenie" tylko z dowodem forensic; brak dowodu = `do_weryfikacji`.
- **Homonim = bramka** — przed eskalacją sprawdź czy to artysta Metrowy, nie metro/METER/Metro Boomin.
- **No porada prawna** — ocena karna/cywilna zawsze z dopiskiem „wymaga weryfikacji prawnej".
- **No Password Custody** — nie zbieramy ani nie przechowujemy haseł/danych logowania w żadnej karcie.
- **R10** — zero obietnic odzysku, zero kwot.
- **Anonimizacja** — `tresc_anonimizowana` z usuniętymi danymi osobowymi; nie publikujemy danych sprawcy ani osób trzecich.

---

## 7. Status

- Procedura zgłoszenia (7 kroków) + ścieżka eskalacji (System → Człowiek HO → ew. prawnik/policja): **gotowe**.
- Klasyfikacja zgłoszeń (5 kategorii, w tym explicite `KRYTYKA-NIE-HEJT`): **gotowa**.
- Karta dowodu (schema 13 pól + cykl statusów): **gotowa**.
- Przykładowa karta dowodu (fikcyjna, anonimizowana — groźba w komentarzu): **[karta_dowodu_przyklad.json](karta_dowodu_przyklad.json)**.
- Rejestr realny: **pusty** — wpisy dopiero z monitoringu live (Proof before Claim).

**Proof markery:** [J] spójność z [tarcza.md](tarcza.md) §1 (źródło prawdy) i [antihate_radar.md](../fani/antihate_radar.md) (klasyfikator — nie duplikowany). [P] schema karty = `incydenty.json` `_meta.schema_wpisu` + pola dowodowe. [H] przykład demonstracyjny (do kalibracji na realnych danych).
