Integrates with
ICME Labs

The context layer for ICME PreFlight

ICME's proxy intercepts the action and the solver returns a cryptographic verdict. Avistar is the context layer — we scan the environment on a regular cadence and maintain an identity knowledge graph of scopes held, blast radius, least-privilege status and compliance posture, which ICME queries at decision time. No real-time mapping. No request-path proxy. No enforcement. Just context.

Mapped standards ·HIPAANIST 800-53NIST AI RMFCIS Controls v8SOC 2ISO 27001ISO 42001
//live · real-time preflight console

ICME proxies the action. Avistar supplies the facts.

api.icme.iocontext.avistar.io
agent-shell ── intercepted @ icme-proxy · facts from avistar
user prompt → billing-agent
$ Refund order #A-9921 for $84.20 back to the original card.
examples ·
resolved → POST stripe.refunds.create|target → ch_3PqLm… · $84.20
preflight pipeline · intercept → context → solve → releaseawaiting
  • 01
    ICME proxy intercept (PEP)icme
    icme-proxy · parse intent · hold action
  • 02
    Avistar contextavistar
    knowledge-graph lookup · scopes · blast radius
  • 03
    ICME solver (PDP)icme
    SMT-LIB · check predicates against facts
  • 04
    Jolt Atlas prooficme
    NovaNet zkVM · receipt over verdict
  • 05
    ICME proxy release / block (PEP)icme
    action proceeds · or blocked at the wire
Awaiting preflight. ICME's proxy holds the action until the solver returns a verdict over Avistar's facts.
avistar context → icme solver
0/6 retrieved
agent
billing-agent
resolved action
POST stripe.refunds.create
// run preflight — query the avistar identity graph for this principal (pre-scanned on cadence, not at the wire).
identity graph · preview
beta
IAMprincipalstripe:refunds.writestripe:charges.readledger:appendstripe:refunds.write …owns(charge)PCI 7.1 — least privi…SOC 2 CC6.1 — logical…
principal scope satisfied missing
required predicates · facts vs. runtime
0/4 solved
principal
arn:aws:iam::acme:role/billing-agent
scopes held
stripe:refunds.writestripe:charges.readledger:append
  • stripe:refunds.write ≤ $5kicme · runtime
    Amount $84.20 — runtime parameter only the proxy sees
    pending
  • owns(charge)icme · runtime
    Application fact: charge belongs to billing-agent tenant
    pending
  • PCI 7.1 — least privilegeavistar · context
    Avistar identity scan: scoped to own merchant
    pending
  • SOC 2 CC6.1 — logical accessavistar · context
    Avistar posture: MFA + role chain verified
    pending
avistar controls touched
0/5 stamped
  • Avistar · least-privilegepending
  • SOC 2 CC6.1pending
  • PCI 7.1pending
  • NIST 800-53 AC-6pending
  • CIS Controls v8 · 6.8pending
//architecture · context · proxy · proof

Avistar is the context layer. ICME owns the proxy and the proof.

Access control decomposes into three standard roles. ICME ships the proxy that intercepts the action and the solver that proves the verdict. Avistar is the context layer — the one piece ICME can't produce on its own: ground-truth identity, reachability and posture, scanned on a regular cadence and stored as an identity knowledge graph ICME queries at decision time. We don't do real-time environment mapping, and we are not in the request path.

agent.prompt("…")
        │
        ▼
┌─────────────────────────────┐
│  ICME proxy        (PEP)    │  intercepts · holds action
│  in customer infra          │
└──────────────┬──────────────┘
               │ needs facts about principal P
               ▼
┌─────────────────────────────┐
│  Avistar identity graph     │  knowledge-graph lookup
│  scopes · blast radius      │  populated by cadenced scans
│  least-privilege · controls │  (iam:SimulatePrincipalPolicy,
│                             │   read-only, outbound-only)
└──────────────┬──────────────┘
               ▲ refreshed on cadence by avistar.scanner
               │ typed facts {scopes, reachability, …}
               ▼
┌─────────────────────────────┐
│  ICME solver       (PDP)    │  SMT-LIB · SAT/UNSAT
│  Jolt Atlas zkVM receipt    │  proof over verdict + facts
└──────────────┬──────────────┘
               │ verdict + proof
               ▼
  ICME proxy releases  ✓     or blocks at the wire  ✗
Avistar context
graph lookup
pre-scanned on cadence, queried at decision time
ICME solver + proof (PDP)
~240ms
SMT-LIB · Jolt Atlas zkVM
ICME proxy (PEP)
0 side-effects
action held until verdict
PEP · enforcementICME
Proxy in the request path

Intercepts the agent's intended action, holds it, releases or blocks based on the verdict. Sees runtime parameters (amount, target, beneficiary) the knowledge graph cannot.

PDP · decisionICME
Solver + zk proof

Plain-English policy compiled to SMT-LIB. Returns SAT / UNSAT / UNKNOWN with a Jolt Atlas receipt that verifies without revealing the policy.

Context layerAvistar
Identity knowledge graph

Effective permissions, scopes held, blast radius, least-privilege status, bound compliance controls — scanned on a regular cadence and stored as a typed graph ICME queries per decision. Not real-time mapping, not in the request path.

//who supplies which control · stripe refund example
Control requirementSupplierHow
Principal holds stripe:refunds.writeAvistarIdentity scan: effective permissions
Action amount ≤ $5kICME · runtimeRuntime parameter visible only at the proxy
owns(charge ch_…)ICME · runtimeApplication fact at request time
PCI 7.1, SOC 2 CC6.1 (least privilege)AvistarIdentity posture + compliance tagging
//topology · how avistar gets the facts without inbound trust
Option A · preferred
Library in ICME's proxy

Avistar ships as a package the ICME proxy embeds. Single in-infra component carries the scoped read-only IAM role. Lowest onboarding friction.

Option B · fallback
Localhost sidecar collector

Small container next to the ICME proxy with its own purpose-provisioned, read-only IAM role. Outbound-only, no inbound network surface.

Option C · direct
Cross-account assume

Today's Avistar model. Customer provisions a trust role, Avistar scans from its own cloud. Best for direct Avistar customers; not the ICME-partner case.