{"id":"c1386","filename":"c1386_sudac_read_gate_sobe.dok.json","weise3_id":"sudac_read_gate_sobe_c1386","tip":"sigurnost","naziv":"Sudac read-gate — poslovne sobe traže prijavu (Cjelina 3 zatvorena) (c1386)","kreator":"genesis","datum":"2026-06-14","snippet":"","status":"DEPLOYAN + DOKAZAN — Cjelina 3 iz 🔴 u zeleno (kuća dobila zid)","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"sigurnost","naziv":"Sudac read-gate — poslovne sobe traže prijavu (Cjelina 3 zatvorena) (c1386)","sto_treba":"Zatvoriti LIVE javno curenje poslovnih GET endpointa (osobe/firme/arhiva/racuni/pos...) bez tokena.","nalaz":"Cjelina 3 ponašajni test: 31 poslovna GET ruta servirala podatke (PII test-Synesis 2025, fakture, OIB, ugovori, cijeli arhiv-export) BEZ tokena, javno preko genesislogin.online. Korijen: SudacMiddleware gate-a samo WRITE (API ključ), READ uopće ne gate-a; per-ruta auth na samo 9/113 modula; Membrana je promatrač (ne kapija); commit 3047da28 'add Depends(sesija)' bio nepotpun.","fix":"Centralni read-gate u SudacMiddleware._handle: GET/HEAD na _SOBE_TREBA_SESIJU prefikse (racuni,osobe,firme,arhiva,komitenti,pacijenti,skladista,zalihe_optika,narudzbe,izvjestaji,kaucija,transfers,tenants,podruznice,artikli,media,partneri,pos,placa,dispo) bez valjane sesije/M2M-ključa → 401. Helper _ima_valjanu_sesiju uvozi ISTE simbole (_redis,_session_kljuc) kao _provjeri_bearer. Predvorje (genesis/auth, recovery, _PRESKOCI: brsljani,mesh,flf,checkin,smjestaj,bon,kamera,docs,/v/) netaknuto. vozači/tahograf solo ostaju javni; dispo u sobe (simbioza).","dokaz_prije_deploya":"Živi proof: login token → _redis.hgetall(_session_kljuc(token))=True (vlasnik se prepoznaje); settings.GENESIS_API_KEY postoji+postavljen. Oba tiha-obrata isključena mjerenjem PRIJE .bak.","dokaz_poslije_deploya":{"coverage_sobe":"31 → 0 otvorenih","login_cjelina1":"7/7 (čisto; baseline 2/7 bio Puž rate-limit artifakt mog bursta)","osobe_bez_tokena":"401 (lopov vani)","osobe_s_validnim_tokenom":"200 (vlasnik unutra — surgički, isti token koji /me prihvaća)","predvorje":"recovery/brsljani/smjestaj/bon/checkin → nije 401 (javno netaknuto)","dispo":"bez=401 (soba), sa=404 (nema GET / rute) — gate radi"},"auto_revert":"Deploy skripta auto-revert (.bak_mitig_20260614 + restart) ako owner-401 ILI login!=7/7 ILI servis ne digne. Nije se aktivirao — guardi prošli.","ostaje_donja_granica":"Read-gate gađa SAMO GET/HEAD. POST-read kroz catch-all NETESTIRAN → 31 je donja granica, otvorena nit za kasnije. Iskreni status, ne riješeno.","filozofija":"Dvorac (predvorje) javan — svi dobrodošli. Sobe (podaci) traže 'uzimanje mjere' (prijava=device-binding, diže hardver). Simbioza, ne pijavica — Puž: 'za vlasnika sloboda, za lopova zatvor'.","zakon":["ZAKON NAD ZAKONIMA (owner-prolaz dokazan PRIJE deploya, ne pretpostavljen — razlika od commita 3047da28)","ZAKON 29 (sigurnost default)","ZAKON 30","ZAKON 32"],"weise3_id":"sudac_read_gate_sobe_c1386","datum":"2026-06-14","status":"DEPLOYAN + DOKAZAN — Cjelina 3 iz 🔴 u zeleno (kuća dobila zid)","krunica_hash":"32659929d2ca8b5c4cf4847c316ee87f104666c6bd9cdf192753ab4da228e44b","content_seal_sha3":"bc97318ba917176952e129a23775deab2a7dce79a3911338f48206276854f377"}}