Säkerhet är ett serverbeslut, inte ett widgettillstånd.
2IZI Guard skyddar formulär och publika åtgärder med lokal riskbedömning, adaptiv friktion och engångstoken från servern. Ingen obligatorisk extern CAPTCHA-runtime.
Liten integrationsyta. Slutligt tillstånd stannar server-side.
Nuvarande core riktar sig till PHP 8.1+ och är framework-independent vid security boundary. Skydda varje action explicit och konsumera token före business operation.
1. Frontend
<script src="/guard/public/assets/guard.js?v=0.4.10" defer></script> <form data-guard-action="contact"> … </form>
2. Protected action
$result = Guard::verifyAndConsume(
$_POST['guard_token'] ?? '',
'contact'
);
if (!$result->allowed()) {
http_response_code(403);
exit;
}Typiska actions
loginregisterpassword_resetcontactcheckoutfile_uploadEn skyddad action. Fem oberoende checkpoints.
Browsern kan delta i challenge, men business permission utfärdas och konsumeras alltid av servern.
Validera context
Kontrollera Origin, action, session och grova limits före dyrt arbete.
Bedöm lokalt
Server- och applikationssignaler ger ett förklarbart riskbeslut.
Lägg till friktion
Policy väljer PASS, PoW, interaction, throttle eller deny.
Utfärda en gång
Slumpmässigt 256-bit opaque token binds till session/action/origin och kort TTL.
Konsumera atomiskt
Business endpoint konsumerar en gång; replay, mismatch och expiry avvisas.
Policy modes
Betrodd trafik kan passera tyst; högre risk kan utlösa PoW, hold, throttle eller deny.
Integration contract
Nuvarande core riktar sig till PHP 8.1+ och är framework-independent vid security boundary. Skydda varje action explicit och konsumera token före business operation.
Action registry
The server defines allowed action names. Never use a client-provided action as authorization context.
'contact' => [ 'mode' => 'adaptive', 'fail_mode' => 'open_with_limit' ]
Origin / session binding
256-bit opaque tokens · hash-only storage · kort TTL · binding action/session/origin · HMAC integrity · one-time atomic consume · server-only business signals · fail-closed critical actions.
UI isolation
Shadow DOM isolates Guard visuals from host CSS. It is a UI reliability layer, not a security boundary.
Localization
UI locale is BCP-47-style, UTF-8, RTL-ready, touch/keyboard compatible, and extendable with locale packs.
Vi antar att angriparen känner hela koden.
Kod, JavaScript, API, DB-schema, PoW och trösklar kan vara kända; hemligheter och auktorisering stannar på servern.
Vi antar att angriparen har
- fullständig source code
- moderna AI-modeller
- Playwright / Selenium / headless Chromium
- residential proxies
- captures av egen trafik
Security förlitar sig inte på att dölja
- JavaScript
- challenge algorithms
- field names
- endpoints
- risk thresholds
Publik kod ska öka granskningsbarheten, inte försvaga modellen.
Att läsa implementation får inte skapa authorization bypass. Public review kräver disciplinerade releases, keys, repository permissions och vulnerability handling.
Publicera
- source och ändringshistorik
- SECURITY.md och responsible disclosure
- threat model och architecture
- automatiserade security / red-team tests
- release checksums och notes
Håll privat
- production config/guard.php
- APP_KEY och HMAC/privacy/rate-limit keys
- DB dumps och riktiga security events
- riktiga cookies/tokens/sessions
- deployment secrets och private infrastructure
Diagnostics, tests and updates
Diagnostics
php bin/diagnose.php
Check database state, key material, Origin configuration and registered actions before enabling enforcement.
Regression / red-team
bash tests/run-all.sh
Release acceptance includes replay, proxy, risk, tampering, UI and integration checks. Run disposable MariaDB/MySQL concurrency tests where available.
Updates
Read release notes and migrations first. Do not overwrite production config/guard.php with a distribution template. Rotate keys only when a release explicitly requires it.
Rollout
Start with Shadow Mode, review predicted decisions and false positives, tune action policies, then enable calibrated enforcement.
0.4.10 · pre-1.0 · aktiv utveckling
Nuvarande branch har security-first architecture och automatisk regression/red-team coverage. Börja med Shadow Mode och kalibrera enforcement på riktig trafik.