2IZI Guard · 0.4.10 · PRE-1.0

Dokumentaatio

Nykyinen core tähtää PHP 8.1+:aan ja on framework-independent security boundaryllä. Suojaa jokainen action eksplisiittisesti ja kuluta token ennen business operationia.

Sovellustoiminnoille

Turvallisuus on palvelimen päätös, ei widgetin tila.

2IZI Guard suojaa lomakkeet ja julkiset toiminnot paikallisella riskinarvioinnilla, adaptiivisella kitkalla ja kertakäyttöisillä palvelintokeneilla. Ei pakollista ulkoista CAPTCHA-runtimea.

PHP 8.1+Core runtime
MariaDB / MySQLBaseline storage
0required outbound runtime calls
256-bitopaque token entropy
PRE-1.0Nykyinen branch sisältää security-first architecture ja automaattisen regression/red-team coverage. Aloita Shadow Modella ja kalibroi enforcement oikealla trafficilla.
Quick start

Pieni integraatiopinta. Lopullinen lupa pysyy palvelimella.

Nykyinen core tähtää PHP 8.1+:aan ja on framework-independent security boundaryllä. Suojaa jokainen action eksplisiittisesti ja kuluta token ennen business operationia.

1. Frontend

FrontendHTML
<script src="/guard/public/assets/guard.js?v=0.4.10" defer></script>
<form data-guard-action="contact">
  …
</form>

2. Protected action

Suojattu actionPHP
$result = Guard::verifyAndConsume(
    $_POST['guard_token'] ?? '',
    'contact'
);

if (!$result->allowed()) {
    http_response_code(403);
    exit;
}

Tyypilliset actions

loginregisterpassword_resetcontactcheckoutfile_upload
Server authorityJavaScript-success ei ole authorization. Palvelin tarkistaa ja kuluttaa Guard-tokenin.
Miten se toimii

Yksi suojattu action. Viisi riippumatonta checkpointia.

Browser voi osallistua challengeen, mutta business permission myönnetään ja kulutetaan aina palvelimella.

01

Validoi context

Tarkista Origin, action, session ja peruslimits ennen raskasta työtä.

02

Arvioi paikallisesti

Server ja application signals tuottavat selitettävän risk decisionin.

03

Lisää friction

Policy valitsee PASS, PoW, interaction, throttle tai deny.

04

Myönnä kerran

Satunnainen 256-bit opaque token sidotaan session/action/origin ja lyhyeen TTL:ään.

05

Kuluta atomisesti

Business endpoint kuluttaa kerran; replay, mismatch ja expiry hylätään.

Policy modes

ShadowObserve and predict; no enforcement.
InvisibleNo visible challenge.
AdaptiveRisk-based PASS / PoW / interaction / deny.
Always challengeRequire step-up for every protected request.

Luotettu traffic voi kulkea hiljaa; suurempi risk voi käynnistää PoW:n, holdin, throttlen tai denyn.

Integraatio

Integration contract

Nykyinen core tähtää PHP 8.1+:aan ja on framework-independent security boundaryllä. Suojaa jokainen action eksplisiittisesti ja kuluta token ennen business operationia.

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 · lyhyt 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.

Uhkamalli

Oletamme, että hyökkääjä tuntee koko koodin.

Koodi, JavaScript, API, DB-schema, PoW ja thresholds voivat olla tunnettuja; salaisuudet ja autorisointi pysyvät palvelimella.

Oletamme, että hyökkääjällä on

  • täysi source code
  • modernit AI-mallit
  • Playwright / Selenium / headless Chromium
  • residential proxies
  • oman trafficin captures

Security ei perustu näiden piilottamiseen

  • JavaScript
  • challenge algorithms
  • field names
  • endpoints
  • risk thresholds
Core invariants256-bit opaque tokens · hash-only storage · lyhyt TTL · binding action/session/origin · HMAC integrity · one-time atomic consume · server-only business signals · fail-closed critical actions.
Rehellinen rajaMikään browser challenge ei voi matemaattisesti todistaa “biologista ihmistä”. Critical actions tarvitsevat edelleen passkey/WebAuthn, MFA, verified accounts, transaction authorization ja business limits.
Avoin lähdekoodi

Julkisen koodin tulee lisätä auditoitavuutta, ei heikentää mallia.

Implementation lukeminen ei saa luoda authorization bypassia. Public review vaatii kurinalaiset releases, keys, repository permissions ja vulnerability handling.

Julkaise

  • source ja change history
  • SECURITY.md ja responsible disclosure
  • threat model ja architecture
  • automated security / red-team tests
  • release checksums ja notes

Pidä yksityisenä

  • production config/guard.php
  • APP_KEY ja HMAC/privacy/rate-limit keys
  • DB dumps ja oikeat security events
  • oikeat cookies/tokens/sessions
  • deployment secrets ja private infrastructure
Operations

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.

Nykytila

0.4.10 · pre-1.0 · aktiivinen kehitys

Nykyinen branch sisältää security-first architecture ja automaattisen regression/red-team coverage. Aloita Shadow Modella ja kalibroi enforcement oikealla trafficilla.

PHP coreSaatavilla
Webasyst / Shop-Script adapterCore-stabiloinnin jälkeen
Verified agents / Privacy PassTulevaisuus / standardiriippuvainen
0.4.10The responsive-layout hotfix changes UI sizing and preview embedding only; database schema, token/challenge protocol, keys, risk engine and server authorization logic are unchanged.

Kieli

EnglishEnglishРусскийRussian简体中文Chinese (Simplified)繁體中文Chinese (Traditional)日本語Japanese한국어KoreanDeutschGermanFrançaisFrenchEspañolSpanishItalianoItalianPortuguês (Brasil)Portuguese (Brazil)العربيةArabicעבריתHebrewTürkçeTurkishPolskiPolishNederlandsDutchBahasa IndonesiaIndonesianTiếng ViệtVietnameseहिन्दीHindiPortuguês (Portugal)Portuguese (Portugal)ČeštinaCzechRomânăRomanianMagyarHungarianΕλληνικάGreekSvenskaSwedishNorskNorwegianDanskDanishSuomiFinnishไทยThai