Skip to main content

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:

  1. the gateway accepts SDK-facing gRPC traffic
  2. the gateway forwards registration and telemetry to ingest
  3. ingest validates telemetry and publishes it into NATS JetStream
  4. store consumes telemetry from JetStream and persists event history into ClickHouse
  5. 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, and crewai

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.