Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,889 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AXIAM

AXIAM

CI Coverage Status License

Access eXtended Identity and Authorization Management


What is AXIAM?

AXIAM is a full vibe-coding experiment — an enterprise-grade, open-source Identity and Access Management (IAM) platform designed from scratch by a human software architect and built entirely through AI-assisted development with Claude Code (Opus 4.6).

The goal: prove that a single architect, collaborating with an AI coding agent, can produce a production-quality IAM system that competes with Keycloak, Okta, and Auth0 — built in Rust for maximum performance, safety, and security.

Every line of code, every test, every commit in this repository has been produced through human-AI pair programming — the architect provides vision, constraints, and review; the AI provides implementation at scale.

While the aim is to build a fully functional IAM system, the deeper goal is to explore the future of software development itself — where human creativity and AI's generative capabilities combine to create software that neither could produce alone. AXIAM is a case study in this new paradigm, pushing the boundaries of what's possible with AI-assisted software engineering.

Note: AXIAM is a work in progress and should not be used in production environments until it reaches a stable release. The project is currently in active development, with core features being implemented and tested.

Key Features

  • Multi-tenant architecture — Organizations contain tenants; tenants provide full data isolation
  • RBAC with resource hierarchy — Roles, permissions, groups, and scoped access that cascades through resource trees
  • Multiple auth protocols — REST, gRPC, and AMQP for sync and async authorization
  • OAuth2 & OpenID Connect — Full authorization server with PKCE, client credentials, and refresh token rotation
  • Federation — SAML and OIDC for cross-domain SSO
  • PKI & Certificate Management — Hierarchical X.509 certificates, mTLS for IoT devices
  • GnuPG Integration — Audit log signing, encrypted data exports, identity attestation
  • Webhooks — Real-time event delivery with HMAC-SHA256 signatures
  • Comprehensive audit trail — Append-only, tamper-evident logging

Tech Stack

Layer Technology
Language Rust (edition 2024)
Database SurrealDB (document/graph hybrid)
REST API Actix-Web
gRPC Tonic + Protocol Buffers
Message Broker RabbitMQ (via Lapin)
Frontend React + TypeScript (Vite)
Auth Crypto Argon2id, EdDSA (Ed25519), AES-256-GCM
Deployment Docker, Kubernetes

Architecture

Clients (Browser, Mobile, IoT, Services, SDKs)
    |           |           |
    REST/HTTPS  gRPC/TLS    AMQP
    |           |           |
    v           v           v
+--------------------------------------+
|          API Gateway Layer           |
|  Actix-Web  |  Tonic  |  Lapin       |
+--------------------------------------+
                |
+--------------------------------------+
|          Service Layer               |
|  AuthN | AuthZ | Users | Federation  |
|  Roles | PKI   | Audit | OAuth2      |
+--------------------------------------+
                |
+--------------------------------------+
|        Repository Abstractions       |
+--------------------------------------+
                |
+--------------------------------------+
|          SurrealDB Cluster           |
+--------------------------------------+

Security & Compliance

AXIAM targets compliance with:

  • OWASP ASVS — Password requirements, session management, access control
  • GDPR — Data export/deletion, consent tracking, audit logs
  • ISO 27001 — Access control, cryptography, audit logging
  • CyberSecurity Act — Secure by design, vulnerability management

Development Progress

The project follows a structured roadmap of 64 tasks across 19 phases:

Phase Focus Status
Phase 0 Project foundation, CI, dev environment Done
Phase 1 Core domain types & DB repositories Done
Phase 2 Authentication (password, JWT, MFA) Done
Phase 3 Authorization engine Done
Phase 4 REST API Done
Phase 5 gRPC API Done
Phase 6 AMQP integration Done
Phase 7 Audit logging Done
Phase 8 PKI & certificates Done
Phase 9 Webhook system Done
Phase 10 OAuth2 & OIDC Done
Phase 11 Federation (SAML + OIDC) Done
Phase 12 Hierarchical Settings & Password Policy Done
Phase 13 Email Service & Account Flows Done
Phase 14 Advanced MFA Done
Phase 15 Admin frontend Done
Phase 16 Docker & Kubernetes Done
Phase 17 SDKs (Rust, TS, Python, Java, Kotlin, C#, PHP, Go, Swift, C, C++) Done
Phase 18 Security audit, compliance, docs Done

Quick Start

# Prerequisites: Rust 1.93+, Docker

# Start dev infrastructure (SurrealDB + RabbitMQ)
just dev-up

# Build the project
just build

# Run all tests
just test

# Format + lint + test
just check

Project Structure

axiam/
├── crates/
│   ├── axiam-core/         # Domain types, traits, error types
│   ├── axiam-db/           # SurrealDB repository implementations
│   ├── axiam-auth/         # Authentication (password, MFA, JWT)
│   ├── axiam-authz/        # Authorization engine (RBAC, hierarchy)
│   ├── axiam-api-rest/     # REST API (Actix-Web)
│   ├── axiam-api-grpc/     # gRPC services (Tonic)
│   ├── axiam-amqp/         # AMQP consumer/producer (Lapin)
│   ├── axiam-oauth2/       # OAuth2 + OIDC provider
│   ├── axiam-federation/   # SAML + OIDC federation
│   ├── axiam-audit/        # Audit logging service
│   ├── axiam-pki/          # Certificate management & GnuPG
│   ├── axiam-email/          # Certificate management & GnuPG
│   └── axiam-server/       # Binary — composes all crates
├── proto/                  # Protocol Buffer definitions
├── frontend/               # React admin UI
├── benchmarks/             # Performance/efficiency/security benchmark framework
├── claude_dev/             # Design document & roadmap
├── docker/                 # Docker Compose configs
├── k8s/                    # Kubernetes manifests
└── sdks/                   # SDK contract + OpenAPI spec (the SDKs themselves
                        #   live in ilpanich/axiam-<lang>-sdk repositories)

Client SDKs

The eleven client SDKs live in their own repositories. Each one vendors a copy of sdks/CONTRACT.md (the binding cross-language behavioral contract), sdks/openapi.json and proto/, which are maintained here:

Language Repository Package
Rust axiam-rust-sdk crates.io
TypeScript axiam-typescript-sdk npm
Python axiam-python-sdk PyPI
Java axiam-java-sdk Maven Central (io.github.ilpanich:axiam-sdk)
Kotlin axiam-kotlin-sdk Maven Central (io.github.ilpanich:axiam-sdk-kotlin)
C# axiam-csharp-sdk NuGet
PHP axiam-php-sdk Packagist
Go axiam-go-sdk pkg.go.dev
Swift axiam-swift-sdk Swift Package Manager (github.com/ilpanich/axiam-swift-sdk)
C axiam-c-sdk CMake (FetchContent / find_package)
C++ axiam-cplusplus-sdk CMake (FetchContent / vcpkg)

Benchmarking

AXIAM ships a vendor-neutral benchmark framework in benchmarks/ for comparing it against other open-source IAM systems (Keycloak, Zitadel, …) across three axes: performance (throughput / latency), resource efficiency (throughput per CPU core and per GiB — competitor-level performance at a smaller footprint?), and security posture (the same workload replayed from plaintext HTTP up to mTLS with client-certificate auth, quantifying what each tier costs).

It drives standard OAuth2/OIDC flows through a per-target adapter so every system is measured on equal footing, and includes scaffolded per-SDK client-overhead benchmarks that consume each SDK from its published package. See benchmarks/README.md and benchmarks/docs/methodology.md.

License

Apache License v2.0

About

Access eXtended Identity and Authorization Management

Topics

Resources

Code of conduct

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages