|
1 | 1 | # OpenClaw Enterprise on AgentCore |
2 | 2 |
|
3 | | -Turn [OpenClaw](https://github.com/openclaw/openclaw) from a personal AI assistant into an enterprise-grade digital workforce platform — without modifying a single line of OpenClaw source code. |
| 3 | +Most enterprise AI platforms give everyone the same generic assistant. OpenClaw Enterprise gives each employee **an AI agent with role-specific identity, memory, tools, and security boundaries** — while giving IT full governance control over the entire fleet. |
| 4 | + |
| 5 | +Built on [OpenClaw](https://github.com/openclaw/openclaw) (open-source AI assistant) + AWS Bedrock AgentCore. **Zero modification to OpenClaw source code** — all enterprise capabilities are achieved through configuration files, workspace assembly, and AWS-native services. |
4 | 6 |
|
5 | 7 | --- |
6 | 8 |
|
7 | | -## Serverless Economics: Pay Only When Agents Think |
| 9 | +## The Governance Problem |
8 | 10 |
|
9 | | -Most enterprise AI deployments either charge per seat or run dedicated compute per employee. AgentCore Firecracker microVMs change the economics entirely — **you don't pre-allocate CPU or memory. You don't pick instance sizes. AgentCore provisions exactly what each invocation needs and bills per second.** |
| 11 | +An enterprise with 500 employees across 12 roles wants to deploy AI agents. The challenges aren't technical — they're organizational: |
10 | 12 |
|
11 | | -**AgentCore pricing (us-west-2):** |
12 | | -- CPU: $0.0895 / vCPU-hour — **$0 when idle** (no CPU charge between invocations) |
13 | | -- Memory: $0.00945 / GB-hour — the only idle cost, and it's tiny |
| 13 | +- The **Finance Analyst** agent must never execute shell commands, but the **SDE** agent needs shell access daily |
| 14 | +- When the **CISO updates a compliance policy**, all 500 agents must adopt it — immediately, without touching each one individually |
| 15 | +- **IT needs to see** every tool call, every permission denial, every conversation — across all agents, all IM channels, all departments |
| 16 | +- An employee who **changes departments** should automatically get a new agent identity, new tools, new knowledge — without a support ticket |
| 17 | +- The **CEO's agent** should use Claude Sonnet 4.6 with full tool access; the **intern's agent** should use Nova Lite with web search only |
14 | 18 |
|
15 | | -**50 employees, 8-hour workday sessions (us-west-2):** |
| 19 | +ChatGPT Team and Microsoft Copilot can't do any of this. They give everyone the same agent with the same capabilities. |
16 | 20 |
|
17 | | -| | Dedicated EC2 per Employee | ChatGPT Team | **OpenClaw on AgentCore** | |
18 | | -|---|---|---|---| |
19 | | -| 50 employees | 50 × $52 = **$2,600/mo** | 50 × $25 = **$1,250/mo** | **~$100-150/mo** | |
20 | | -| What you pay for | 24/7, whether anyone's chatting or not | Per seat, fixed | Only invocation CPU + idle session memory | |
21 | | -| Idle cost per employee | $52/mo (full EC2 running) | $25/mo (subscription) | **~$0.08/day** (1 GB memory × 8 hr) | |
| 21 | +--- |
22 | 22 |
|
23 | | -**The math:** 50 employees × 22 workdays × $0.08 idle/day = ~$88/mo in memory. Add CPU during actual conversations (~$20-50/mo) = **$100-150/mo total AgentCore cost.** Add gateway infrastructure (see [Cost Estimate](#cost-estimate) below) for the complete picture. |
| 23 | +## Our Answer: Organization-Driven Agent Governance |
24 | 24 |
|
25 | | ---- |
| 25 | +### Three-Layer SOUL Identity |
26 | 26 |
|
27 | | -## Three Deployment Modes: Serverless + ECS + EKS |
| 27 | +The core design: **one SOUL configuration per role, not per person.** 5 departments × 12 positions = governance over 500 agents. |
28 | 28 |
|
29 | | -Every agent uses the same Docker image. Admin chooses the deployment mode per agent based on the use case — no code changes, no separate builds. |
| 29 | +``` |
| 30 | +┌─────────────────────────────────────────────────────────┐ |
| 31 | +│ Layer 1: GLOBAL (IT locked — CISO + CTO approval) │ |
| 32 | +│ Company policies, security red lines, data handling │ |
| 33 | +│ "Never share customer PII. Never execute rm -rf." │ |
| 34 | +├─────────────────────────────────────────────────────────┤ |
| 35 | +│ Layer 2: POSITION (Department admin managed) │ |
| 36 | +│ Role expertise, tool permissions, knowledge scope │ |
| 37 | +│ "You are a Finance Analyst. Use excel-gen, not shell." │ |
| 38 | +├─────────────────────────────────────────────────────────┤ |
| 39 | +│ Layer 3: PERSONAL (Employee self-service) │ |
| 40 | +│ Communication preferences, custom instructions │ |
| 41 | +│ "I prefer concise answers. Always respond in Chinese." │ |
| 42 | +└─────────────────────────────────────────────────────────┘ |
| 43 | + ↓ merge |
| 44 | + Final SOUL.md (what the agent reads) |
| 45 | +``` |
30 | 46 |
|
31 | | -### Serverless (AgentCore) — Default |
| 47 | +**No lower layer can override a higher one.** An employee who writes "Ignore all company rules" in their personal layer is still bound by the Global layer — it's prepended with a `CRITICAL IDENTITY OVERRIDE` marker that the model reads first. |
32 | 48 |
|
33 | | -| | Behavior | |
34 | | -|-|---------| |
35 | | -| **Cold start** | ~6s first message — Firecracker microVM + SOUL assembly + Bedrock | |
36 | | -| **Session resume** | ~2-3s — Session Storage restores workspace, skips S3 download | |
37 | | -| **Warm session** | Near-instant — microVM stays active during a conversation | |
38 | | -| **Idle cost** | Memory only ($0.00945/GB-hour). CPU = $0 when idle | |
39 | | -| **Session Storage** | Workspace files persist across microVM stop/resume (1 GB per session). No S3 sync needed for agent-side persistence | |
40 | | -| **Best for** | Individual employee agents — scales to zero, pay-per-use | |
| 49 | +### Five-Layer Security (Defense in Depth) |
41 | 50 |
|
42 | | -### Always-on (ECS Fargate) — Admin Toggle |
| 51 | +| Layer | Mechanism | Bypassed by prompt injection? | |
| 52 | +|-------|-----------|-------------------------------| |
| 53 | +| L1 — SOUL Rules | Prompt-level behavioral constraints | ⚠️ Theoretically possible | |
| 54 | +| L2 — Tool Permissions (Plan A) | Per-position allowlist in DynamoDB, injected before SOUL | ⚠️ Depends on model compliance | |
| 55 | +| **L3 — IAM** | **Per-runtime IAM role — Finance role has no S3 cross-dept access** | **Impossible** | |
| 56 | +| **L4 — Compute Isolation** | **Firecracker microVM per agent (hardware boundary)** | **Impossible** | |
| 57 | +| **L5 — Bedrock Guardrail** | **Content filter on every input + output (PII, topics, injection)** | **Impossible** | |
43 | 58 |
|
44 | | -| | Behavior | |
45 | | -|-|---------| |
46 | | -| **Cold start** | None — container is always running | |
47 | | -| **Scheduled tasks** | HEARTBEAT fires on schedule (email check every 3 min, daily reports) | |
48 | | -| **Direct IM** | Container connects directly to Telegram/Discord (dedicated bot token) | |
49 | | -| **Persistence** | EFS-backed workspace — durable across container restarts | |
50 | | -| **Best for** | Customer service bots, executive assistants with frequent cron tasks, high-traffic Digital Twins | |
| 59 | +L3-L5 are infrastructure boundaries. No prompt, no matter how clever, can bypass an IAM policy or escape a Firecracker VM. |
51 | 60 |
|
52 | | -### EKS (Kubernetes) — For Container-Native Infrastructure |
| 61 | +### IT Governance Controls |
53 | 62 |
|
54 | | -Kubernetes-native deployment using the OpenClaw Operator and `OpenClawInstance` CRDs. Best for teams already on Kubernetes, multi-cluster setups, or AWS China regions. |
| 63 | +| Control | What IT Gets | |
| 64 | +|---------|-------------| |
| 65 | +| **SOUL Editor** | Global rules locked by IT. Position SOUL managed by department admins. Employees edit only their personal layer. | |
| 66 | +| **4-Tier Runtime Model** | Standard / Restricted / Engineering / Executive — each with its own model, IAM role, guardrail. Assign positions to tiers from UI. | |
| 67 | +| **Audit Center** | Every invocation, tool call, permission denial, SOUL change, IM pairing, guardrail block → DynamoDB. 5 insight detectors surface patterns. | |
| 68 | +| **Skill Governance** | 26 skills with position-level assignment. Employees can request access; IT approves/denies. | |
| 69 | +| **Usage & Cost** | Per-employee, per-department, per-model breakdown. Model-aware pricing ($0.30–$75/1M tokens). Department budgets. | |
| 70 | +| **IM Management** | Every employee's IM connections visible to admin. One-click revoke. Channel health + enrollment stats. | |
| 71 | +| **RBAC** | Admin (full org) · Manager (department-scoped) · Employee (portal only). JWT-enforced on every API call. | |
55 | 72 |
|
56 | | -**[→ EKS Deployment Guide (EN)](docs/DEPLOYMENT_EKS.md)** · **[→ EKS 部署指南 (中文)](docs/DEPLOYMENT_EKS_CN.md)** |
| 73 | +### Auto-Provisioning: Org Chart Drives Everything |
| 74 | + |
| 75 | +``` |
| 76 | +Admin creates employee with positionId="pos-fa" (Finance Analyst) |
| 77 | + ↓ auto-provision: |
| 78 | + ① Agent created (inherits position's skills + default channel) |
| 79 | + ② 1:1 binding created (employee ↔ agent) |
| 80 | + ③ S3 workspace seeded (PERSONAL_SOUL.md, USER.md, MEMORY.md) |
| 81 | + ④ Audit entry written |
| 82 | +
|
| 83 | +Employee logs in → sees their Finance Analyst Agent → ready to chat. |
| 84 | +Change position to pos-sde → agent reconfigured automatically. |
| 85 | +``` |
57 | 86 |
|
58 | 87 | --- |
59 | 88 |
|
60 | | -## Security: Hardware-Level Isolation at Every Layer |
| 89 | +## What Makes This Different |
61 | 90 |
|
62 | | -| Layer | Mechanism | Bypassed by prompt injection? | |
63 | | -|-------|-----------|-------------------------------| |
64 | | -| L1 — Prompt | SOUL.md rules ("Finance never uses shell") | ⚠️ Theoretically possible | |
65 | | -| L2 — Application | Skills manifest `allowedRoles`/`blockedRoles` | ⚠️ Code bug risk | |
66 | | -| **L3 — IAM** | **Runtime role has no permission on target resource** | **Impossible** | |
67 | | -| **L4 — Compute** | **Firecracker microVM per agent (AgentCore / ECS Fargate)** | **Impossible** | |
68 | | -| **L5 — Guardrail** | **Bedrock Guardrail checks every input + output** | **Impossible** | |
| 91 | +| Capability | ChatGPT Team | Microsoft Copilot | **OpenClaw Enterprise** | |
| 92 | +|-----------|-------------|-------------------|-------------------| |
| 93 | +| Per-role agent identity | ❌ Same for all | ❌ Same for all | ✅ 3-layer SOUL per position | |
| 94 | +| Tool permissions per role | ❌ | ❌ | ✅ Plan A allowlist + IAM + Guardrail | |
| 95 | +| Org-driven agent management | ❌ | ❌ | ✅ Department → Position → Employee hierarchy | |
| 96 | +| IT audit trail | ❌ | Limited | ✅ Every action logged to DynamoDB | |
| 97 | +| Self-hosted, data in your VPC | ❌ | ❌ | ✅ Bedrock in your account, zero data egress | |
| 98 | +| IM integration (10 platforms) | ❌ | Teams only | ✅ Telegram, Slack, Discord, Feishu, WhatsApp... | |
| 99 | +| Scheduled tasks / cron | ❌ | ❌ | ✅ EventBridge + Always-on agents | |
| 100 | +| Cost: 50 employees | $1,250/mo | $1,500/mo | **~$160-220/mo** | |
| 101 | +| Open source | ❌ | ❌ | ✅ OpenClaw + AWS native | |
69 | 102 |
|
70 | | -L3-L5 are hard infrastructure boundaries — no prompt injection can bypass them. |
| 103 | +--- |
71 | 104 |
|
72 | | -### Additional Controls |
| 105 | +## Security: Additional Controls |
73 | 106 |
|
74 | | -- No public ports (SSM only) |
| 107 | +- No public ports (SSM Session Manager only) |
75 | 108 | - IAM roles throughout, no hardcoded credentials |
76 | 109 | - Gateway token in SSM SecureString, never on disk |
77 | | -- VPC isolation between runtimes |
78 | | -- RBAC: admin/manager/employee with scope-limited visibility |
| 110 | +- VPC isolation between runtime tiers |
| 111 | +- First-login forced password change (bcrypt hashed per employee) |
79 | 112 |
|
80 | 113 | For detailed compute isolation comparison across runtimes (AgentCore vs ECS vs EKS vs Kata), see [SECURITY.md](SECURITY.md#compute-isolation-enterprise-multi-tenant). |
81 | 114 |
|
82 | 115 | --- |
83 | 116 |
|
84 | | -## Auditable and Governed from Day One |
| 117 | +## Three Deployment Modes |
85 | 118 |
|
86 | | -| Control | What IT Gets | |
87 | | -|---------|-------------| |
88 | | -| **SOUL Editor** | Global rules locked by IT. Finance cannot touch shell. Engineering cannot leak PII. Employees cannot override the global layer. | |
89 | | -| **Skill Governance** | 26 skills with `allowedRoles`/`blockedRoles`. Employees cannot install unapproved skills. | |
90 | | -| **Audit Center** | Every invocation, tool call, permission denial, SOUL change, and IM pairing → DynamoDB | |
91 | | -| **Usage & Cost** | Per-employee, per-department breakdown. Daily/weekly/monthly trends with model pricing | |
92 | | -| **IM Management** | Every employee's connected IM accounts visible to admin. One-click revoke. | |
93 | | -| **Security Center** | Live ECR images, IAM roles, VPC security groups with AWS Console deep links | |
94 | | -| **RBAC** | Admin (full org) · Manager (department-scoped) · Employee (portal only) | |
| 119 | +Every agent uses the same Docker image. Admin chooses deployment mode per position — no code changes needed. |
95 | 120 |
|
96 | | ---- |
| 121 | +| | Serverless (AgentCore) | Always-on (ECS Fargate) | EKS (Kubernetes) | |
| 122 | +|-|----------------------|------------------------|------------------| |
| 123 | +| **Cold start** | ~10s first msg, ~3s warm | None — always running | None — pod always running | |
| 124 | +| **Best for** | 90% of employees | Exec assistants, cron tasks, direct IM bots | Container-native infra, China regions | |
| 125 | +| **Cost** | Pay per invocation | ~$17/mo per agent | Cluster cost + per-pod | |
| 126 | +| **Storage** | S3 sync (60s watchdog) | EFS persistent volume | PVC | |
97 | 127 |
|
98 | | -## What Makes This Different |
99 | | - |
100 | | -> Most enterprise AI platforms give everyone the same generic assistant. |
101 | | -> This one gives each employee **a personal AI agent with their own identity, memory, tools, and boundaries** — while giving IT the governance controls above. |
| 128 | +**[→ EKS Deployment Guide (EN)](docs/DEPLOYMENT_EKS.md)** · **[→ EKS 部署指南 (中文)](docs/DEPLOYMENT_EKS_CN.md)** |
102 | 129 |
|
103 | 130 | ### Flagship Features |
104 | 131 |
|
@@ -156,19 +183,7 @@ For detailed compute isolation comparison across runtimes (AgentCore vs ECS vs E |
156 | 183 |
|
157 | 184 | --- |
158 | 185 |
|
159 | | -## The Problem |
160 | | - |
161 | | -OpenClaw is one of the most capable open-source AI agent platforms (200k+ GitHub stars). It excels at personal productivity: connecting AI to WhatsApp, Telegram, Discord, running browser automation, managing calendars. But enterprise deployments need: |
162 | | - |
163 | | -- **Multi-tenant isolation** — each employee gets their own agent with separate identity, memory, and permissions |
164 | | -- **Role-based access control** — interns can't run shell commands, finance can't access engineering data |
165 | | -- **Centralized governance** — IT controls agent behavior, skills, and model selection across the organization |
166 | | -- **Audit & compliance** — every agent action logged, PII detection, data sovereignty |
167 | | -- **Cost management** — per-department budgets, model routing, usage tracking |
168 | | - |
169 | | -## The Solution |
170 | | - |
171 | | -A management layer that wraps OpenClaw with enterprise controls, deployed on AWS Bedrock AgentCore. No fork, no patch, no vendor lock-in — just configuration files and AWS-native services. |
| 186 | +## Design Principles |
172 | 187 |
|
173 | 188 | ### Design Principles |
174 | 189 |
|
@@ -952,20 +967,6 @@ vs ChatGPT Team ($25 × 50 = $1,250/mo) or Copilot ($30 × 50 = $1,500/mo). |
952 | 967 |
|
953 | 968 | **AgentCore pricing advantage:** you don't pre-allocate CPU or memory — no instance sizing decisions. Idle sessions cost only memory ($0.00945/GB-hour). CPU is $0 when no one is chatting. |
954 | 969 |
|
955 | | -## How It Compares |
956 | | - |
957 | | -| Capability | ChatGPT Team | Microsoft Copilot | OpenClaw Enterprise | |
958 | | -|-----------|-------------|-------------------|-------------------| |
959 | | -| Per-employee identity | ❌ Same for all | ❌ Same for all | ✅ 3-layer SOUL per role | |
960 | | -| Tool permissions per role | ❌ | ❌ | ✅ Plan A + Plan E + L3 IAM | |
961 | | -| Scheduled tasks / cron | ❌ | ❌ | ✅ Always-on agents (ECS Fargate) | |
962 | | -| Direct IM bot connection | ❌ | ❌ | ✅ Per-agent Telegram/Discord bot | |
963 | | -| Digital Twin (public agent URL) | ❌ | ❌ | ✅ Shareable, revocable, isolated session | |
964 | | -| Session persistence | ❌ Session only | ❌ | ✅ Session Storage + S3 cross-session | |
965 | | -| Self-service IM pairing | ❌ | ❌ | ✅ QR code, 30 seconds | |
966 | | -| Self-hosted, data in your VPC | ❌ | ❌ | ✅ Bedrock in your account | |
967 | | -| Open source | ❌ | ❌ | ✅ OpenClaw + AWS native | |
968 | | - |
969 | 970 | ## Project Structure |
970 | 971 |
|
971 | 972 | ``` |
|
0 commit comments