Documentation

Source and package versions

One AIWAF repository. Python: py/aiwaf/ · Node.js: js/ · Rust/WASM: rust/ · Java: java/. Source and canonical README. Versions shown are the latest published releases; each package is versioned independently. Current versions are aiwaf 1.1.8 (Python) and aiwaf 1.1.5 (npm), with Rust/Python 0.2.7 and WASM 0.2.5 and Java 1.3.5. Sandbox guides retain their separately pinned builds.

Find the right kind of guide

New to AIWAF? Start with the tutorial. For an existing application, choose a task guide. Use topic guides to understand decisions and reference pages to look up runtime details.

Your goalStart hereWhat to expect
Learn by buildingTutorialsA connected example with complete files and checkpoints.
Understand how protection worksTopic guidesRequest flow, route decisions, state ownership, and the learning loop.
Complete a specific taskHow-to guidesFramework integration, operations, upgrades, and troubleshooting.
Look up a setting or interfaceReferenceConfiguration defaults, runtime interfaces, adapters, and bindings.

Browse the complete documentation contents

Test your protected application: runnable Flask and Django tests, state isolation, and a plan for full-stack and multi-worker checks.

Join a sprint: how to set up, review pull requests, and submit changes to AIWAF, its website and the sandbox.

Build your first protected app

Follow complete files from installation to route discovery, a verified rate limit, selective exemptions, and request logs.

Start the six-step tutorial | Choose your learning path and framework

Understand the architecture

Follow a request through adapters, route policies, deterministic checks, state, and response observations. Then see how logs feed the next model.

Read the system overview

Python internals | Node.js internals | Java internals | Rust/WASM internals

Current package matrix

Python and Node.js use ELv2 from version 1.1.2 onward, Rust/Python and WASM from 0.2.2, and Java from 1.3.3 for releases distributed under those terms. Previously distributed MIT copies retain their MIT permissions.

The matrix lists the latest published versions. Check your installed versions before upgrading. See source defaults for the source snapshot and the sandbox guide for its separately pinned package versions.

RuntimePackagePublished versionPrimary use
Pythonaiwaf1.1.8Django, Flask, and FastAPI protection
Node.jsaiwaf1.1.5Express and Node framework middleware
Rust/Pythonaiwaf-rust0.2.7Native CSV policies, training, and model inference
WebAssemblyaiwaf-wasm0.2.5Rust detection and model primitives for JavaScript
Javaio.github.aiwaf-project:aiwaf-java1.3.5Spring MVC and Jakarta Servlet protection

Supported framework integrations include Django, Flask, FastAPI, Express, Fastify, Hapi, Koa, NestJS, Next.js API routes, AdonisJS, Sails.js, Spring MVC, and Jakarta Servlet.

Python

Reference for AIWAF architecture, storage, middleware, training lifecycle, CLI surface, tests, and release pipeline for Python.

Open Python Deep-Dive Docs

PyPI Package | AIWAF Monorepo

JavaScript

Reference for AIWAF Node.js middleware architecture, framework integrations, end-to-end setup guide, storage/training lifecycle, CLI operations, and packaging.

Open JavaScript Deep-Dive Docs

npm Package | AIWAF Monorepo

PHP (Legacy Reference)

Historical PHP integration pages. PHP is absent from the current monorepo and is not part of its current package or release matrix.

Open Legacy PHP Reference

Packagist Package | AIWAF-PHP Repository

Java

Reference and setup guide for AIWAF-Java with framework-agnostic engine usage, Spring/Servlet integrations, runtime storage backends, and CLI/admin operations.

Open Java Deep-Dive Docs

Maven Artifact | AIWAF Monorepo

Rust Accelerator

Deep-dive docs for aiwaf-rust covering PyO3 bindings, WASM exports, Isolation Forest semantics, integration patterns, and build/test workflows.

Open Rust Accelerator Docs

PyPI Package | npm Package | AIWAF Monorepo