Consent and privacy

Local analysis by default; optional network features are individual decisions.

Prism analyses your code without touching the network. A few optional features do reach out, and each is a separate decision you make explicitly.

For the complete statement, see PRIVACY.md.

The default

No account. No telemetry. No analytics. No licence check. No update ping.

Indexing, graphs, DNA, health, the map, blast radius, and every report make zero network calls — enforced by a test that traps the socket layer. A future change that adds a network call to an analysis path fails the build.

The optional features

Each is off until you turn it on, individually. There is no master switch.

PurposeWhat happensWhere it goes
network.githubFetches workflow runs and PR metadataapi.github.com
network.pagespeedSends a URL you choose, reads Core Web Vitalswww.googleapis.com
network.package-installInstalls the Lighthouse CLI before measuringyour npm registry
network.git-remoteRuns git fetch --prune for branch countsyour git remote
network.gravatarFetches contributor avatars (email hashes)gravatar.com
run.local-buildRuns your repository's own build for bundle weightyour shell

Decisions live in .prism/consent.json, read by the engine itself — every surface is bound by it; callers cannot assert consent.

network.gravatar stays off unless you say otherwise — avatars disclose email hashes. Prism draws local avatars instead.

run.local-build runs your build script. Granting it on an unfamiliar repo is equivalent to cloning and typing npm run build.

The MCP server exposes read-only tools only. No consent-gated capability is reachable from an agent — absent, not guarded.

What is stored

Everything in .prism/: index, consent, health history, consented fetches. No credential is ever written there.

PRIVACY.md · SECURITY.md

On this page