{"id":"c1074","filename":"c1074_genesis_offline_verify_globalni_modul.dok.json","weise3_id":"","tip":"implementacija","naziv":"GenesisOffline™ v1.0 — Globalni standalone Ed25519 verifikator","kreator":"genesis","datum":"2026-05-22","snippet":"Offline verifikacijski modul ekstrahiran u standalone fajlove — KUT C DNK Internet Protokola","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"implementacija","naziv":"GenesisOffline™ v1.0 — Globalni standalone Ed25519 verifikator","sto_je_napravljeno":"Offline verifikacijski modul ekstrahiran u standalone fajlove — KUT C DNK Internet Protokola","datum":"2026-05-22","zakon":["ZAKON 40","ZAKON 41","ZAKON 43","DNK Internet Protokol v1.0"],"problem":"GenesisAuth.offline.verify() postojao je samo unutar 680-linijskog genesis-auth.js SDK-a. KUT C (matematika) nije bio dostupan bez cijelog SDK-a. Globalni modul = standalone, bez ovisnosti, s više domena.","rjesenje":{"js_modul":{"putanja":"/var/www/genesis/static/genesis-offline-verify.js","veličina":"~80 linija, ~2.1KB minified","ovisnosti":"NEMA — samo W3C WebCrypto API","fallback":"noble-ed25519.js (opcionalan, učitaj prije ovog fajla)","api":{"GenesisOffline.verify(qr_payload)":"Verificira token — Promise<{valid, weise3_id, expired, ...}>","GenesisOffline.check(qr_payload)":"Alias za verify()","GenesisOffline.verifySignature(pub_hex, msg_bytes, sig_hex)":"Raw Ed25519 verify za naprednu upotrebu"}},"python_modul":{"putanja":"/var/www/genesis/services/genesis_offline_verify.py","veličina":"~100 linija","ovisnosti":"cryptography (pip install) ili PyNaCl — automatska detekcija","api":{"verify_offline_token(qr_payload)":"Identična logika kao JS verzija — TypedDict OfflineVerifyResult"}}},"serviranje":{"EU":"https://genesis.limit-connect.com/static/genesis-offline-verify.js","NEW":"https://genesislogin.online/static/genesis-offline-verify.js","bootstrap":"https://genesis.limit-connect.com/.well-known/genesis-network.json — polje 'verifier'"},"kut_c_trokuta":{"opis":"Ed25519 matematika = KUT C DNK Bootstrap Trokuta","princip":"Matematika se ne može blokirati. Korisnik koji ima qr_payload i ovaj ~2KB JS može verificirati identitet bez interneta, bez servera, bez IP adrese.","slučajevi_upotrebe":["Carinik skenira QR kamionom bez 4G","Bolnica verificira pacijenta u hitnoj bez WiFi-a","Logistika u skladištu bez internet veze","Transport — CMR potpis, offline verifikacija vozača","Checkin gosta na hotelski kiosk bez mrežnog poziva"]},"što_postoji_u_genesis_auth_js":{"GenesisAuth.offline.createToken":"Kreira offline token — passphrasa → Ed25519 keypair → QR payload","GenesisAuth.offline.verify":"Isto što i GenesisOffline.verify — ostaje u SDK-u za kompatibilnost","GenesisAuth.offline.check":"Alias"},"odnos_modula":"genesis-auth.js = puni SDK (680 linija, login flow, biometrija, vault). genesis-offline-verify.js = samo verifikacija (~80 linija). Korisnik bira: puni SDK ili samo KUT C.","sljedeći_koraci":["noble-ed25519.js — dodati na server kao fallback za starije browsere","genesis-offline-verify.py CLI wrapper — za terminal verifikaciju","Integracija u fenix-v3 / fina-connect Django views (import verify_offline_token)","Flutter/Dart port za AGER mobilnu aplikaciju","Kopiranje JS na DE server (sati.ink) za potpuni KUT C coverage"],"provjera":{"EU_200":"curl https://genesis.limit-connect.com/static/genesis-offline-verify.js → 200 OK","NEW_200":"curl https://genesislogin.online/static/genesis-offline-verify.js → 200 OK","bootstrap_verifier":".well-known/genesis-network.json → polje 'verifier' postoji"}}}