1. Asimilirani fajlovi: test_recovery_ciklus.py (11/11 OK) + RECOVERY_POKRENI.md · 2. Smoke test na EU serveru: recovery ciklus 3/3 čuvara (EU+NEW+DE), K=2 rekonstrukcija OK · 3. Patch webauthn_auth.p
tipimplementacija
sto_je_napravljeno[
"1. Asimilirani fajlovi: test_recovery_ciklus.py (11/11 OK) + RECOVERY_POKRENI.md",
"2. Smoke test na EU serveru: recovery ciklus 3/3 čuvara (EU+NEW+DE), K=2 rekonstrukcija OK",
"3. Patch webauthn_auth.py: biom_register_complete sada poziva kreira_recovery_set + get_recovery().postavi() samo za je_prvi uređaj",
"4. Patch page.tsx: dodan korak 'recovery_token_prikaz' — token se prikazuje JEDANPUT s copy gumbom i checkbox potvrdom",
"5. Fix PostgreSQL: max_connections 100→200, idle_in_
faze{
"test_referentni": "GOTOVO — test_recovery_ciklus.py 11/11",
"smoke_prava_recovery": "GOTOVO — postavi 3/3, vrati OK",
"backend_patch": "GOTOVO — commit 8eaae2ea, api/webauthn_auth.py",
"ui_patch": "GOTOVO — recovery_token_prikaz korak u popup/page.tsx, build OK",
"pg_fix": "GOTOVO — max_connections=200, idle timeout=300s"
}
odluke{
"n3_k2": "N=3 K=2 — samo serverski čuvari (EU+NEW+DE). Dovoljno za arhivu/računovodstvo. Upgrade na N=6 K=3 (korisnikovi uređaji) planiran za bolnice/carinu.",
"recovery_token": "64 hex chars — dovoljan za korisnika. Shamir secret != token. Token hash+salt u DB, tajna rekonstruirana samo na zahtjev.",
"ne_blokira": "greška recoverya NE blokira registraciju — recovery je bonus, ne uvjet"
}
zakonZAKON_NAD_ZAKONIMA — gotovo = smoke test prošao. ZAKON 32 — fix ima chain entry.
standardGBS-v1.0
krunica_hashKH1::c1297::shamir_recovery_zicanje::2026-06-08::FENIX2026