2IZI Guard · 0.4.10 · PRE-1.0

Tài liệu

Core hiện tại nhắm PHP 8.1+ và framework-independent tại security boundary. Bảo vệ từng action rõ ràng và tiêu thụ token trước business operation.

Cho hành động ứng dụng

Bảo mật là quyết định của máy chủ, không phải trạng thái widget.

2IZI Guard bảo vệ biểu mẫu và hành động công khai bằng đánh giá rủi ro cục bộ, friction thích ứng và token ủy quyền máy chủ dùng một lần. Không bắt buộc CAPTCHA bên ngoài.

PHP 8.1+Core runtime
MariaDB / MySQLBaseline storage
0required outbound runtime calls
256-bitopaque token entropy
PRE-1.0Branch hiện tại có security-first architecture và regression/red-team coverage tự động. Bắt đầu với Shadow Mode rồi calibrate enforcement trên traffic thật.
Quick start

Bề mặt tích hợp nhỏ. Quyền cuối cùng nằm ở máy chủ.

Core hiện tại nhắm PHP 8.1+ và framework-independent tại security boundary. Bảo vệ từng action rõ ràng và tiêu thụ token trước business operation.

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

Action được bảo vệPHP
$result = Guard::verifyAndConsume(
    $_POST['guard_token'] ?? '',
    'contact'
);

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

Action thường dùng

loginregisterpassword_resetcontactcheckoutfile_upload
Server authorityJavaScript thành công không phải ủy quyền. Máy chủ xác minh và tiêu thụ Guard token.
Cách hoạt động

Một action được bảo vệ. Năm checkpoint độc lập.

Browser có thể tham gia challenge nhưng business permission luôn do máy chủ phát hành và tiêu thụ.

01

Xác minh ngữ cảnh

Kiểm tra Origin, action, session và limit cơ bản trước công việc tốn kém.

02

Đánh giá cục bộ

Tín hiệu server và ứng dụng tạo quyết định rủi ro có thể giải thích.

03

Thêm friction

Policy chọn PASS, PoW, interaction, throttle hoặc deny.

04

Phát hành một lần

Token opaque ngẫu nhiên 256-bit gắn với session/action/origin và TTL ngắn.

05

Tiêu thụ nguyên tử

Business endpoint tiêu thụ một lần; replay, mismatch và expiry bị từ chối.

Policy modes

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

Traffic tin cậy có thể đi qua im lặng; rủi ro cao có thể kích hoạt PoW, hold, throttle hoặc deny.

Tích hợp

Integration contract

Core hiện tại nhắm PHP 8.1+ và framework-independent tại security boundary. Bảo vệ từng action rõ ràng và tiêu thụ token trước 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 token · chỉ lưu hash · TTL ngắn · binding action/session/origin · HMAC integrity · one-time atomic consume · server-only business signals · fail-closed cho action quan trọng.

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.

Mô hình đe dọa

Giả định kẻ tấn công biết toàn bộ mã nguồn.

Mã nguồn, JavaScript, API, schema DB, PoW và threshold có thể bị biết; secret và ủy quyền vẫn ở máy chủ.

Giả định kẻ tấn công có

  • toàn bộ source code
  • mô hình AI hiện đại
  • Playwright / Selenium / headless Chromium
  • residential proxy
  • bản ghi traffic của chính họ

Security không dựa vào việc giấu

  • JavaScript
  • thuật toán challenge
  • tên field
  • endpoint
  • risk threshold
Bất biến cốt lõi256-bit opaque token · chỉ lưu hash · TTL ngắn · binding action/session/origin · HMAC integrity · one-time atomic consume · server-only business signals · fail-closed cho action quan trọng.
Giới hạn trung thựcKhông browser challenge nào chứng minh toán học “con người sinh học”. Action quan trọng vẫn cần passkey/WebAuthn, MFA, verified account, transaction authorization và business limit.
Mã nguồn mở

Mã công khai phải tăng khả năng kiểm tra, không làm yếu mô hình.

Đọc implementation không được tạo authorization bypass. Public review cần release, key, repository permission và vulnerability handling có kỷ luật.

Công khai

  • source và lịch sử thay đổi
  • SECURITY.md và responsible disclosure
  • threat model và kiến trúc
  • test security / red-team tự động
  • release checksum và notes

Giữ riêng

  • production config/guard.php
  • APP_KEY và HMAC/privacy/rate-limit keys
  • DB dump và security events thật
  • cookie/token/session thật
  • deployment secret và 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.

Trạng thái hiện tại

0.4.10 · pre-1.0 · đang phát triển

Branch hiện tại có security-first architecture và regression/red-team coverage tự động. Bắt đầu với Shadow Mode rồi calibrate enforcement trên traffic thật.

PHP coreCó sẵn
Webasyst / Shop-Script adapterSau khi core ổn định
Verified agents / Privacy PassTương lai / phụ thuộc chuẩn
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.

Ngôn ngữ

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