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
{name: "EDR · network controls",label: "Respond with context",text: "Use endpoint risk and network policy without tying your security program to one AI agent.",icon: PlugZap},
149
149
];
150
150
151
+
constapprovalScenarios=[
152
+
{
153
+
id: "customer-report",
154
+
label: "Share customer data",
155
+
agent: "Claude Code",
156
+
title: "Export customer report",
157
+
action: "Send customer-report.csv to an external collaboration workspace.",
158
+
walletBody: "Claude Code wants to send a sensitive file outside the company workspace.",
159
+
requestedBy: "Research team workspace",
160
+
policy: "A manager must approve",
161
+
policyDetail: "Customer data cannot leave the company without a manager's decision.",
162
+
destination: "external.collab",
163
+
digest: "8F2A…9C11",
164
+
icon: Database,
165
+
},
166
+
{
167
+
id: "production-change",
168
+
label: "Change production",
169
+
agent: "Codex",
170
+
title: "Update production workflow",
171
+
action: "Modify the deployment workflow used by the production environment.",
172
+
walletBody: "Codex wants to change a workflow that can deploy code to production.",
173
+
requestedBy: "Platform team workspace",
174
+
policy: "Engineering lead approval",
175
+
policyDetail: "Production changes require an engineering lead to review the exact update.",
176
+
destination: "github.com/company/app",
177
+
digest: "2C41…A77B",
178
+
icon: GitFork,
179
+
},
180
+
{
181
+
id: "private-repository",
182
+
label: "Connect private code",
183
+
agent: "OpenClaw",
184
+
title: "Connect private repository",
185
+
action: "Give a new agent access to a private source-code repository.",
186
+
walletBody: "OpenClaw wants access to private company code for the first time.",
187
+
requestedBy: "Operations workspace",
188
+
policy: "Repository owner approval",
189
+
policyDetail: "A repository owner must approve new agent access to private code.",
190
+
destination: "private repository",
191
+
digest: "71DD…3B04",
192
+
icon: PlugZap,
193
+
},
194
+
];
195
+
151
196
constreveal={
152
197
hidden: {opacity: 0,y: 28},
153
198
visible: (delay=0)=>({
@@ -418,11 +463,11 @@ function Hero() {
418
463
>
419
464
<motion.a
420
465
className="button button-brand"
421
-
href="#product"
466
+
href="#approval-demo"
422
467
whileHover={{y: -2}}
423
468
whileTap={{scale: 0.98}}
424
469
>
425
-
Explore the product<ArrowDownsize={15}/>
470
+
Try a signed approval<ArrowDownsize={15}/>
426
471
</motion.a>
427
472
<motion.a
428
473
className="button button-quiet"
@@ -1060,7 +1105,7 @@ function AgentSecurityPrimer() {
<h2>A sensitive action should never approve itself.</h2>
1187
+
<p>Choose something an agent wants to do, then make the decision in the separate VTI wallet. ONEComputer can pause the request and verify the answer—but it cannot create the answer.</p>
1188
+
</Reveal>
1189
+
1190
+
<divclassName="approval-scenarios"role="group"aria-label="Choose an approval example">
<div><Fingerprintsize={15}/><b>OpenVTC</b><small>Secure request · signed response</small></div>
1268
+
</div>
1269
+
1270
+
<divclassName="approval-wallet-column">
1271
+
<divclassName="approval-instruction"><Smartphonesize={15}/><span><b>Your turn</b><small>Approve or deny in the wallet</small></span><ArrowRightsize={14}/></div>
1272
+
<VtiWalletMock
1273
+
available
1274
+
decision={decision}
1275
+
request={request}
1276
+
onApprove={()=>setDecision("approved")}
1277
+
onDeny={()=>setDecision("denied")}
1278
+
onReset={()=>setDecision("pending")}
1279
+
/>
1280
+
</div>
1281
+
</div>
1282
+
1283
+
<divclassName="approval-principles">
1284
+
<span><b>01</b><small>ONEComputer pauses the exact action</small></span>
1285
+
<span><b>02</b><small>The manager decides on a separate device</small></span>
1286
+
<span><b>03</b><small>The signed answer works for this request only</small></span>
0 commit comments