Skip to content

Error handling

Errors should tell you which boundary refused the operation.

ClassBoundaryWhat to inspect
Build failureBuilder VM or Nix inputbuild output, flake pins, package names
Admission failureplan/policysigner, policy ref, validity window, nonce
Runtime failureguest processcommand status, stderr, guest logs
File failureguest filesystem RPCpath policy, permissions, symlinks, size
Network failureegress policypreset, allowlist, DNS/L7 policy
Restore failuresnapshot backendseal/hash evidence, backend support, retention

SDKs should return structured errors with:

  • operation name;
  • sandbox or workload identifier;
  • audit/run identifier where available;
  • sanitized stderr/stdout;
  • security boundary that failed.

Secret material must not appear in exceptions, logs, or panic messages.