Live system
Self-Hosted Open Source

Audit logging that
stays on your infra

Collect, store, and query audit events from any application. Real-time anomaly detection — no cloud, no external ML, no vendor lock-in.

Stack Go Redis PostgreSQL React
bataudit — audit stream
LIVE

events/day

12,847

error rate

1.2%

alerts

2 ⚠

$ tail -f /audit/stream
bat> filter --service=auth-api --status=4xx

// How it works

From event to insight in milliseconds

STEP_01
📤

Send an event

POST to Writer :8081 from any app using our SDK or plain HTTP. Validated and queued instantly via Redis.

POST /v1/audit HTTP/1.1
X-API-Key: bat_••••••
STEP_02
⚙️

Worker processes it

Worker dequeues, persists to PostgreSQL, runs anomaly detection — volume spikes, brute-force, silent services.

⚠ anomaly detected
rule: brute_force
STEP_03
🔍

Query & alert

Reader :8082 serves filtered queries, exports, and sessions. Push/Webhook notifications fire on detection.

GET /v1/audit?status=401
→ 847 events matched

// Features

Everything you need for audit logging

Without the cloud bill.

📥

Event Ingestion

Send events via HTTP from any language using our SDK or a plain POST request. Events are validated, sanitized, and queued instantly.

🛡️

Anomaly Detection

Statistical engine detects volume spikes, error rate surges, brute-force attempts, mass deletions, and silent services — no ML models needed.

🔔

Notifications

Browser Push (VAPID) and Webhooks to any URL — Discord, Slack, PagerDuty, n8n. HMAC-SHA256 signatures with automatic retry.

🏢

Multi-Project

Owner / Admin / Viewer roles per project. API keys scoped to projects. Projects auto-created on first event — zero configuration.

📊

Export & Query

Filter by service, method, status, identifier, date range. Export up to 100 000 events as CSV or JSON with a single click.

🗄️

Data Tiering

Raw events → hourly summaries → daily summaries. Infinite history without infinite storage. Configurable retention windows.

// Why BatAudit

Audit logging without the enterprise bill

Feature
BatAudit
DataDog
Sentry
Audit logging
partial
Self-hosted
Anomaly detection
No vendor lock-in
Open source
partial
Price
Free
$15+/host/mo
$26+/mo

// Live demo

Try the live demo

Pre-loaded with realistic audit data. Read-only access — no sign-up required.

login demo@bataudit.com / demo123
Open Demo Dashboard →

Demo data resets daily.

// Install

One command to start

Docker Compose is the only prerequisite.

// 1. clone the repository

git clone https://github.com/joaovrmoraes/bataudit.git
cd bataudit

// 2. start with demo data

docker compose -f docker-compose.demo.yml up

Dashboard: http://localhost:8082/app · Login: demo@bataudit.com / demo123

// 3. send your first event

// or use the Node.js SDK

npm install @bataudit/node

import { BatAudit } from '@bataudit/node'

const bat = new BatAudit('bat_your_api_key')
await bat.log({ path: '/api/users', method: 'GET',
                statusCode: 200, identifier: 'user-123',
                serviceName: 'my-api' })