How GaugeWright protects your work¶
GaugeWright exists to let an expert's method and a client's context meet without either leaking — the method doesn't escape to the client, and the context doesn't escape to the method-owner or the runtime. Protection is structural: built into how the system records and runs work, not a setting you can forget to turn on.
This page is the plain-language boundary contract every other page links back to. It answers two questions a reviewer actually asks: where does my data go, and which guarantees are real today versus modeled or planned. Each claim carries a status badge. The single source for those badges is the roadmap & status page; nothing here is stated in usable present tense without the right caveat.
The one counterintuitive truth — read this first
Local orchestration is not local inference. Today the only shipped product is the local desktop workbench Available — it runs on your machine and stores work locally. But the agent's reasoning is performed by the third-party LLM provider you configure, so your prompts and the in-scope context are sent to that provider over the network. There is no local-only inference. See Where your data goes.
The boundary in one paragraph¶
A project is a trust and data boundary — a body of work plus the parties allowed to see it. Inside it, every protected thing is a resource (a method, a context, or a derived output), addressed by handle, never by raw content. Work happens as a run inside the boundary — the single point where what a run may read, call, and export is enforced. A run gets no ambient power; it acts only on what it was admitted to do. That is the whole shape; the rest of this page is what makes it hold.
Where your data goes¶
This is the anchor other pages point at. Read it before you trust GaugeWright with anything sensitive.
| Stays on your machine | Leaves your machine |
|---|---|
| The event log (your history), resources, handles, and stored payloads — held locally by the workbench. Available | Your prompts and the in-scope context for each run, sent to the third-party LLM provider you configure for inference. Available |
| Orchestration, run admission, and the boundary decisions — all local. Available | Anything you explicitly move to another party via federation — only with the source's permission and the target's admission. Available |
Who can see plaintext, plainly:
- You can — it's your machine, your log, your data.
- Your configured LLM provider can see the prompts and in-scope context you send it for reasoning. Its retention and training terms are the provider's, not GaugeWright's.
- The other party in a federation can see only what you permitted to leave and they admitted — never your whole project.
- A federation relay cannot read payload: cross-machine traffic is certificate-pinned TLS through a blind rendezvous relay that routes encrypted bytes and never sees plaintext. Available
Your provider is your subprocessor
When you authenticate with your own provider credentials, the LLM relationship is yours — the provider is your subprocessor, not GaugeWright's. You choose OpenAI, Anthropic, Azure OpenAI, or another, and the contract/retention terms that govern your data are the ones you accepted with them.
If your data may not leave for a third-party model
Use a provider you have contracted (with the data terms you need), or wait for confidential inference — taking the provider out of the trust boundary — which is on the roadmap. Planned
How do I see or change which provider gets my data?
The model/provider is part of the archetype's
configuration, edited from an edit chat (a chat rooted on the archetype),
in the .agent-config.json definition surface. Provider credentials are
supplied as environment keys (e.g. your provider's API-key variable). To change
where inference goes, open the archetype's edit chat and update its
configuration — never from a work chat. See
Build an agent.
Two kinds of guarantee — don't conflate them¶
GaugeWright's claims fall in two buckets. Keeping them separate is what keeps the claims defensible.
These are stated as formal invariants and verified in Quint models with machine-checked properties, each paired with an adversarial "teeth" probe that must fail if the protection is removed. The pure core is property-tested against those models. This is the bucket most vendors cannot claim.
These are modeled and tested guarantees about the core's logic. They are a strong foundation, but a third-party attestation that lets a reviewer take them on trust (SOC 2, penetration test) is not yet in hand — see limitations.
These are configurable rules and deployment behaviors (org policy, encryption infrastructure, audit export). They are real, but they are settings and integrations, not invariants — some have the code seam built while the external half (a KMS, a SIEM connector, a confidential VM) is not yet wired live.
The structural guarantees (machine-checked)¶
Each line is an invariant of the local desktop product.
- A handle is not access. Holding or transporting a handle conveys no read of the payload; reading requires a separate, explicit grant evaluated at the boundary. (INV-10) Available
- Method and context reads are both explicit. Neither is readable just because code is running inside the boundary; each needs its own grant. (INV-12) Available
- A run has no ambient authority. It acts only on the work, handles, and export basis it was admitted with — no power to read, call, retain, reveal, or export beyond that. (INV-11) Available
- Fail-closed. If a required grant is missing, stale, or uncertain, the action
is denied — never allowed on doubt. (INV-20, model
fail-closed.qnt) Available - Append-only, immutable history. Every durable fact is an immutable event; corrections are new events, never edits. Every run is auditable and reversible. (INV-6) Available
- Revocation stops the future, not the past. Revoking a grant blocks use from that point on; it never rewrites prior events. (INV-18) Available
- Cross-party movement is two-key. Nothing crosses authorities without the source permitting it to leave and the target admitting it. (INV-13; relays never become payload authorities, INV-14) Available
Kernel-enforced method isolation is Linux/macOS only
A working agent cannot rewrite its own method. The definition surface —
.pi/SYSTEM.md, AGENTS.md, .agent-config.json — is writable only from
an edit chat (rooted on the archetype). A
work chat (rooted on a placement)
may read the definition but never mutate it — so a running agent can't
escalate by loosening its own policy or rewriting its own system prompt.
(INV-24, model method-integrity.qnt)
This is enforced by an OS sandbox at the kernel that makes the surface a
read-only root — so every write path, including a shell bash call inside a
run, is blocked by the kernel, not by gating individual tools.
- Linux / macOS: Available
- Windows: the kernel sandbox is Planned. Until it ships, run untrusted methods on Linux or macOS.
What this does not do — the load-bearing honest limitation. This stops a
working agent from rewriting its own method. It does not hide the method's
plaintext from the host. At an unattested local desktop placement the
host is the context owner and the method endpoint sits in its trusted computing
base — so the host can read the method's definition in the clear. Method secrecy
from the operator is not achievable at a local placement (only obfuscation).
It activates only at an attested placement, which
is host-blind regardless of who runs it — and attested compute is
verifier Built
live Planned, not Available today.
(boundary.qnt: METHOD_HIDDEN_FROM_B fails at an unattested local placement
and passes only when attested.)
The policy / operational controls¶
These are the organization-facing and infrastructure controls. Read the status badge on each — several have the code seam built but await an external integration.
| Control | What it gives you | Status |
|---|---|---|
| Restrict-only org policy | Enterprise policy (e.g. viewer ⇒ no export, pii ⇒ attested + same-region) can only narrow the verified protection floor, never widen it — proven monotone in Quint (abac.qnt). |
Built |
| Egress containment | Every channel out of the boundary is mediated through a single chokepoint, and taint/consent gate disclosure. Network reach itself, though, is open by default per project — a chat can reach the model out of the box; deny-by-default is the intent you opt into per project (network_isolated, off by default). The per-host model-endpoint allowlist (the egress proxy that would make "deny-by-default with an allow-list" literally true) is deferred infrastructure, so today "isolated" means kernel-enforced unfiltered containment, not a host allowlist. |
seam Built allowlist Planned |
| Per-actor audit trail + export | Every governance action is recorded immutably, attributed to the authenticated actor, and exportable (CSV/JSON, references only). | Available |
| SIEM streaming | Stream the audit log to Splunk/Datadog. The streaming sink is built; the exporter attaches behind it per deployment. | Built |
| Encryption in transit | Cross-machine federation runs over cert-pinned TLS through a blind relay. | Available |
| Encryption at rest | AES-256-GCM seam is built; the KMS-managed data key (server deployments) is the deferred infra half. | Built |
| Enterprise identity | OIDC SSO, SCIM provisioning, RBAC (default-deny, rbac.qnt), per-actor audit. |
Built live Planned |
| Attested compute | A run sealed in a confidential VM (AMD SEV-SNP) with a verifiable quote that the method and context stayed sealed. The quote verifier is built and tested against genuine AMD material; live quote generation + hardware-bound key release run on a confidential VM. | verifier Built live Planned |
| MFA enforcement | Org-level require-MFA factor. | Not implemented (policy modeled; factor would be enforced by your IdP) |
For the full reviewer-grade detail behind each row — the invariant→control crosswalk (SOC 2 / ISO 27001 / NIST), data-flow diagrams, and threat model — see Security & trust.
How to keep your work protected¶
Concrete, ordered steps. Each names the real artifact you touch.
1. Keep method edits in the edit chat¶
- Open the archetype you want to change.
- Start (or open) its edit chat — the chat rooted on the archetype itself.
- Edit the definition surface there:
.pi/SYSTEM.md(instructions),AGENTS.md, and.agent-config.json(skills, tools, model/provider). - To use the agent, switch to a work chat (rooted on a placement). It can read the method but the kernel sandbox blocks any write — so a running agent cannot alter its own instructions. (Linux/macOS; Windows sandbox is Planned.)
2. Control what inference sees¶
- In the archetype's edit chat, open
.agent-config.json. - Set the model/provider and reference your provider's API-key environment variable — do not paste secrets into instruction files.
- Remember: whatever the run reads as in-scope context is what gets sent to that provider. Scope the context to what the work needs. See Where your data goes.
3. Review before anything is released¶
- Generating an output does not release it — outputs are held until reviewed. (INV-16)
- The context-owner (or a designated reviewer) approves release to authorized stakeholders; release requires consent from every stakeholder.
- See Review & release outputs.
4. Audit and, if needed, revoke¶
- Every action lands in the append-only log; filter by actor or action.
- Export the (authorization-scoped) timeline as CSV/JSON — references only, never protected payload.
- Revoking a grant blocks future use immediately; prior history stays intact (INV-18). To make a payload unresolvable for erasure, use content tombstoning — the audit fact remains.
Honest limitations and known gaps¶
Stated here, not hidden behind a link:
- No local-only inference. Inference always goes to your configured third-party provider. Confidential inference is Planned.
- Windows method-isolation sandbox is not shipped. Kernel-enforced method isolation is Linux/macOS only today. Planned for Windows.
- Method plaintext is visible to the local host. Kernel isolation stops a working agent from rewriting its own method, but at an unattested local desktop placement the host is the context owner and can read the method's definition in the clear. Hiding the method from the operator requires an attested placement (host-blind), which is verifier Built live Planned, not Available today.
- Cross-party deployment is not live. Packaging, attested compute, enterprise identity, and hosted/embed modes are Built or Planned, not operationally available — see the roadmap and deployment modes.
- No third-party certifications yet. SOC 2 Type II, a DPA with a published subprocessor list, and an independent penetration test are committed and prioritized but Planned.
- Young-product gaps. Unsigned builds (code-signing/notarization in setup), no published SBOM/dependency scanning, no production monitoring. See the FAQ and Security & trust.
Keep reading¶
- Concepts · Glossary — the vocabulary used here.
- Deployment modes — the same protection model in every mode.
- Roadmap & status — the single source for every status badge.
- Security & trust — reviewer-grade controls and crosswalk.
- Role guides: For clients · For experts · For admins.