Security and governance

Govern MARS before trusting autonomy.

MARS is local-first by default, repo-owned by design, and built around evidence. This guide shows where data lives, what agents can change, how guardrails and trust levels constrain work, and which canonical docs own the details.

Source of truth: this page summarizes existing MARS security and governance docs. Use Safety, trust, and quality, Guardrails reference, Authentication and credentials, Files and state, and Observability for the canonical public references. Use the documentation map for harness-consumed records.

What Stays Local

The default MARS path runs the delivery system on your machine. Local-first is not the same as "nothing can ever leave the machine": optional telemetry, GitHub, cloud model routes, and integrations are explicit configured surfaces.

SurfaceDefault boundaryWhere to verify
Target repo docs and harness filesWritten to the target git checkout so owners can review, commit, revert, or eject.Files and state
Runtime databasesPer-repo SQLite databases live under local MARS state paths unless `--db` overrides them.Databases
Models and binariesDownloaded and cached locally for the default local inference path.Local state
Logs and tracesStored locally for audit and troubleshooting.Observability
TelemetryRaw events are local by default. Opt-in aggregate reporting is previewable, but the collector and network path can observe transport metadata; the transport is not anonymous.Telemetry
Cloud model routesDisabled unless configured. When enabled, selected assembled context, model messages, tool schemas, arguments, and results go to the provider under its terms.Models
Hosted providers and integrationsDisabled unless configured with explicit credentials or endpoints. GitHub, JIRA, remote MCP, update, and model-download requests transmit the identifiers or content required for the request.Configuration

Credential And Secret Boundaries

Repo config should name environment variables, providers, endpoints, or policy. Raw secret values belong in environment variables, owner-only local config, or ignored local files.

Source of truth

Credential docs

Read the authentication reference for token resolution order, private release auth, and what not to commit.

Open authentication reference

Guardrail

Secret scanning

MARS has a secret scan command and optional pre-commit hook. Treat a real finding as blocking until the secret is removed and rotated.

Open secret scanning

Boundary

No token values in docs

Docs, tickets, traces, release notes, and chat summaries should name env vars or config keys, not token values.

Open system record rules

Guardrails And Role Allowlists

Guardrails are repo-owned policy plus built-in runtime checks. YAML hard rules are syntactic checks: file paths, regex matches, or existence checks. They are useful controls, not a replacement for semantic security review.

ControlWhat it doesLimit to rememberSource
Role tool allowlistsRestrict which roles can use which tool categories.A role prompt still needs review for correct intent.Roles guide
Hard guardrailsBlock matching unsafe content or operations.Current YAML rules are syntactic.Guardrails reference
Advisory guardrailsShape agent behavior and review expectations.Advisory rules inform, not block.Guardrail schema
Blast-radius checksReduce irreversible or broad unsafe changes.No control makes damage impossible.Safety guide
Shell and subprocess controlsApply policy, working-directory, process-group, and resource controls.Commands retain the current operating-system user's full authority; these controls are not a security sandbox.Tools guide
Secret scanFinds likely secrets and redacts output.Rotate confirmed secrets outside MARS.Secret scanning

Trust Levels And Autonomy Progression

MARS uses progressive autonomy. A role should earn more freedom through evidence, not because a prompt sounds confident.

Trust levelTypical useEvidence to reviewSource
ObserverInspect, read, and report without mutating trusted surfaces.Dry-run output, context assembly, findings.Trust levels
ContributorMake bounded changes that still need checks, evidence, and review.Diffs, tests, tickets, DocSync, traces.Trust levels
AutonomousOperate within approved policies after enough evidence has accumulated.Role scores, quality score, release evidence, human overrides.Trust levels

Ownership Of Generated Work

A deployed harness belongs to the target repository. MARS writes files that can be reviewed, committed, changed, or removed by the repo owner.

Target-owned files

.harness/, target AGENTS.md, docs, tickets, feature contracts, quality score, release files, and generated guidance belong to the target checkout.

Open target files

Local machine state

Models, binaries, databases, logs, traces, and auth setup live under local MARS paths unless configured otherwise.

Open local state

Foundation-owned doctrine

Rules in this source repo can mirror into generated targets. Source-only exceptions must be labelled.

Open canonical records

Evidence Chain From Idea To Release

MARS promises auditability, not deterministic LLM output. Inspect the chain of evidence before accepting important work.

EvidenceWhat it provesWhere to inspect
Goal and active planWhy the work exists and what scenario is next.Planning guide
BDD feature contractWhat done means and which behavior is in scope.Feature contracts
TicketBounded slice, affected files, acceptance criteria, and evidence links.Ticket lifecycle
Checks and testsWhat commands passed or failed.Checks evidence
Trace, logs, dashboard stateWhat an agent did, when, and with what outcome.Observability
Release notes and quality scoreWhat shipped and how the repo health changed.Release guide

Pause, Stop, Eject, Roll Back

Recovery controls are part of the product, not a last resort.

NeedUseBoundarySource
Pause claiming new workInteractive p or dashboard pause.Running jobs finish; new claims stop.Operations controls
Stop the runtimeInteractive q, Ctrl+C, or dashboard stop.Graceful stop of the local process.Operations controls
Remove MARS from a targetmars eject --repo /path/to/repoDry-run by default; apply needs explicit confirmation.Eject
Recover from a bad changeUse git review, revert, or normal target repo recovery.MARS does not rewrite git history for you.Recovery

DocSync And Source Of Truth

MarsDocSync metadata links changed files to durable docs that must be reviewed. The audit checks metadata shape and doc paths. It does not prove that prose is semantically complete.

Used by agents: read Documentation sync and the DocSync architecture when changing public docs, source files, generated doctrine, or operating rules.

Suggested Proof Path For Regulated Readers

  1. Read boundaries first

    Open files and state, authentication, and configuration.

  2. Check guardrails and trust

    Open guardrails, safety and quality, and roles.

  3. Run read-only inspection

    Use mars doctor --repo /path/to/repo --json and mars run engineer --repo /path/to/repo --dry-run --no-init.

  4. Inspect generated files before autonomy

    Run mars init --repo /path/to/repo on a disposable or low-risk target, then review the diff.

  5. Agree acceptance evidence

    Use planning and delivery, checks evidence, and release guidance before running autonomous workflows on important repos.