Skip to content

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

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.