Lanoty Documentation¶
Lanoty is an AI Control Plane for enterprise systems. It governs how AI executes, enforces policy at every step, controls side-effects, and produces a complete audit trail for every action. This documentation is the authoritative source for requirements, architecture, and deployment guidance.
New here?
Go from zero to a running local stack and your first governed API call in 5 minutes: Quickstart. For the plain-language pitch, read the Product Overview.
Platform overview¶
The platform is built on .NET 10.0 / C# and consists of 10 ASP.NET Core microservices plus a shared library:
| # | Service | Port | Description |
|---|---|---|---|
| 1 | Ingress | 8401 | API Gateway with JWT auth, API key auth, rate limiting, request routing |
| 2 | Passport | 8402 | Identity and credential management with Ed25519 signing |
| 3 | PolicyEngine | 8403 | OPA-based policy evaluation with 7 decision points |
| 4 | ProtocolEngine | 8404 | Execution orchestrator with step-by-step state machine |
| 5 | ContextAssembly | 8405 | Context builder with token budget management |
| 6 | ModelGateway | 8406 | LLM proxy with provider abstraction (OpenAI, Anthropic, Bedrock) |
| 7 | EffectsGateway | 8407 | Side-effect governance with quarantine, approval, compensation |
| 8 | AuditService | 8408 | Tamper-evident audit trail with SHA-256 hash chain |
| 9 | ReplayEngine | 8409 | Deterministic replay with 4 modes |
| 10 | Notification | 8410 | Multi-channel notifications (webhook, Slack, WebSocket) |
Lanoty.Shared is the shared library providing contracts, crypto utilities, middleware, and error handling.
API endpoints¶
| Endpoint | Service |
|---|---|
POST /api/v1/execute |
Ingress |
POST /api/v1/passports |
Passport |
GET /api/v1/passports/{id} |
Passport |
POST /api/v1/policies/evaluate |
PolicyEngine |
POST /api/v1/executions |
ProtocolEngine |
POST /api/v1/context/assemble |
ContextAssembly |
POST /api/v1/model/invoke |
ModelGateway |
POST /api/v1/effects/execute |
EffectsGateway |
POST /api/v1/audit/events |
AuditService |
GET /api/v1/audit/timeline |
AuditService |
GET /api/v1/audit/verify |
AuditService |
POST /api/v1/replay |
ReplayEngine |
POST /api/v1/notifications |
Notification |
All services expose a health check at GET /health.
Infrastructure and frontend¶
| Component | Port | Notes |
|---|---|---|
| Operator UI | 8400 | React 18 web console (23 pages) |
| PostgreSQL | 8482 | Postgres 16, database lanoty |
| Redis | 6379 | Rate limiting, key persistence, caching |
| OPA | 8181 | Open Policy Agent policy evaluation |
| Marketing site | 8080 | Static website |
- Docker Compose with all 10 services + PostgreSQL + Redis + OPA
- Multi-stage Dockerfile (SDK build, Alpine runtime, non-root user)
- Health checks on all services
- One-command local start:
start-lanoty.bat(see the Quickstart)
How to use this documentation¶
- Start with the Quickstart to run the stack locally.
- Read Product Overview and AI Control Plane to understand the category.
- Use System Architecture to review the service design.
- Use Deployment Overview for private-by-default installation patterns.
- Look up ports, endpoints, env vars, and invariants in the Reference section.
Principles¶
- Private-by-default deployment (AKS/EKS, internal ingress)
- Policy-gated execution (OPA-based, 7 decision points)
- Deterministic protocol engine with explicit state transitions
- Centralized Effects gateway for all side-effects with quarantine and approval
- Immutable event provenance with SHA-256 hash chain and replay
- Fail-closed policy: policy evaluation defaults to DENY when unreachable
- Ed25519 passport signing with keys persisted in Redis for restart resilience
- Tenant isolation: all requests scoped by tenant via middleware
- Rate limiting: atomic Redis Lua script-based sliding window
- SSRF protection: URL validation blocks private/internal IP ranges
Key security properties¶
- Fail-closed policy: Policy evaluation defaults to DENY when PolicyEngine is unreachable
- Ed25519 passport signing: Keys persisted in Redis for restart resilience
- Tenant isolation: All requests scoped by tenant via middleware
- Rate limiting: Atomic Redis Lua script-based sliding window
- SSRF protection: URL validation blocks private/internal ranges
- Hash chain: SHA-256 chain with canonical JSON for tamper evidence
SDKs and integration¶
| Package | Description |
|---|---|
| lanoty-sdk-typescript | TypeScript SDK |
| lanoty-sdk-python | Python SDK |
| lanoty-mcp-server | MCP Server |
| lanoty-agent-adapters | Agent Adapters |
| lanoty-examples | Usage examples |
| lanoty-helm | Helm charts for Kubernetes deployment |
Document ownership¶
This wiki is the system of record for Lanoty. Any change to runtime semantics, event schema, or policy evaluation must update this documentation before implementation.