Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/data/docsNav.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,21 @@ export const docsNav: NavItem[] = [
icon: '<svg viewBox="0 0 24 24"><path d="M9 3H5a2 2 0 0 0-2 2v4"/><path d="M15 3h4a2 2 0 0 1 2 2v4"/><path d="M9 21H5a2 2 0 0 1-2-2v-4"/><path d="M15 21h4a2 2 0 0 0 2-2v-4"/><circle cx="12" cy="12" r="2"/></svg>' },
{ label: 'Consent & Privacy', href: '/docs/consent', slug: 'consent',
icon: '<svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><path d="M9 12l2 2 4-4"/></svg>' },
// Hosted control plane
{ section: 'Hosted Control Plane', label: 'Managed Overview', href: '/docs/managed-control-plane', slug: 'managed-control-plane',
icon: '<svg viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="3"/><path d="M7 8h10M7 12h6M7 16h8"/></svg>' },
{ label: 'Accounts & Organizations', href: '/docs/managed-accounts', slug: 'managed-accounts',
icon: '<svg viewBox="0 0 24 24"><path d="M3 21h18M5 21V7l7-4 7 4v14"/><path d="M9 21v-6h6v6M8 10h.01M12 10h.01M16 10h.01"/></svg>' },
{ label: 'Agent Adoption', href: '/docs/managed-agent-adoption', slug: 'managed-agent-adoption',
icon: '<svg viewBox="0 0 24 24"><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0M18 4l2 2 3-3"/></svg>' },
{ label: 'Harness Coverage', href: '/docs/managed-harnesses', slug: 'managed-harnesses',
icon: '<svg viewBox="0 0 24 24"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-8 8l-7 7a2.1 2.1 0 0 1-3-3l7-7a6 6 0 0 1 8-8z"/></svg>' },
{ label: 'Policies & Approvals', href: '/docs/managed-policies', slug: 'managed-policies',
icon: '<svg viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6M8 13h8M8 17h5"/></svg>' },
{ label: 'Fleet & Evidence', href: '/docs/managed-fleet', slug: 'managed-fleet',
icon: '<svg viewBox="0 0 24 24"><circle cx="12" cy="5" r="3"/><circle cx="5" cy="19" r="3"/><circle cx="19" cy="19" r="3"/><path d="M12 8l-7 8M12 8l7 8M8 19h8"/></svg>' },
{ label: 'Availability & Readiness', href: '/docs/managed-readiness', slug: 'managed-readiness',
icon: '<svg viewBox="0 0 24 24"><path d="M3 12h4l2-7 4 14 2-7h6"/><circle cx="12" cy="12" r="10"/></svg>' },
// Enterprise
{ section: 'Enterprise', label: 'Security', href: '/docs/security', slug: 'security',
icon: '<svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><path d="M9 12l2 2 4-4"/></svg>' },
Expand Down
548 changes: 548 additions & 0 deletions src/data/managedDocs.ts

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions src/pages/docs/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ const cards: { slug: string; href: string; label: string; desc: string; icon?: s
{ slug: 'service-agents', href: 'service-agents', label: 'Service Agents', desc: '430+ live specialists — discover, handshake, and query structured data with no API keys.' },
{ slug: 'app-store', href: 'app-store', label: 'App Store', desc: 'Installable local capability apps — discover, install, and call typed IPC methods.' },
{ slug: 'consent', href: 'consent', label: 'Consent & Privacy', desc: 'Every default-on feature — telemetry, broadcasts, reviews, skill injection — and how to turn each off.' },
{ slug: 'managed-control-plane', href: 'managed-control-plane', label: 'Hosted Control Plane', desc: 'Optional hosted policy, approval, monitoring, evidence, and command infrastructure for agents.' },
{ slug: 'managed-accounts', href: 'managed-accounts', label: 'Accounts & Organizations', desc: 'Current signup availability, tenant isolation, roles, launch entitlements, and multi-organization behavior.' },
{ slug: 'managed-agent-adoption', href: 'managed-agent-adoption', label: 'Agent Adoption', desc: 'Claim a tenant-bound identity, verify the first signed report, and optionally attach action control.' },
{ slug: 'managed-harnesses', href: 'managed-harnesses', label: 'Harness Coverage', desc: 'Exact native hook boundaries, failure modes, and certification requirements by agent harness.' },
{ slug: 'managed-policies', href: 'managed-policies', label: 'Policies & Approvals', desc: 'Structured rules, language policies, semantic narrowing, signed rollout, and expiring consent.' },
{ slug: 'managed-fleet', href: 'managed-fleet', label: 'Fleet & Evidence', desc: 'Remote desired state, typed commands, safe state synchronization, exchanges, audit, and procedures.' },
{ slug: 'managed-readiness', href: 'managed-readiness', label: 'Availability & Readiness', desc: 'A dated, honest account of what is live, what is proved, and what still blocks production launch.' },
{ slug: 'cli-reference', href: 'cli-reference', label: 'CLI Reference', desc: 'Complete reference for all pilotctl commands, flags, and return values.' },
{ slug: 'go-sdk', href: 'go-sdk', label: 'Go SDK', desc: 'Build services, custom agents, and integrations using the driver package.' },
{ slug: 'messaging', href: 'messaging', label: 'Messaging', desc: 'Connect, send messages, transfer files, and use the inbox.' },
Expand Down
16 changes: 16 additions & 0 deletions src/pages/docs/managed-accounts.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
import DocLayout from '../../layouts/DocLayout.astro';
import { managedDocs } from '../../data/managedDocs';

const doc = managedDocs['managed-accounts'];
---
<DocLayout
title={doc.title}
description={doc.description}
activePage="managed-accounts"
canonicalPath="/docs/managed-accounts"
prev={{ label: 'Hosted Control Plane', href: '/docs/managed-control-plane' }}
next={{ label: 'Agent Adoption', href: '/docs/managed-agent-adoption' }}
>
<Fragment set:html={doc.body} />
</DocLayout>
16 changes: 16 additions & 0 deletions src/pages/docs/managed-agent-adoption.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
import DocLayout from '../../layouts/DocLayout.astro';
import { managedDocs } from '../../data/managedDocs';

const doc = managedDocs['managed-agent-adoption'];
---
<DocLayout
title={doc.title}
description={doc.description}
activePage="managed-agent-adoption"
canonicalPath="/docs/managed-agent-adoption"
prev={{ label: 'Accounts & Organizations', href: '/docs/managed-accounts' }}
next={{ label: 'Harness Coverage', href: '/docs/managed-harnesses' }}
>
<Fragment set:html={doc.body} />
</DocLayout>
16 changes: 16 additions & 0 deletions src/pages/docs/managed-control-plane.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
import DocLayout from '../../layouts/DocLayout.astro';
import { managedDocs } from '../../data/managedDocs';

const doc = managedDocs['managed-control-plane'];
---
<DocLayout
title={doc.title}
description={doc.description}
activePage="managed-control-plane"
canonicalPath="/docs/managed-control-plane"
prev={{ label: 'Consent & Privacy', href: '/docs/consent' }}
next={{ label: 'Accounts & Organizations', href: '/docs/managed-accounts' }}
>
<Fragment set:html={doc.body} />
</DocLayout>
16 changes: 16 additions & 0 deletions src/pages/docs/managed-fleet.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
import DocLayout from '../../layouts/DocLayout.astro';
import { managedDocs } from '../../data/managedDocs';

const doc = managedDocs['managed-fleet'];
---
<DocLayout
title={doc.title}
description={doc.description}
activePage="managed-fleet"
canonicalPath="/docs/managed-fleet"
prev={{ label: 'Policies & Approvals', href: '/docs/managed-policies' }}
next={{ label: 'Availability & Readiness', href: '/docs/managed-readiness' }}
>
<Fragment set:html={doc.body} />
</DocLayout>
16 changes: 16 additions & 0 deletions src/pages/docs/managed-harnesses.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
import DocLayout from '../../layouts/DocLayout.astro';
import { managedDocs } from '../../data/managedDocs';

const doc = managedDocs['managed-harnesses'];
---
<DocLayout
title={doc.title}
description={doc.description}
activePage="managed-harnesses"
canonicalPath="/docs/managed-harnesses"
prev={{ label: 'Agent Adoption', href: '/docs/managed-agent-adoption' }}
next={{ label: 'Policies & Approvals', href: '/docs/managed-policies' }}
>
<Fragment set:html={doc.body} />
</DocLayout>
16 changes: 16 additions & 0 deletions src/pages/docs/managed-policies.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
import DocLayout from '../../layouts/DocLayout.astro';
import { managedDocs } from '../../data/managedDocs';

const doc = managedDocs['managed-policies'];
---
<DocLayout
title={doc.title}
description={doc.description}
activePage="managed-policies"
canonicalPath="/docs/managed-policies"
prev={{ label: 'Harness Coverage', href: '/docs/managed-harnesses' }}
next={{ label: 'Fleet & Evidence', href: '/docs/managed-fleet' }}
>
<Fragment set:html={doc.body} />
</DocLayout>
16 changes: 16 additions & 0 deletions src/pages/docs/managed-readiness.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
import DocLayout from '../../layouts/DocLayout.astro';
import { managedDocs } from '../../data/managedDocs';

const doc = managedDocs['managed-readiness'];
---
<DocLayout
title={doc.title}
description={doc.description}
activePage="managed-readiness"
canonicalPath="/docs/managed-readiness"
prev={{ label: 'Fleet & Evidence', href: '/docs/managed-fleet' }}
next={{ label: 'Security', href: '/docs/security' }}
>
<Fragment set:html={doc.body} />
</DocLayout>
11 changes: 10 additions & 1 deletion src/pages/plain/docs/index.astro
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
// Auto-generated by scripts/regen-plain.mjs. Edit the marketing source and re-run.
// plain-source: src/pages/docs/index.astro
// plain-source-sha256: 117a327f8c1b807b16a5a93d4e8053968acd9ee8ea959446af4cd14bfa025836
// plain-source-sha256: b882716de797562d39670cfe800c3697c401120fcdc02116fdb3eb3f4559c9e3
import PlainLayout from '../../../layouts/PlainLayout.astro';
---
<PlainLayout title="Pilot Protocol Documentation — CLI Reference, Getting Started & SDK Guides (plain)" description="Complete documentation for Pilot Protocol. Install the daemon, connect AI agent peers, use Go/Python/Node SDKs, and explore the app store. Get started in under 5 minutes." canonical="https://pilotprotocol.network/plain/docs/">
Expand Down Expand Up @@ -38,6 +38,13 @@ import PlainLayout from '../../../layouts/PlainLayout.astro';
<li>Service Agents: 430+ live specialists — discover, handshake, and query structured data with no API keys.</li>
<li>App Store: Installable local capability apps — discover, install, and call typed IPC methods.</li>
<li>Consent &amp; Privacy: Every default-on feature — telemetry, broadcasts, reviews, skill injection — and how to turn each off.</li>
<li>Hosted Control Plane: Optional hosted policy, approval, monitoring, evidence, and command infrastructure for agents.</li>
<li>Accounts &amp; Organizations: Current signup availability, tenant isolation, roles, launch entitlements, and multi-organization behavior.</li>
<li>Agent Adoption: Claim a tenant-bound identity, verify the first signed report, and optionally attach action control.</li>
<li>Harness Coverage: Exact native hook boundaries, failure modes, and certification requirements by agent harness.</li>
<li>Policies &amp; Approvals: Structured rules, language policies, semantic narrowing, signed rollout, and expiring consent.</li>
<li>Fleet &amp; Evidence: Remote desired state, typed commands, safe state synchronization, exchanges, audit, and procedures.</li>
<li>Availability &amp; Readiness: A dated account of what is live, what is proved, and what still blocks production launch.</li>
<li>CLI Reference: Complete reference for all pilotctl commands, flags, and return values.</li>
<li>Go SDK: Build services, custom agents, and integrations using the driver package.</li>
<li>Messaging: Connect, send messages, transfer files, and use the inbox.</li>
Expand All @@ -59,6 +66,8 @@ import PlainLayout from '../../../layouts/PlainLayout.astro';
<li><a href="/docs/getting-started">Getting Started</a></li>
<li><a href="/docs/concepts">Core Concepts</a></li>
<li><a href="/docs/cli-reference">CLI Reference</a></li>
<li><a href="/docs/managed-control-plane">Hosted Control Plane</a></li>
<li><a href="/docs/managed-readiness">Availability &amp; Readiness</a></li>
<li><a href="/docs/research">Research</a></li>
</ul>

Expand Down
36 changes: 36 additions & 0 deletions src/pages/plain/docs/managed-accounts.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
// Auto-generated by scripts/regen-plain.mjs. Edit the marketing source and re-run.
// plain-source: src/pages/docs/managed-accounts.astro
// plain-source-sha256: 4d88e5ad027ff566d795f6aa68e9cb3901aded932eb519d0eeb4b838caa1a431
import PlainLayout from '../../../layouts/PlainLayout.astro';
---
<PlainLayout title="Docs — Pilot Protocol (plain)" description="Plain-text documentation for Pilot Protocol." canonical="https://pilotprotocol.network/plain/docs/managed-accounts/">

<p><a href="/plain/docs/">&larr; Docs index</a></p>

<h1>Managed Accounts</h1>

<p>A managed account provides a dedicated, managed Teleport cluster. This document describes account setup, billing, and connecting infrastructure.</p>

<h2>Account Setup</h2>
<p>A new cluster is provisioned when signing up for a managed service. The first user is granted administrator privileges. Other team members can be invited, and roles and permissions can be configured.</p>

<h2>Billing and Subscriptions</h2>
<p>The subscription is managed through a customer dashboard. Several tiers are offered.</p>
<ul>
<li>Free Tier: Limited users, community support.</li>
<li>Pro Tier: Unlimited users, business hours support.</li>
<li>Enterprise Tier: Custom features, dedicated support, SLAs.</li>
</ul>

<h2>Connecting Infrastructure</h2>
<p>The Teleport agent is required to connect servers, databases, or Kubernetes clusters. The agent establishes a reverse tunnel to the managed Teleport cluster.</p>
<pre><code>teleport start --roles=node --token=YOUR_JOIN_TOKEN --auth-server=your-cluster.teleport.sh:443</code></pre>

<h2>Related</h2>
<ul>
<li><a href="/docs/managed-control-plane">Hosted Control Plane</a></li>
<li><a href="/docs/managed-agent-adoption">Agent Adoption</a></li>
</ul>

</PlainLayout>
23 changes: 23 additions & 0 deletions src/pages/plain/docs/managed-agent-adoption.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
// Auto-generated by scripts/regen-plain.mjs. Edit the marketing source and re-run.
// plain-source: src/pages/docs/managed-agent-adoption.astro
// plain-source-sha256: b12d0f51096e90d8d8c42a9484a3939f058c3dd2d15cb8ca9b33c238cd7c337a
import PlainLayout from '../../../layouts/PlainLayout.astro';
---
<PlainLayout title="Docs — Pilot Protocol (plain)" description="Plain-text documentation for Pilot Protocol." canonical="https://pilotprotocol.network/plain/docs/managed-agent-adoption/">

<p><a href="/plain/docs/">&larr; Docs index</a></p>

<h1></h1>

<p></p>



<h2>Related</h2>
<ul>
<li><a href="/docs/managed-accounts">Accounts &amp; Organizations</a></li>
<li><a href="/docs/managed-harnesses">Harness Coverage</a></li>
</ul>

</PlainLayout>
39 changes: 39 additions & 0 deletions src/pages/plain/docs/managed-control-plane.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
// Auto-generated by scripts/regen-plain.mjs. Edit the marketing source and re-run.
// plain-source: src/pages/docs/managed-control-plane.astro
// plain-source-sha256: f3dfc21b561e0fb2dbe147a2446d55101e8c1f2f6e0ad1f3bc42a1b43869c815
import PlainLayout from '../../../layouts/PlainLayout.astro';
---
<PlainLayout title="Docs — Pilot Protocol (plain)" description="Plain-text documentation for Pilot Protocol." canonical="https://pilotprotocol.network/plain/docs/managed-control-plane/">

<p><a href="/plain/docs/">&larr; Docs index</a></p>

<h1>Managed Control Plane</h1>

<p>The Netlify Managed Control Plane is a dedicated, single-tenant instance of Netlify’s control plane for enterprise teams. It provides the developer experience of the multi-tenant platform with additional security, compliance, and performance features.</p>

<h2>Key Features</h2>
<ul>
<li>Single-tenant architecture: Isolates data and operations from other tenants.</li>
<li>Enhanced security: Includes private connectivity options, dedicated IP ranges, and advanced access controls.</li>
<li>Compliance-ready: Supports regulatory requirements such as SOC 2, HIPAA, and GDPR with dedicated infrastructure and data residency options.</li>
<li>Guaranteed performance: Provides Service Level Agreements (SLAs) for uptime and performance.</li>
<li>Custom integrations: Integrates with enterprise systems such as private Git repositories, identity providers (IdPs), and observability tools.</li>
</ul>

<h2>How it works</h2>
<p>The Managed Control Plane is deployed in a dedicated environment within a chosen cloud region. Netlify manages the infrastructure, updates, and maintenance.</p>
<p>Developers interact with the Managed Control Plane through the Netlify UI, CLI, and API. The underlying infrastructure is dedicated to a single organization.</p>

<h2>Getting Started</h2>
<p>The Managed Control Plane requires an Enterprise plan. Netlify provisions a dedicated instance and provides a unique URL to access it, for example:</p>
<pre><code>https://app.your-company.netlify.com</code></pre>
<p>After setup, team members can be invited, Git repositories connected, and sites deployed from the control plane.</p>

<h2>Related</h2>
<ul>
<li><a href="/docs/consent">Consent &amp; Privacy</a></li>
<li><a href="/docs/managed-accounts">Accounts &amp; Organizations</a></li>
</ul>

</PlainLayout>
38 changes: 38 additions & 0 deletions src/pages/plain/docs/managed-fleet.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
// Auto-generated by scripts/regen-plain.mjs. Edit the marketing source and re-run.
// plain-source: src/pages/docs/managed-fleet.astro
// plain-source-sha256: 2d897ffca786983b40b756af2aa3f289af0c00ff558f6788fcdfc4dbe87a2c55
import PlainLayout from '../../../layouts/PlainLayout.astro';
---
<PlainLayout title="Docs — Pilot Protocol (plain)" description="Plain-text documentation for Pilot Protocol." canonical="https://pilotprotocol.network/plain/docs/managed-fleet/">

<p><a href="/plain/docs/">&larr; Docs index</a></p>

<h1>Managed Fleet</h1>

<p>Tailscale coordinates key rotation, node registration, and user authentication for devices. When a device is added to a tailnet, Tailscale generates a unique identity for it and handles key rotation.</p>

<h2>Device inventory</h2>
<p>The machines page of the admin console provides a central inventory of all devices in a tailnet. For each device, it shows:</p>
<ul>
<li>The device name and its owner</li>
<li>The Tailscale IP address</li>
<li>The OS version</li>
<li>The Tailscale client version</li>
<li>When the device was last seen on the network</li>
</ul>
<p>This page can also be used to perform actions on devices, such as disabling key expiry or deleting a device from a tailnet.</p>

<h2>Tagging devices</h2>
<p>Tags can be used to apply policies to groups of devices. For example, a tag called `prod` could be created for production servers. A policy could then be created that only allows users with the `prod` tag to access those servers.</p>

<h2>Pre-authorizing devices</h2>
<p>Auth keys can be used to pre-authorize devices to join a tailnet. This is useful for automating the process of adding new devices, such as when provisioning new servers.</p>

<h2>Related</h2>
<ul>
<li><a href="/docs/auth/acl-tags">ACL tags</a></li>
<li><a href="/docs/auth/auth-keys">Auth keys</a></li>
</ul>

</PlainLayout>
Loading