{"id":"c0879","filename":"c0879_genesis_identity_hub.dok.json","weise3_id":"c0879_genesis_identity_hub_6a082ac3","tip":"arhitekturalna_odluka","naziv":"GenesisIdentityHub — EU-compliant identity za sve prilike","kreator":"Ivan Seki + CC","datum":"2026-05-16","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"weise3_id":"c0879_genesis_identity_hub_6a082ac3","tip":"arhitekturalna_odluka","naziv":"GenesisIdentityHub — EU-compliant identity za sve prilike","datum":"2026-05-16","verzija":"1.0","zakon":[17,26,3,38,42],"autor":"Ivan Seki + CC","sto_je_napravljeno":{"identity_hub_py":"services/identity_hub.py — 8 contextova (website_login, wifi_portal, tourist_hr/it/es/de, document_sign, kyc_bank), L0-L4 identity layers, eVisitor/Alloggiati/SES.HOSPEDAJES output formatters, Redis-backed, WeisE3 proof ID, BunkerSeal L5","identity_api_py":"api/identity.py — 5 endpointa: POST /verify, GET /profile, POST /proof, GET /proof/{id}, GET /contexts. Svaki context automatski generira legal payload (eVisitor JSON, Alloggiati record, SES.HOSPEDAJES JSON)","genesis_identity_js":"public/sdk/genesis-identity.js — ICAO 9303 MRZ parser (TD3 putovnica + TD1 osobna), Web NFC API (Chrome Android), Tesseract.js OCR supplement, perceptualni face hash, IndexedDB offline proof cache, auto-init na genesis:login:success event","sudac_middleware":"/api/v1/identity/ dodana u javne putanje — prolazi bez VezaniKljuca","popup_html":"genesis-identity.js uclucen u login popup — auto-init na prijavu"},"paradigma":{"staro":"Gost mora nešto napraviti (USSD, QR, klik) da bi se prijavio","novo":"FENIX-CHK: Dolazak je Događaj — identitet je preduvjet, ne radnja","zakon_42":"Svaka obavezna zakonska radnja mora biti nuspojava normalnog ponašanja korisnika"},"identity_layers":{"L0":"Ed25519 keypair — website login, compute node","L1":"Self-claimed — Wi-Fi portal, profil","L2":"MRZ verified + OCR — HR eVisitor (sva obavezna polja)","L3":"NFC chip + SOD — IT Alloggiati, ES SES.HOSPEDAJES, banka","L4":"Bio verified — KYC, aerodrom, visoka sigurnost"},"legalni_contexti":{"tourist_hr":"L2+, eVisitor JSON, datum izdavanja iz OCR","tourist_it":"L3+, Alloggiati record, mjesto rodenja iz NFC DG11","tourist_es":"L3+, SES.HOSPEDAJES JSON, support_number iz NFC serial","tourist_de":"L2+, Meldeschein JSON, adresa iz rezervacije","website_login":"L0+, JWT","wifi_portal":"L1+, signed token","document_sign":"L1+, signed token, TTL 1h","kyc_bank":"L4+, face_hash + liveness_score"},"test_rezultati":{"verify_L2":"200 OK, layer=L2, proof_id generian odmah","profile":"contexts=[website_login, tourist_hr] za L2","proof_tourist_hr":"eVisitor payload kompletan s datumIzdavanja","bunker_seal":"SHA3-256 L5 seal na svakom proofu","sdk_url":"https://genesis.limit-connect.com/sdk/genesis-identity.js"},"nedostaje_za_produkciju":["NFC BAC (Basic Access Control) — zahtijeva nativnu app ili WebUSB, nije Web NFC standard","Tesseract.js lazy load — 3MB, ucitati samo kad OCR treba","eVisitor API integracija — direktni HTTP poziv prema eVisitor sistemu","Group registration flow — svaki gost u grupi skenira vlastiti dokument"]}}