| name | prawo-pl-uodo |
| version | 1.6.2 |
| description | Odpytuje OFICJALNE API Portalu Orzeczeń UODO (orzeczenia.uodo.gov.pl) — decyzje Prezesa Urzędu Ochrony Danych Osobowych: kary pieniężne za naruszenia RODO, upomnienia, nakazy, oraz powiązane orzeczenia sądów. Używaj przy pytaniach o praktykę polskiego organu ochrony danych: „czy UODO karał za…", „decyzja UODO w sprawie…", „jak UODO interpretuje art. X RODO", „jaka kara za brak analizy ryzyka/zgłoszenia naruszenia", przy DPIA, analizie naruszeń ochrony danych, audytach RODO i pismach do UODO. Wyszukiwanie pełnotekstowe i po tytule/dacie; pełna treść decyzji po sygnaturze (np. DKN.5131.9.2025). Read-only, bez klucza. Treść RODO → skill prawo-eu-eurlex; wyroki WSA/NSA ze skarg na decyzje UODO → prawo-pl-cbosa. Decisions of the Polish DPA (UODO) from its official public API. |
Decyzje Prezesa UODO z oficjalnego API portalu orzeczeń
Skill do praktyki decyzyjnej polskiego organu ochrony danych (Prezesa UODO). Sięga do
oficjalnego API Portalu Orzeczeń UODO (https://orzeczenia.uodo.gov.pl, uruchomionego
w 2025 r.): decyzje administracyjne Prezesa UODO — kary pieniężne, upomnienia, nakazy — oraz
powiązane orzeczenia sądów w tych sprawach. Używaj go, gdy pytanie dotyczy tego, jak UODO
stosuje RODO w praktyce: wysokość kar, przesłanki upomnienia, wymagania wobec analizy ryzyka,
zgłaszania naruszeń, powierzenia przetwarzania.
Podział ról (który skill do czego)
- Decyzje Prezesa UODO → ten skill. Kary, upomnienia, nakazy, umorzenia — z pełną treścią.
- Treść RODO → prawo-eu-eurlex (rozporządzenie 2016/679, CELEX 32016R0679); polska ustawa
o ochronie danych osobowych → prawo-pl-eli (Dz.U.).
- Wyroki WSA/NSA ze skarg na decyzje UODO → prawo-pl-cbosa (sądową kontrolę decyzji
znajdziesz w CBOSA; tu bywają tylko powiązane rekordy).
- Delegując research subagentowi, wpisz: „decyzje UODO pobieraj przez
scripts/uodo.py
(skill prawo-pl-uodo); treść RODO przez scripts/eurlex.py (prawo-eu-eurlex)".
Narzędzie
Wszystko robi helper scripts/uodo.py (tylko biblioteka standardowa Pythona — bez instalacji).
Skrypt leży obok tego pliku SKILL.md (<katalog skilla>/scripts/uodo.py) — NIE zakładaj, że to
~/.claude/skills/prawo-pl-uodo (skill zainstalowany jako plugin leży w katalogu pluginów; w Claude
Code: ${CLAUDE_PLUGIN_ROOT}/skills/prawo-pl-uodo). Gdy nie znasz ścieżki, najpierw ją ustal:
UODO=$(find "$HOME/.claude" "$HOME/.agents" /mnt /sessions -maxdepth 10 -name uodo.py -path "*prawo-pl-uodo*" 2>/dev/null | head -1)
[ -n "$UODO" ] || { curl -fsSL https://raw.githubusercontent.com/jamarpl21/prawo-pl-eli/main/plugins/prawo-pl-uodo/skills/prawo-pl-uodo/scripts/uodo.py -o /tmp/uodo.py && UODO=/tmp/uodo.py; }
python3 "$UODO" <komenda> [...]
(W przykładach niżej python3 scripts/uodo.py oznacza python3 "$UODO", jeśli nie jesteś w katalogu skilla.)
Komendy
- najnowsze — ostatnio opublikowane dokumenty:
python3 scripts/uodo.py najnowsze --limit 10
- szukaj — wyszukiwanie pełnotekstowe / po tytule / po dacie publikacji:
python3 scripts/uodo.py szukaj "biometr" --limit 5
python3 scripts/uodo.py szukaj --tytul "kara pieniężna" --od 2026-01-01
Fraza działa jak regex bez rozróżniania wielkości liter — szukaj RDZENIA słowa
(„biometr" znajdzie „biometryczne/biometrii"). API stosuje jeden warunek na zapytanie
(fraza ALBO tytuł; zakres dat można łączyć z warunkiem). Zaawansowane: --warunek "indeks:operator:wartość" (indeksy i operatory: references/api.md). --limit N, --strona N.
- decyzja — pełna decyzja po sygnaturze albo URN:
python3 scripts/uodo.py decyzja DKN.5131.9.2025
Pokazuje metadane (status, daty ogłoszenia/publikacji), przedmiot i pełną treść.
Do długich decyzji: --fragment "kara pieniężna" (wycina okna wokół frazy).
- każda komenda przyjmuje
--json (surowa odpowiedź API; podawaj PRZED komendą).
Typowy przepływ: szukaj "<rdzeń frazy>" → wybierz sygnaturę → decyzja <sygnatura>
→ do sądowej kontroli tej decyzji: skill prawo-pl-cbosa (szukaj "<sygnatura decyzji>").
Zasady (ważne — dlaczego)
- Portal jest młody (od 2025 r.) — publikowane są nowe decyzje oraz sukcesywnie starsze
(sygnatury sprzed 2025 pojawiają się z opóźnieniem). Brak decyzji w portalu ≠ jej nieistnienie;
starsze decyzje bywają tylko na uodo.gov.pl — zaznacz to w odpowiedzi.
- Decyzja nieprawomocna ≠ ostateczna wykładnia. Sprawdzaj pole
status (final/nonfinal)
i dopisz zastrzeżenie; od decyzji przysługuje skarga do WSA (kontrola: skill prawo-pl-cbosa).
- Zawsze podawaj sygnaturę + datę (np. „decyzja Prezesa UODO z 7.08.2025, DKN.5131.9.2025")
— sygnatura jest stabilnym identyfikatorem (URN w API).
- Kwoty kar i stan prawny weryfikuj w treści decyzji, nie w tytule — tytuł to opis redakcyjny.
- Pełna lista endpointów, indeksów i operatorów:
references/api.md.
Czego ten skill NIE obejmuje
- treści RODO i innych przepisów (RODO → prawo-eu-eurlex; polskie ustawy → prawo-pl-eli),
- wyroków sądów administracyjnych ze skarg na decyzje UODO (→ prawo-pl-cbosa),
- orzeczeń SN/TK/sądów powszechnych (→ prawo-pl-saos),
- decyzji innych organów (UOKiK, KNF), wytycznych EROD (te bierz z edpb.europa.eu — internet).
Jeśli zagadnienie wymaga tych źródeł — powiedz to wprost, nie udawaj, że portal UODO je pokryje.
Przykładowy przepływ
Pytanie: „czy UODO nakładał kary za brak zgłoszenia naruszenia ochrony danych i jak je uzasadnia?"
szukaj "zgłoszen" --tytul "kara" → jeśli pusto: szukaj "art. 33" (jeden warunek na raz).
decyzja <sygnatura> --fragment "art. 33" → argumentacja organu wokół obowiązku zgłoszenia.
- (opcjonalnie) treść art. 33 RODO: skill prawo-eu-eurlex
(
tekst 02016R0679-20160504 --fragment "art. 33").
- (opcjonalnie) kontrola sądowa: skill prawo-pl-cbosa,
szukaj "<sygnatura decyzji>".
- W odpowiedzi: sygnatura + data + status (nieprawomocna?) + kwota kary z treści decyzji.