You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- server.py: GUARDRAIL_ID env var check on every INPUT + OUTPUT via apply_guardrail()
Exec Runtime has no GUARDRAIL_ID → unrestricted. Standard Runtime blocked by policy.
Logs guardrail_block events to DynamoDB for full audit trail.
- main.py: GET /security/guardrails (list Bedrock Guardrails), update_runtime_config
now writes GUARDRAIL_ID/VERSION as env vars on Runtime update.
GET /audit/guardrail-events returns guardrail_block DynamoDB records.
GET /security/runtimes now exposes guardrailId + guardrailVersion per runtime.
- SecurityCenter.tsx: Guardrail dropdown in Runtime Configure modal (auto-populates
from list_guardrails API), Guardrail badge on RuntimeCard, L5 row in Defense Layers.
- AuditLog.tsx: Guardrail Events tab with per-event actor/policy/direction display,
enforcement summary counters, guardrail_block added to event type filter.
- useApi.ts: useGuardrails(), useGuardrailEvents() hooks, guardrailId on RuntimeConfig.
- README.md: L5 Guardrail added to security layers table + Flagship Features.
- Demo: CryptoVault-Standard-Policy guardrail (b44c26tk2kds v1) created in us-east-1,
bound to Standard Runtime via GUARDRAIL_ID env var.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
|**L3 — IAM**|**Runtime role has no permission on target resource**|**Impossible**|
44
44
|**L4 — Compute**|**Firecracker microVM per invocation, isolated at hypervisor level**|**Impossible**|
45
+
|**L5 — Guardrail**|**Bedrock Guardrail checks every input + output: topic denial, PII filtering, compliance policies**|**Impossible — AWS-managed, semantic AI layer**|
45
46
46
-
Each runtime tier has its own Docker image, its own IAM role, and its own Firecracker boundary. An intern's agent IAM role literally cannot read the exec S3 bucket — even if the LLM tries.
47
+
Each runtime tier has its own Docker image, its own IAM role, its own Firecracker boundary, and an optional Bedrock Guardrail. An intern's agent IAM role literally cannot read the exec S3 bucket — even if the LLM tries. And even if it could, the Guardrail blocks the output before it reaches the user.
47
48
48
49
Additional controls: no public ports (SSM only) · IAM roles throughout, no hardcoded credentials · gateway token in SSM SecureString, never on disk · VPC isolation between runtimes.
49
50
@@ -77,6 +78,7 @@ Additional controls: no public ports (SSM only) · IAM roles throughout, no hard
77
78
|**Three-Layer SOUL**| Global (IT) → Position (dept admin) → Personal (employee). 3 stakeholders, 3 layers, one merged identity. Same LLM — Finance Analyst vs SDE have completely different personalities and permissions |
78
79
|**Self-Service IM Pairing**| Employee scans QR code from Portal → connects Telegram / Feishu / Discord in 30 seconds. No IT ticket, no admin approval |
79
80
|**Multi-Runtime Architecture**| Standard tier (Nova 2 Lite, scoped IAM) vs Executive tier (Claude Sonnet 4.6, full access). Different Docker images, different models, different IAM roles — infrastructure-level isolation |
81
+
|**Bedrock Guardrails (L5)**| Assign any Bedrock Guardrail to a Runtime from Security Center UI. Topic denial, PII filtering, and compliance policies wrap every user input and agent output — no OpenClaw source code changes needed. Standard employees get blocked; exec tier is unrestricted. Full block audit trail in Audit Center. |
80
82
|**Org Directory KB**| Company directory (every employee, R&R, contact, agent capabilities) seeded from org data and injected into every agent — agents know who to contact and can draft messages for you |
81
83
|**Position → Runtime Routing**| 3-tier routing chain: employee override → position rule → default. Assign positions to runtimes from Security Center UI, propagates to all members automatically |
82
84
|**Per-Employee Model Config**| Override model, context window, compaction settings, and response language at position OR employee level from Agent Factory → Configuration tab |
<span>Bedrock Guardrail intercepts — every blocked user input and filtered agent output. Standard Runtime only. Exec Runtime has no guardrail restrictions.</span>
<pclassName="text-sm text-text-secondary mb-4">Permission denials and security-relevant events. These indicate policy enforcement working correctly, or potential unauthorized access attempts.</p>
0 commit comments