Join the beta

Your machine. Your rules.

Zidos runs on your machine: commands in a sandbox, steps in the log. Each mechanism below runs live.

security.txt
Clay shield

Four boundaries

Approval, sandbox, desktop, browser. The examples run on this page and send nothing anywhere.

Allow command?
go test -race ./internal/session

Expiry means refusal

Reply

Journalwaiting 1

Your reply.

Plan-mode fixture; separate command.

Approve the command

In the example: approve, reject or pick the alternative; the decision lands in the example log.

Test TestV1ApprovalDecisionBindsArgumentsSHA256 TestPermissionProfileValidationRejectsCriticalClassAllow
--unshare-net--die-with-parent--clearenv

Commands run in a sandbox

On Linux the command runs in bubblewrap with no network. No sandbox, no run.

Source tool/sandbox_exec_linux.go:119-126Test TestSandboxEgressAlwaysUnsharesNetwork

The desktop is isolated

Linux (X11) helpers run in a closed bwrap profile: no network, no D-Bus, DISPLAY only. No bwrap, no start.

Wayland, macOS and Windows are not covered.

Source core/hostcall/linuxadapter/adapter_linux.goTest TestComputerUseDesktopNetworkConfinement TestComputerUseDesktopDBusUnreachable TestComputerUseDesktopHostEnvironmentScrubbed TestComputerUseDesktopRealActionsUnderConfinement
BrowserZidos
PaymentsBrowser
  1. Scout

    Site allowed

    Browser allowlist

  2. Scout

    Ready.

    Journal

@ScoutBrowser
BrowserJournal
https://httpbin.org
Siteshttps://httpbin.org

httpbin.org

Site allowed

Allow the sites

In the example a listed address opens, an unlisted one does not, and the password is hidden in the log. On Linux, Chromium runs in its own sandbox inside ours.

Source tool/browser.go:633-653Source tool/browser_actions.go:336

Check the log

Checkpoints are signed with Ed25519. A separate program spots tampering.

PaymentsRun journal
  1. Reviewer

    permission.prompted

    Awaiting approval · Record hash aecf2533…

  2. Reviewer

    permission.decided

    allow · once · Record hash b2aefbd6…

  3. Zidos

    Redacted before logging

    Authorization: [REDACTED]

    fabf7697…

Verify the chain

Chain intact · 3 records

Source verifier/SPEC.md:438-490Test TestTamperInTheMiddleIsDetected

The agent

Threat

The agent runs a command that touches the system or the network.

Defense

On Linux, commands run in a bubblewrap sandbox with the network cut off. Without the sandbox the command does not run.

Test TestSandboxEgressAlwaysUnsharesNetworkTest TestSandboxEgressNoProxyCannotConnect

Status

What is verified, partial or planned.

MechanismWhere and how
Command sandbox, Linuxbubblewrap, network cut off
Command sandbox, WindowsProfile, AppData, registry and Credential Manager are closed. Verified on one machine and one account (Windows 11).
Command sandbox, macOSPartial
Browser sandboxLinux. Not supported on macOS and Windows: refused before the driver starts.
Desktop controlLinux/X11 in a closed bwrap profile
Windows serviceNot supported
Browser control from a phoneNot enabled
Release signaturesVerification scripts and a public anchor exist. We do not claim every release is signed.
Reproducible buildsThe check is in the release scripts; the result on a release is not confirmed.
Stop on MCP tool-set change, immutable log archive, external timestamp, SIEMPlanned
Certifications (SOC 2, ISO, HIPAA)None
Vulnerability reportsSee security.txt

Your data

Where data goes, what the provider sees, how to move it.

The core listens on this computer only. Remote access goes through a separate listener with its own keys.

↗internal/serverapp/run.go:458↗localdiscovery.go:25↗Core source↗ enterprise docs/observability.md↗ enterprise docs/audit-export.md↗docs/SURFACES.md:128-145 · :205-209

The request, after secret redaction. If the scanner fails, nothing is sent. Claude, ChatGPT and Gemini work with your subscription.

↗transport.go:188

Configured secrets and known formats are removed before writing: cloud provider keys, bearer tokens, private PEM, JWT. An unknown format can slip through.

With the export and import command. Secrets are left out of the archive by default.

Source docs/DATA-LOCALITY.mdTest TestExportImportIsIdempotentAndSurvivesReopen

On Linux, sandboxed commands never have network access; a test covers it.

Local listener

The core accepts connections only from your computer. Phone access uses a separate listener and keys when you enable it.