clusev/lang/de
boban 57a3dd51b6 feat(security): signed confirm-action tokens + airtight backup-code reveal
Two hardening features completed in parallel (each with its own spec + tests),
sharing call sites (TwoFactorSetup, WebauthnKeys, routes) so committed together:

- ConfirmAction token hardening: destructive confirm flows now carry a server-issued,
  single-use, signed token (App\Support\Confirm\ConfirmToken) instead of trusting a
  client-mutable event/params/auditTarget. Every #[On] apply handler consumes + validates
  the token (forged/replayed/direct-bypass calls no-op). Server-scoped per action; closes
  the codebase-wide confirm-bypass + audit-forgery vector across Security, Sessions, Users,
  WebauthnKeys, Servers\Show, Services, System, Files.
- Backup-code airtight reveal: codes are revealed via a transient channel, not a persisted
  Livewire property, so a captured/replayed snapshot can't re-render them; the recovery
  download is grant-gated.

Full suite green (162).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 18:35:33 +02:00
..
accounts.php feat(accounts): multi-user admin management — create (temp pw), list, remove, force-logout 2026-06-14 23:39:34 +02:00
audit.php feat(audit): configurable retention + scheduled clusev:prune-audit 2026-06-14 23:40:17 +02:00
auth.php Reveal backup codes only when freshly generated 2026-06-15 06:14:59 +02:00
backend.php feat(ssh): SshKeyProvisioner — generate+install key, verify, switch credential, then disable password (rollback-safe) 2026-06-14 21:57:45 +02:00
common.php feat(webauthn): use a security key at the login challenge 2026-06-14 18:26:58 +02:00
dashboard.php feat(i18n): bilingual foundation (DE/EN) + localize auth/dashboard/servers/fleet/account 2026-06-13 22:36:16 +02:00
errors.php feat(branding): favicons + PWA manifest, and custom branded error pages 2026-06-14 15:27:49 +02:00
files.php feat(branding): favicons + PWA manifest, and custom branded error pages 2026-06-14 15:27:49 +02:00
mail.php feat(mail): SMTP configuration in Settings (encrypted password, runtime override, test-send) 2026-06-14 23:42:19 +02:00
modals.php feat(security): signed confirm-action tokens + airtight backup-code reveal 2026-06-15 18:35:33 +02:00
servers.php feat(servers): move fail2ban banned-IP list into a scrollable modal 2026-06-14 23:10:36 +02:00
services.php fix(services): live journal poll + command-palette server search 2026-06-14 20:13:08 +02:00
sessions.php feat(sessions): database sessions + list/revoke (other devices, per-user, global) with remember-token rotation 2026-06-14 23:34:00 +02:00
settings.php refactor(settings): split into per-tab nested components (Profile, Security) + tab hosts for Users/Sessions/Email 2026-06-14 23:23:25 +02:00
shell.php feat(i18n): bilingual foundation (DE/EN) + localize auth/dashboard/servers/fleet/account 2026-06-13 22:36:16 +02:00
system.php fix(system): shorten TLS-mode label (no wrap) + clean domain placeholder 2026-06-15 06:11:48 +02:00
validation.php feat(i18n): custom bilingual validation messages (DE + EN) 2026-06-14 15:45:02 +02:00
versions.php i18n: complete DE/EN localization (modals, shell, backend) + v0.3.0 2026-06-13 23:27:42 +02:00