Observa help · Safety model

What Observa claims, and what it refuses to claim.

This page is the short version of the boundary. If any Observa output ever appears to contradict it, that is a bug worth reporting, not a setting.

SHADOW_ONLY · AUTHORITY NONE · ENFORCEMENT OFF

The posture

Three words, and what each one rules out

  • SHADOW_ONLY — the only mode the CLI can install. It is not a default that can be switched: any other mode is not in the accepted vocabulary, so a manifest requesting one fails closed at schema validation rather than being honoured.
  • AUTHORITY NONE — Observa has no authority to allow, deny, approve, block, retry, delay or change anything in your systems. There is no verb in the CLI that approves, allows, denies or decides.
  • ENFORCEMENT OFF — nothing Observa records caused, prevented or altered the thing it recorded.

Observa also never asks for a system credential, and there is no field anywhere in which one could be sent to McPherson AI. The local secrets you set stay on your machine: they are stored owner-only, never printed, never logged, never diagnosed, and never placed in a manifest or an artifact.

Governance Analysis

Every decision word is a counterfactual

Governance Analysis shows what a policy would have done. It does not report something Observa did.

ValueWhat it meansWhat it does not mean
WOULD_ALLOWAn enforcing policy would have permitted this action. That Observa permitted it. Nothing needed permission; the action ran on its own.
WOULD_DENYAn enforcing policy would have refused this action. That Observa blocked or modified anything. The action ran.
WOULD_REQUIRE_APPROVALAn enforcing policy would have held this for a human. That anything was held, queued or delayed. Nothing was.
ABSTAINPolicy applied but deliberately reached no position. Approval, or absence of risk.
INDETERMINATEPolicy could not reach a position on the available evidence. That the action was fine.
ERROREvaluation itself failed.Anything about the action.

Activity never becomes a decision. observa decisions projects only records that were actually evaluated and carry a sealed decision record; it never derives one from the fact that something ran.

The distinctions that matter

Four things Observa keeps separate

Runtime COMPLETED ≠ verified business outcome

A runtime saying a step finished is a statement about the runtime, not about the system that holds the real state. Observa reports runtime_result and business_outcome as separate fields precisely so a completion cannot be read as a result. Independent verification applies only where an appropriate verification contract or profile exists.

OBSERVED ≠ AUTHORIZED

Evidence that a tool ran says a tool ran. It does not mean the capability was mapped, reviewed, approved or permitted. Observed tool activity is metadata-only and stays labelled as observed until it is deliberately mapped by a person.

UNMAPPED and UNEVALUATED stay visible

When context is insufficient, Observa shows the truthful state rather than guessing. An unmapped observation is not quietly dropped and not quietly promoted. Uncertainty is never silently converted into success.

Missing evidence ≠ nothing happened

An empty view means nothing was observed in the inspected window. It is not proof that no action occurred, and it does not mean every tool or connected application was observed.

One command, six explicit non-claims

inspect-workflow is structure, and only structure

observa inspect-workflow --file <n8n-workflow.json> performs a static read of one export you selected. It does not:

  • collect runtime evidence;
  • classify capabilities;
  • evaluate policy;
  • establish trust;
  • grant Hosted access;
  • assess parameters or data.

Its own report says so in machine-readable form — runtime_observed: false, evaluation_state: "UNEVALUATED", linkage: "UNLINKED", business_outcome: "UNVERIFIED" — and it prints no node names, IDs, parameters, credentials or payloads.

Mapping

No claim of automatic mapping

The supported runtime hook can emit evidence without enough action context to map it. When that context is unavailable, the truthful state — UNMAPPED, UNEVALUATED — remains visible rather than being filled in by inference.

Capability mapping proposals are documentation-only. A proposal is not an approval, and confirming a mapping does not authorize an action. On the OpenClaw path, no semantic action class, resource, sensitivity or reversibility meaning is inferred from the mere presence of a tool at runtime.

Boundaries

What the shipped package will not do

  • It cannot allow, deny, approve or enforce anything.
  • It never modifies, restarts or reconfigures your n8n, or any other system. observa stop can only signal Observa’s own process, identified by Observa’s own pidfile and a command line that still names the Observa release path.
  • It reads execution metadata only — never item data, node parameters, credentials, workflow static data, prompts, message bodies or tool arguments.
  • It runs no install scripts and has zero dependencies. Once paired it contacts only the Observa Hosted service you named, and it has no package-registry or third-party telemetry surface.
  • It does not certify compliance, and it does not guarantee safety or completeness.

If Observa ever appears to block, delay or change something your agent or workflow did, stop and tell us. That would be a defect, not a configuration.