ローカルが既定
リスク評価、challenge 検証、認可はプロジェクト内で完結します。
2IZI Guard はローカルなリスク評価、適応型フリクション、1回限りのサーバー認可トークンでフォームと公開アクションを保護します。外部 CAPTCHA の必須依存はありません。
見える challenge は一層だけ。Guard は業務処理の前にサーバー側 action を保護します。
リスク評価、challenge 検証、認可はプロジェクト内で完結します。
JavaScript の成功は認可ではありません。サーバーが Guard token を検証・消費します。
信頼できる traffic は静かに通し、高リスクには PoW、長押し、throttle、deny を適用できます。
network、Guard session、account、action、site-wide の rate limit を組み合わせられます。
IP や browser signal を本人性とみなさず、侵襲的 fingerprinting を既定で避けます。
Risk Engine は reason codes と Shadow Mode 予測を調整用に保持します。
ブラウザは challenge に参加できますが、業務権限の発行と消費は常にサーバーです。
高コスト処理の前に Origin、action、session、基本 limit を確認。
server/application signals から説明可能なリスク判断を作成。
PASS、PoW、interaction、throttle、deny を policy が選択。
ランダム 256-bit opaque token を session/action/origin/短い TTL に binding。
business endpoint が1回だけ消費し、replay・mismatch・expiry を拒否。
2IZI Guard は Kerckhoffs-style の前提で設計されています。source、JavaScript、API、DB schema、PoW、threshold が知られていても、秘密と認可は server-side に残ります。
実装を読むだけで authorization bypass が生じてはいけません。公開 review には厳格な release、key、repository permission、vulnerability handling が必要です。
現在の core は PHP 8.1+ 向けで security boundary は framework 非依存。各 action を明示的に保護し、business operation 前に token を consume します。
<script src="/guard/public/assets/guard.js" defer></script> <form data-guard-action="contact"> … </form>
$result = Guard::verifyAndConsume( $_POST['guard_token'] ?? '', 'contact' ); if (!$result->allowed()) { http_response_code(403); exit; }
現行 branch は security-first architecture と automated regression/red-team coverage を備えます。まず Shadow Mode、その後 real traffic で enforcement を調整してください。