Architecture Overview
Pavri has three product surfaces:
- SDKs and plugins inside customer agent runtimes
- backend services for ingest, storage, policy, alerting, and detection
- an operator-facing dashboard
Runtime data path
Pavri processes runtime data through the following path:
- the gateway accepts SDK-facing gRPC traffic
- the gateway forwards registration and telemetry to ingest
- ingest validates telemetry and publishes it into NATS JetStream
- store consumes telemetry from JetStream and persists event history into ClickHouse
- policy serves bootstrap and watch responses from PostgreSQL-backed metadata
PostgreSQL owns metadata and policy state. ClickHouse owns immutable event analytics. JetStream is the transport layer between services rather than the source of truth.
Current SDK Slice
The Python SDK currently ships:
secure()runtime assembly- deterministic fingerprinting and registration scaffolding
- local policy bootstrap and cache refresh flow
- startup telemetry scaffolding
- adapter selection for
generic,langgraph, andcrewai
The Python SDK uses the assigned gRPC endpoint for remote registration, policy, and telemetry transport. See the Python quickstart for the required connection settings.
Operator surfaces
The dashboard provides inventory, session exploration, policies, governance, alerts, incidents, discovery, supply-chain review, analytics, and tenant administration. Availability of a change action depends on the user's role and the tenant capabilities enabled by the deployment.