Kimberlite
Compliance-native database for regulated industries.
Kimberlite is built on a replicated append-only log with deterministic projection to a custom storage engine. This provides:
- Correctness by design - Ordered log → deterministic apply → snapshot
- Full audit trail - Every mutation is captured in the immutable log
- Point-in-time recovery - Replay from any offset
- Compliance by construction - Built-in durability and encryption
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Kimberlite │
│ ┌─────────┐ ┌───────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Log │ → │ Kernel │ → │ Store │ → │ Query │ │
│ │(append) │ │(pure FSM) │ │(B+tree) │ │ (SQL) │ │
│ └─────────┘ └───────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
Quick Start
use kimberlite::{Kimberlite, TenantId, DataClass};
// Open database
let db = Kimberlite::open("./data")?;
// Get tenant handle
let tenant = db.tenant(TenantId::new(1));
// Create a stream
let stream_id = tenant.create_stream("events", DataClass::NonPHI)?;
// Append events
tenant.append(stream_id, vec![b"event1".to_vec(), b"event2".to_vec()])?;
// Query (point-in-time support)
let results = tenant.query("SELECT * FROM events LIMIT 10", &[])?;
Modules
- SDK Layer: [
Kimberlite], [TenantHandle] - Main API - Foundation: Types, crypto, storage primitives
- Query: SQL subset for compliance lookups