Policy gate on every call
The same role + scope filter runs at the MCP boundary. Non-owner reads are filtered by capability access; writes require explicit scope:write.
In remote mode, the same vault binary speaks Streamable HTTP MCP with OAuth auth-code + PKCE. Stand it up on a real host so your agents — wherever they run, sandboxed or not — can resolve, verify, and install signed skills without ever touching a local filesystem.
Start with managed static vault hosting, or self-host the remote MCP service on one of four officially-tested targets. Managed stores signed files and rendered profiles; self-hosted targets run the full Docker image with OAuth and policy enforcement.
Create a team vault on AutoVault's managed static origin. It stores manifests, signed skill bundles, and rendered agent profiles only.
AutoVault allocates an isolated tenant namespace on shared infrastructure. The host never executes uploaded skills; trust stays anchored in local signatures.
Link your local vault to the hosted namespace. The command pins the remote origin before any sync happens.
autovault cloud connect https://vault.autovault.dev/your-teamThe CLI scans local skills, runs the gate, signs accepted bundles, and pushes only the manifest, bundles, and rendered profiles.
autovault sync --cloud
autovault status --cloudAutoVault stores pending drafts, signed manifests, skill bundles, and rendered profiles in a tenant namespace. The host does not execute skills; your local CLI gates, signs, and syncs the files.
autovault cloud connect https://vault.autovault.dev/your-team
autovault sync --cloud
autovault cloud pull --pendingAll knobs are env-var driven. The first card is the breaking change in remote mode — Compose now hard-fails if these aren't set, instead of falling back to a known-default password.
/.well-known docs.8080. PaaS providers usually inject $PORT./mcp must come from one of these../data/vault.db.900; refresh tokens rotate on use.Streamable HTTP MCP layered on OAuth 2.1 — auth-code flow with mandatory PKCE, dynamic client registration, refresh rotation, and revoke. Below is the exact sequence the bundled smoke suite walks for every release.
Every route the remote service exposes. Public routes are reachable pre-auth; bearer routes need a valid access token; owner routes additionally require role:owner.
The same role + scope filter runs at the MCP boundary. Non-owner reads are filtered by capability access; writes require explicit scope:write.
The /oauth/authorize endpoint rejects requests without a code_challenge. Refresh tokens rotate on use.
Browser access is opt-in. AUTOVAULT_ALLOWED_ORIGINS is a strict allowlist; server-to-server calls bypass cleanly.
npm run smoke:remoteBundled in the repo. Walks the full OAuth flow against your live deployment, calls real MCP tools, and verifies policy enforcement end-to-end. Wire it into CI to catch drift before users do.