expanse CLI records what you decide about its recommendations: one record per patch it offers, and a short description of how each analyse and diagnose command was invoked. Both stay inside your organisation’s own intelligence plane. Nothing goes to a third party.
What is recorded
OnePatchDecision record per artefact the CLI offers, from the patch walk of expanse analyse and from expanse analyse apply. Every field is a name from a closed list; none is free text.
Never recorded: file paths, job names, diff text, prompt text, knob values, the working directory, the command line.
Each record also carries a session id minted once per CLI process and held in memory only, the minute it happened, and the organisation, user and team read from your session token by the plane.
How the request was invoked
Everyexpanse analyse and expanse diagnose request names how it was made, in a client_context the plane stores beside the request’s usage record (the same record the Security page’s audit export already lists). This travels with the request and is not governed by the switches below.
Where it goes
The record is written to your organisation’s intelligence plane under your own session token, through the same connectionexpanse analyse uses.
- In a customer-hosted deployment it stays inside your network and only hourly counts without identities leave, on the analytics report described in the deployment’s data-flow documentation. In an air-gapped deployment nothing leaves.
- In the hosted demonstration service it goes to Expanse’s own database and to no third party.
Switching it off
Highest first; the first switch set decides:
Your organisation’s own switch beats all of them: when an organisation owner switches the
product_usage category off on the Security page, the CLI reads it from the session token and sends nothing, and the plane refuses what an older CLI might still send.
EXPANSE_AIR_GAPPED is not a switch. The record is written to the in-perimeter plane, and no connection opens outward.
expanse telemetry
status names a higher switch when one overrides the settings file, so enable under DO_NOT_TRACK=1 prints the mode as off.
The first-run notice
The first timeexpanse analyse or expanse analyse apply runs on a terminal with recording on, it prints this to stderr and records nothing in that run. It is not shown under --json or in a CI environment (CI or GITHUB_ACTIONS set), and it is shown once per machine.
Seeing exactly what would be sent
RecordProductEvents request to stderr as JSON instead of sending it, so you can read every field before switching recording on.