Phase 1
Endpoints

Source: c81 phase1-pages — Endpoints (PRO-34); policy-config-egress-allowlist's pending-destinations spine re-read as inventory (network destinations, ruled), on the Agent Inventory chassis, re-derived from the phase1 world

fixture state

16 destinations reached by AI agents in 30d; 13 allowlisted — 3 are not.

api.telemetry-relay.io — unreviewed browser MCP server · registry.ollama.ai — 39 GB pulled · pastebin.com — all blocked

73,589
connections · 30d
2 connections blocked by policy
55 GB
bytes · 30d
largest: registry.ollama.ai 39 GB

Destinations

every host an agent process reached · ranked not-allowlisted first, then by connections
Category
Allowlisted
Connections · 30d
Bytes · 30d
Installs
People
First seen
Last seen
api.telemetry-relay.ioothernot allowlisted47 3 MB22 Aug 143h ago
registry.ollama.aimodel registrynot allowlisted6 39 GB11 Aug 57d ago
pastebin.comothernot allowlisted2
all blocked
0 B11 Aug 229d ago
api.anthropic.comLLM APIallowlisted41,200 9.4 GB1111 Apr 142m ago
api.openai.comLLM APIallowlisted12,900 3.1 GB43
+1 unattributed
Jul 83h ago
chatgpt.comLLM APIallowlisted8,400 1.8 GB65 Apr 281h ago
api.github.comcode hostallowlisted3,860 380 MB86 Apr 142h ago
generativelanguage.googleapis.comLLM APIallowlisted2,150 420 MB33 Jun 26h ago
www.googleapis.comSaaSallowlisted1,980 510 MB76 May 122h ago
slack.comSaaSallowlisted1,240 64 MB66 May 124h ago
api.x.aiLLM APIallowlisted940 210 MB22 Aug 1023h ago
api.linear.appSaaSallowlisted510 22 MB33 Jul 144h ago
api.figma.comSaaSallowlisted180 96 MB11 Jun 235h ago
sentry.ioSaaSallowlisted140 8 MB11 Jun 22d ago
qpoint.snowflakecomputing.comdata warehouseallowlisted31 12 MB11 Jul 2814d ago
api.hubspot.comSaaSallowlisted3 39 kB11 Aug 1813d ago

16 destinations reached by 27 installs across 14 people in 30d — 1 install unattributed; 73,589 connections, 2 blocked, 55 GB transferred (egress collector, 30d). Every destination on 443/TLS. Installs are counted once per destination; a per-install egress total would double-count shared hosts, so none is printed. Sessions are the sample on record (7 days plus the scenario sessions), not the 30-day log.

Composition notes

  • Question: where does our AI traffic go, and is any of it going somewhere nobody approved? Endpoints are network destinations (ruled 2026-09-01; c21's "endpoints" were devices and live in People). This is inventory: the allowlist is decided in the policy pages, so allowlisted is a quiet column and the approve affordance is a ghost that links out.
  • Verdict line from endpointsVerdict(world) (derived/endpoints.ts, a fold-in for verdicts.endpoints): destinations reached, allowlisted of n, and each exception with its why — the unreviewed MCP server that lives there, a large pull, blocked attempts. Every fragment derives from the row's own facts.
  • Framing band = the brief's five claims; the first three are filter buttons (findings-regroup-v2 idiom), connections and bytes are plain claims because filtering by them means nothing. Not-allowlisted is the one attention device and names the loudest host. Numbers cross-foot with the rows.
  • Spine is policy-config-egress-allowlist's pending-destinations block re-read as inventory: host · connections · why-line · approve. "Agents" became installs, counted once per destination and never summed across hosts (c67: per-agent egress counts double-count shared hosts). Block is not this page's verb and is gone.
  • Table is the raw UxTableList family so ?id= can pre-open a row. Rows from endpointRows(world), pre-ranked not-allowlisted first by connections, then connections — pastebin at 2 connections outranks api.anthropic.com at 41k because unapproved beats big. Search rides the Host header (host + category). Port / TLS is a column only when a destination differs from the rest; when every row agrees the footer says so once and the table gives the width back to Host and Category. The approve affordance is a ghost in the expand, not on the row — a governance control does not belong inside an inventory row; the row carries the amber text only.
  • Expand = three sections: header (pills, 30-day stats, the why-line and ghost approve, an honest "view details →" stub — no destination detail page exists in Phase 1), reached by (install rows with person, device, monitored pill, and the MCP server behind the host with its flag and a session witness count), sessions that hit it (on record, labelled 7d where it applies; the empty states say why — detected-only installs have no session telemetry, blocked connections never became sessions).
  • Fabrication, flagged: the world stores no MCP server → destination edge. MCP_SERVER_ENDPOINT in derived/endpoints.ts is an explicit id map marked TODO(reconcile), resolved through the current-state world (so browser reads reviewed in all-clear) and checked against session co-occurrence, which prints beside it.
  • Open: bytes are the collector's count for the whole host, not per install — no per-install split is printed. A destination detail page (per-install connection breakdown, a 30-day connection series) is Phase-2 territory; the stub says so.

Qpoint Brand Style Guide