actshield 0.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. actshield/__init__.py +439 -0
  2. actshield/__main__.py +46 -0
  3. actshield/agents/__init__.py +12 -0
  4. actshield/agents/agent.py +200 -0
  5. actshield/agents/identity.py +114 -0
  6. actshield/api/__init__.py +34 -0
  7. actshield/api/models.py +198 -0
  8. actshield/api/server.py +669 -0
  9. actshield/api/service.py +599 -0
  10. actshield/approval/__init__.py +15 -0
  11. actshield/approval/approval.py +164 -0
  12. actshield/cli/__init__.py +8 -0
  13. actshield/cli/graph.py +49 -0
  14. actshield/cli/main.py +802 -0
  15. actshield/cli/shell.py +406 -0
  16. actshield/cli/theme.py +110 -0
  17. actshield/client.py +757 -0
  18. actshield/config.py +88 -0
  19. actshield/context/__init__.py +14 -0
  20. actshield/context/context.py +161 -0
  21. actshield/context/provenance.py +108 -0
  22. actshield/context/taint.py +48 -0
  23. actshield/decisions/decision.py +74 -0
  24. actshield/delegation/__init__.py +11 -0
  25. actshield/delegation/authority.py +63 -0
  26. actshield/delegation/delegation.py +180 -0
  27. actshield/demo.py +139 -0
  28. actshield/doctor.py +94 -0
  29. actshield/drift/__init__.py +27 -0
  30. actshield/drift/drift_engine.py +149 -0
  31. actshield/drift/drift_models.py +63 -0
  32. actshield/evaluation/__init__.py +1 -0
  33. actshield/evaluation/cases/__init__.py +1 -0
  34. actshield/evaluation/eval_suite.py +254 -0
  35. actshield/forensics/__init__.py +53 -0
  36. actshield/forensics/access_graph.py +216 -0
  37. actshield/forensics/authority_graph.py +186 -0
  38. actshield/forensics/delegation_graph.py +119 -0
  39. actshield/forensics/explanation.py +254 -0
  40. actshield/forensics/models.py +488 -0
  41. actshield/forensics/queries.py +367 -0
  42. actshield/forensics/serializers.py +68 -0
  43. actshield/forensics/service.py +310 -0
  44. actshield/forensics/snapshots.py +174 -0
  45. actshield/gates/__init__.py +13 -0
  46. actshield/gates/gate_models.py +46 -0
  47. actshield/gates/security_gate.py +191 -0
  48. actshield/gateway/__init__.py +13 -0
  49. actshield/gateway/http.py +191 -0
  50. actshield/gateway/mcp.py +292 -0
  51. actshield/incidents/__init__.py +25 -0
  52. actshield/incidents/incident.py +94 -0
  53. actshield/incidents/incident_engine.py +163 -0
  54. actshield/incidents/incident_rules.py +116 -0
  55. actshield/incidents/incident_state.py +58 -0
  56. actshield/integrations/__init__.py +24 -0
  57. actshield/integrations/ai_secura.py +169 -0
  58. actshield/integrations/ai_secura_analysis.py +236 -0
  59. actshield/integrations/apiris.py +122 -0
  60. actshield/integrations/few_shot.py +104 -0
  61. actshield/integrations/ollama_adapter.py +538 -0
  62. actshield/integrations/prompts/__init__.py +1 -0
  63. actshield/integrations/prompts/examples/__init__.py +1 -0
  64. actshield/integrations/security_packet.py +82 -0
  65. actshield/llm_config.py +89 -0
  66. actshield/offensive/__init__.py +95 -0
  67. actshield/offensive/adaptive/__init__.py +22 -0
  68. actshield/offensive/adaptive/adaptive_engine.py +165 -0
  69. actshield/offensive/adaptive/attack_selector.py +51 -0
  70. actshield/offensive/adaptive/boundary_search.py +99 -0
  71. actshield/offensive/adaptive/campaign_memory.py +123 -0
  72. actshield/offensive/adaptive/feedback.py +84 -0
  73. actshield/offensive/adaptive/mutation_planner.py +57 -0
  74. actshield/offensive/attack.py +78 -0
  75. actshield/offensive/campaign.py +219 -0
  76. actshield/offensive/corpus.py +155 -0
  77. actshield/offensive/engine.py +466 -0
  78. actshield/offensive/evaluator.py +116 -0
  79. actshield/offensive/evidence.py +63 -0
  80. actshield/offensive/generator.py +128 -0
  81. actshield/offensive/mutation.py +101 -0
  82. actshield/offensive/results.py +77 -0
  83. actshield/offensive/safety.py +80 -0
  84. actshield/offensive/strategies/__init__.py +22 -0
  85. actshield/offensive/strategies/authority_escalation.py +100 -0
  86. actshield/offensive/strategies/base.py +34 -0
  87. actshield/offensive/strategies/context_manipulation.py +100 -0
  88. actshield/offensive/strategies/data_exfiltration.py +100 -0
  89. actshield/offensive/strategies/delegation_attacks.py +100 -0
  90. actshield/offensive/strategies/mcp_attacks.py +100 -0
  91. actshield/offensive/strategies/prompt_injection.py +100 -0
  92. actshield/offensive/strategies/tool_poisoning.py +100 -0
  93. actshield/offensive/target.py +113 -0
  94. actshield/offensive/vulnerable_target.py +121 -0
  95. actshield/persistence/__init__.py +18 -0
  96. actshield/persistence/siem.py +102 -0
  97. actshield/persistence/storage.py +240 -0
  98. actshield/policy/__init__.py +12 -0
  99. actshield/policy/evaluator.py +294 -0
  100. actshield/policy/intent.py +113 -0
  101. actshield/policy/policy.py +48 -0
  102. actshield/posture/__init__.py +26 -0
  103. actshield/posture/posture_engine.py +186 -0
  104. actshield/posture/posture_models.py +152 -0
  105. actshield/posture/posture_rules.py +137 -0
  106. actshield/providers/__init__.py +32 -0
  107. actshield/providers/anthropic_provider.py +146 -0
  108. actshield/providers/base.py +160 -0
  109. actshield/providers/gemini_provider.py +133 -0
  110. actshield/providers/null_provider.py +40 -0
  111. actshield/providers/ollama_provider.py +135 -0
  112. actshield/providers/openai_provider.py +142 -0
  113. actshield/providers/registry.py +244 -0
  114. actshield/py.typed +0 -0
  115. actshield/response/__init__.py +14 -0
  116. actshield/response/response_actions.py +39 -0
  117. actshield/response/response_audit.py +32 -0
  118. actshield/response/response_engine.py +139 -0
  119. actshield/risk/models.py +104 -0
  120. actshield/serve.py +117 -0
  121. actshield/static/404.html +1 -0
  122. actshield/static/__next.__PAGE__.txt +24 -0
  123. actshield/static/__next._full.txt +20 -0
  124. actshield/static/__next._tree.txt +4 -0
  125. actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_buildManifest.js +11 -0
  126. actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_clientMiddlewareManifest.js +1 -0
  127. actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_ssgManifest.js +1 -0
  128. actshield/static/_next/static/chunks/09kny2eqjc2or.js +1 -0
  129. actshield/static/_next/static/chunks/0c1zba1u9whdp.js +1 -0
  130. actshield/static/_next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  131. actshield/static/_next/static/chunks/0dbjjeg01x25o.js +1 -0
  132. actshield/static/_next/static/chunks/0duobs55ne238.js +1 -0
  133. actshield/static/_next/static/chunks/0iaz41l6068e4.js +1 -0
  134. actshield/static/_next/static/chunks/0mjhyv72x2idp.js +1 -0
  135. actshield/static/_next/static/chunks/0nelpqfu_ciq6.js +1 -0
  136. actshield/static/_next/static/chunks/0p1bci9ch797v.js +1 -0
  137. actshield/static/_next/static/chunks/0tld_ygho5tgm.js +1 -0
  138. actshield/static/_next/static/chunks/0w1-y7oni66j9.js +1 -0
  139. actshield/static/_next/static/chunks/10537zyl427zj.js +1 -0
  140. actshield/static/_next/static/chunks/11pc_jkl3aggn.js +1 -0
  141. actshield/static/_next/static/chunks/16k7nw0b3t8ys.js +1 -0
  142. actshield/static/_next/static/chunks/19mx3mg6lkumu.js +1 -0
  143. actshield/static/_next/static/chunks/1_8p47b-kxg2a.js +1 -0
  144. actshield/static/_next/static/chunks/1dszjozwfqegx.js +1 -0
  145. actshield/static/_next/static/chunks/1h43jcb90-m2r.js +22 -0
  146. actshield/static/_next/static/chunks/1ly04cvt_wh_j.js +1 -0
  147. actshield/static/_next/static/chunks/1odxrypuwuwp_.js +1 -0
  148. actshield/static/_next/static/chunks/1oes4c35qz5ku.js +1 -0
  149. actshield/static/_next/static/chunks/1ow883jl4ln-r.js +16 -0
  150. actshield/static/_next/static/chunks/1po7bna1as8tc.js +1 -0
  151. actshield/static/_next/static/chunks/1rsh0og8ifkzx.js +1 -0
  152. actshield/static/_next/static/chunks/1v0lwzv-859z_.js +1 -0
  153. actshield/static/_next/static/chunks/25iat2epwx25a.js +1 -0
  154. actshield/static/_next/static/chunks/25uvt4s2f39a4.js +1 -0
  155. actshield/static/_next/static/chunks/27t_qfc-3_lzs.js +1 -0
  156. actshield/static/_next/static/chunks/28bkmy8mez7gm.js +1 -0
  157. actshield/static/_next/static/chunks/2b6brmw_drw1p.js +1 -0
  158. actshield/static/_next/static/chunks/2fnhtxi4j6vge.js +1 -0
  159. actshield/static/_next/static/chunks/2p087eftxemg4.js +6 -0
  160. actshield/static/_next/static/chunks/2s8pao_z8pgtq.js +1 -0
  161. actshield/static/_next/static/chunks/2yj7ooc2c-zpg.js +1 -0
  162. actshield/static/_next/static/chunks/3-mrrr8udt5tk.js +1 -0
  163. actshield/static/_next/static/chunks/310vm2bl3xxpt.js +31 -0
  164. actshield/static/_next/static/chunks/35mvsv251jx1r.css +3 -0
  165. actshield/static/_next/static/chunks/370vf0oetlsx9.js +1 -0
  166. actshield/static/_next/static/chunks/3e-2m72tyo556.js +1 -0
  167. actshield/static/_next/static/chunks/3fntmmi971322.js +1 -0
  168. actshield/static/_next/static/chunks/3fzw-g0hycl2c.js +1 -0
  169. actshield/static/_next/static/chunks/3lopq3lhmcjxg.js +129 -0
  170. actshield/static/_next/static/chunks/3mpe2jejel0v2.css +1 -0
  171. actshield/static/_next/static/chunks/3t8o4f2lzr2sf.js +1 -0
  172. actshield/static/_next/static/chunks/3y-v1neyllne5.js +1 -0
  173. actshield/static/_next/static/chunks/43oiwy8mx6cs1.js +1 -0
  174. actshield/static/_next/static/chunks/turbopack-23wzuebcy_lxm.js +1 -0
  175. actshield/static/_next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
  176. actshield/static/_next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
  177. actshield/static/_next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
  178. actshield/static/_next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
  179. actshield/static/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
  180. actshield/static/_next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
  181. actshield/static/_next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
  182. actshield/static/_next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  183. actshield/static/_not-found/__next._full.txt +17 -0
  184. actshield/static/_not-found/__next._not-found/__PAGE__.txt +23 -0
  185. actshield/static/_not-found/__next._tree.txt +3 -0
  186. actshield/static/_not-found.html +1 -0
  187. actshield/static/_not-found.txt +17 -0
  188. actshield/static/access/matrix/__next._full.txt +24 -0
  189. actshield/static/access/matrix/__next._tree.txt +4 -0
  190. actshield/static/access/matrix/__next.access/matrix/__PAGE__.txt +30 -0
  191. actshield/static/access/matrix.html +1 -0
  192. actshield/static/access/matrix.txt +24 -0
  193. actshield/static/activity/__next._full.txt +22 -0
  194. actshield/static/activity/__next._tree.txt +4 -0
  195. actshield/static/activity/__next.activity/__PAGE__.txt +27 -0
  196. actshield/static/activity.html +1 -0
  197. actshield/static/activity.txt +22 -0
  198. actshield/static/agents/__next._full.txt +22 -0
  199. actshield/static/agents/__next._tree.txt +4 -0
  200. actshield/static/agents/__next.agents/__PAGE__.txt +27 -0
  201. actshield/static/agents.html +1 -0
  202. actshield/static/agents.txt +22 -0
  203. actshield/static/ai-secura/__next._full.txt +22 -0
  204. actshield/static/ai-secura/__next._tree.txt +4 -0
  205. actshield/static/ai-secura/__next.ai-secura/__PAGE__.txt +27 -0
  206. actshield/static/ai-secura.html +1 -0
  207. actshield/static/ai-secura.txt +22 -0
  208. actshield/static/api/__next._full.txt +22 -0
  209. actshield/static/api/__next._tree.txt +4 -0
  210. actshield/static/api/__next.api/__PAGE__.txt +27 -0
  211. actshield/static/api.html +15 -0
  212. actshield/static/api.txt +22 -0
  213. actshield/static/apiris/__next._full.txt +22 -0
  214. actshield/static/apiris/__next._tree.txt +4 -0
  215. actshield/static/apiris/__next.apiris/__PAGE__.txt +27 -0
  216. actshield/static/apiris.html +1 -0
  217. actshield/static/apiris.txt +22 -0
  218. actshield/static/attack-graph/__next._full.txt +23 -0
  219. actshield/static/attack-graph/__next._tree.txt +5 -0
  220. actshield/static/attack-graph/__next.attack-graph/__PAGE__.txt +28 -0
  221. actshield/static/attack-graph.html +2 -0
  222. actshield/static/attack-graph.txt +23 -0
  223. actshield/static/campaigns/__next._full.txt +22 -0
  224. actshield/static/campaigns/__next._tree.txt +4 -0
  225. actshield/static/campaigns/__next.campaigns/__PAGE__.txt +27 -0
  226. actshield/static/campaigns.html +1 -0
  227. actshield/static/campaigns.txt +22 -0
  228. actshield/static/context/__next._full.txt +22 -0
  229. actshield/static/context/__next._tree.txt +4 -0
  230. actshield/static/context/__next.context/__PAGE__.txt +27 -0
  231. actshield/static/context.html +1 -0
  232. actshield/static/context.txt +22 -0
  233. actshield/static/dashboard/__next._full.txt +22 -0
  234. actshield/static/dashboard/__next._tree.txt +4 -0
  235. actshield/static/dashboard/__next.dashboard/__PAGE__.txt +27 -0
  236. actshield/static/dashboard.html +1 -0
  237. actshield/static/dashboard.txt +22 -0
  238. actshield/static/delegations/__next._full.txt +22 -0
  239. actshield/static/delegations/__next._tree.txt +4 -0
  240. actshield/static/delegations/__next.delegations/__PAGE__.txt +27 -0
  241. actshield/static/delegations.html +1 -0
  242. actshield/static/delegations.txt +22 -0
  243. actshield/static/demo/__next._full.txt +22 -0
  244. actshield/static/demo/__next._tree.txt +4 -0
  245. actshield/static/demo/__next.demo/__PAGE__.txt +27 -0
  246. actshield/static/demo.html +1 -0
  247. actshield/static/demo.txt +22 -0
  248. actshield/static/drift/__next._full.txt +22 -0
  249. actshield/static/drift/__next._tree.txt +4 -0
  250. actshield/static/drift/__next.drift/__PAGE__.txt +27 -0
  251. actshield/static/drift.html +1 -0
  252. actshield/static/drift.txt +22 -0
  253. actshield/static/favicon.ico +0 -0
  254. actshield/static/file.svg +1 -0
  255. actshield/static/forensics/__next._full.txt +22 -0
  256. actshield/static/forensics/__next._tree.txt +4 -0
  257. actshield/static/forensics/__next.forensics/__PAGE__.txt +27 -0
  258. actshield/static/forensics.html +1 -0
  259. actshield/static/forensics.txt +22 -0
  260. actshield/static/globe.svg +1 -0
  261. actshield/static/incidents/__next._full.txt +22 -0
  262. actshield/static/incidents/__next._tree.txt +4 -0
  263. actshield/static/incidents/__next.incidents/__PAGE__.txt +27 -0
  264. actshield/static/incidents.html +1 -0
  265. actshield/static/incidents.txt +22 -0
  266. actshield/static/index.html +3 -0
  267. actshield/static/index.txt +20 -0
  268. actshield/static/logo.png +0 -0
  269. actshield/static/metrics/__next._full.txt +22 -0
  270. actshield/static/metrics/__next._tree.txt +4 -0
  271. actshield/static/metrics/__next.metrics/__PAGE__.txt +27 -0
  272. actshield/static/metrics.html +1 -0
  273. actshield/static/metrics.txt +22 -0
  274. actshield/static/next.svg +1 -0
  275. actshield/static/offensive/__next._full.txt +22 -0
  276. actshield/static/offensive/__next._tree.txt +4 -0
  277. actshield/static/offensive/__next.offensive/__PAGE__.txt +27 -0
  278. actshield/static/offensive.html +1 -0
  279. actshield/static/offensive.txt +22 -0
  280. actshield/static/policies/__next._full.txt +22 -0
  281. actshield/static/policies/__next._tree.txt +4 -0
  282. actshield/static/policies/__next.policies/__PAGE__.txt +27 -0
  283. actshield/static/policies.html +1 -0
  284. actshield/static/policies.txt +22 -0
  285. actshield/static/posture/__next._full.txt +22 -0
  286. actshield/static/posture/__next._tree.txt +4 -0
  287. actshield/static/posture/__next.posture/__PAGE__.txt +27 -0
  288. actshield/static/posture.html +1 -0
  289. actshield/static/posture.txt +22 -0
  290. actshield/static/regressions/__next._full.txt +22 -0
  291. actshield/static/regressions/__next._tree.txt +4 -0
  292. actshield/static/regressions/__next.regressions/__PAGE__.txt +27 -0
  293. actshield/static/regressions.html +1 -0
  294. actshield/static/regressions.txt +22 -0
  295. actshield/static/reports/__next._full.txt +22 -0
  296. actshield/static/reports/__next._tree.txt +4 -0
  297. actshield/static/reports/__next.reports/__PAGE__.txt +27 -0
  298. actshield/static/reports.html +1 -0
  299. actshield/static/reports.txt +22 -0
  300. actshield/static/resources/__next._full.txt +22 -0
  301. actshield/static/resources/__next._tree.txt +4 -0
  302. actshield/static/resources/__next.resources/__PAGE__.txt +27 -0
  303. actshield/static/resources.html +1 -0
  304. actshield/static/resources.txt +22 -0
  305. actshield/static/security-gates/__next._full.txt +22 -0
  306. actshield/static/security-gates/__next._tree.txt +4 -0
  307. actshield/static/security-gates/__next.security-gates/__PAGE__.txt +27 -0
  308. actshield/static/security-gates.html +1 -0
  309. actshield/static/security-gates.txt +22 -0
  310. actshield/static/settings/__next._full.txt +22 -0
  311. actshield/static/settings/__next._tree.txt +4 -0
  312. actshield/static/settings/__next.settings/__PAGE__.txt +27 -0
  313. actshield/static/settings.html +1 -0
  314. actshield/static/settings.txt +22 -0
  315. actshield/static/tasks/__next._full.txt +22 -0
  316. actshield/static/tasks/__next._tree.txt +4 -0
  317. actshield/static/tasks/__next.tasks/__PAGE__.txt +27 -0
  318. actshield/static/tasks.html +1 -0
  319. actshield/static/tasks.txt +22 -0
  320. actshield/static/threats/__next._full.txt +22 -0
  321. actshield/static/threats/__next._tree.txt +4 -0
  322. actshield/static/threats/__next.threats/__PAGE__.txt +27 -0
  323. actshield/static/threats.html +1 -0
  324. actshield/static/threats.txt +22 -0
  325. actshield/static/tools/__next._full.txt +22 -0
  326. actshield/static/tools/__next._tree.txt +4 -0
  327. actshield/static/tools/__next.tools/__PAGE__.txt +27 -0
  328. actshield/static/tools.html +1 -0
  329. actshield/static/tools.txt +22 -0
  330. actshield/static/traces/__next._full.txt +22 -0
  331. actshield/static/traces/__next._tree.txt +4 -0
  332. actshield/static/traces/__next.traces/__PAGE__.txt +27 -0
  333. actshield/static/traces.html +1 -0
  334. actshield/static/traces.txt +22 -0
  335. actshield/static/vercel.svg +1 -0
  336. actshield/static/window.svg +1 -0
  337. actshield/tasks/__init__.py +6 -0
  338. actshield/tasks/task.py +143 -0
  339. actshield/threatmodel/__init__.py +70 -0
  340. actshield/threatmodel/actors.py +210 -0
  341. actshield/threatmodel/analyzer.py +131 -0
  342. actshield/threatmodel/assets.py +167 -0
  343. actshield/threatmodel/boundaries.py +165 -0
  344. actshield/threatmodel/exporters.py +49 -0
  345. actshield/threatmodel/mitigations.py +209 -0
  346. actshield/threatmodel/models.py +80 -0
  347. actshield/threatmodel/report.py +341 -0
  348. actshield/threatmodel/scenarios.py +212 -0
  349. actshield/threatmodel/scoring.py +66 -0
  350. actshield/threatmodel/threats.py +387 -0
  351. actshield/tools/__init__.py +20 -0
  352. actshield/tools/interceptor.py +256 -0
  353. actshield/tools/tool.py +71 -0
  354. actshield/tracing/__init__.py +38 -0
  355. actshield/tracing/correlation.py +173 -0
  356. actshield/tracing/events.py +75 -0
  357. actshield/tracing/tracer.py +305 -0
  358. actshield/watch.py +129 -0
  359. actshield-0.9.0.dist-info/METADATA +57 -0
  360. actshield-0.9.0.dist-info/RECORD +366 -0
  361. actshield-0.9.0.dist-info/WHEEL +5 -0
  362. actshield-0.9.0.dist-info/entry_points.txt +4 -0
  363. actshield-0.9.0.dist-info/top_level.txt +2 -0
  364. agentguard/__init__.py +39 -0
  365. agentguard/__main__.py +8 -0
  366. agentguard/py.typed +1 -0
@@ -0,0 +1,22 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[39756,["/_next/static/chunks/3fntmmi971322.js"],"default"]
3
+ 3:I[37457,["/_next/static/chunks/3fntmmi971322.js"],"default"]
4
+ 4:I[74952,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js"],"default"]
5
+ 5:I[83026,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js"],"default"]
6
+ 6:I[47257,["/_next/static/chunks/3fntmmi971322.js"],"ClientPageRoot"]
7
+ 7:I[66121,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/11pc_jkl3aggn.js"],"default"]
8
+ a:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"OutletBoundary"]
9
+ b:"$Sreact.suspense"
10
+ d:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"ViewportBoundary"]
11
+ f:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"MetadataBoundary"]
12
+ 11:I[68027,["/_next/static/chunks/3fntmmi971322.js"],"default",1]
13
+ :HL["/_next/static/chunks/35mvsv251jx1r.css","style"]
14
+ :HL["/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
15
+ :HL["https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","style"]
16
+ 0:{"P":null,"c":["","incidents"],"q":"","i":false,"f":[[["",{"children":["incidents",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3fntmmi971322.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"inter_6750fec-module__y2_5qG__variable h-full","children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"min-h-full antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/25uvt4s2f39a4.js","async":true,"nonce":"$undefined"}]],["$","div",null,{"className":"flex h-screen overflow-hidden bg-slate-50 text-slate-900","children":[["$","$L4",null,{}],["$","div",null,{"className":"flex-1 flex flex-col min-w-0 overflow-hidden","children":[["$","$L5",null,{}],["$","main",null,{"className":"flex-1 overflow-y-auto","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/11pc_jkl3aggn.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"Yp_swxN-C9UoCRNOwkYnY"}
17
+ 8:{}
18
+ 9:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
19
+ e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
20
+ 12:I[27201,["/_next/static/chunks/3fntmmi971322.js"],"IconMark"]
21
+ c:null
22
+ 10:[["$","title","0",{"children":"ActShield — Security Control Plane for Autonomous AI"}],["$","meta","1",{"name":"description","content":"ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems."}],["$","meta","2",{"name":"keywords","content":"AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI"}],["$","meta","3",{"name":"robots","content":"noindex, nofollow"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.2vob68tjqpejf.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L12","5",{}]]
@@ -0,0 +1,4 @@
1
+ :HL["/_next/static/chunks/35mvsv251jx1r.css","style"]
2
+ :HL["/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
+ :HL["https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","style"]
4
+ 0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"incidents","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"Yp_swxN-C9UoCRNOwkYnY"}
@@ -0,0 +1,27 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[47257,["/_next/static/chunks/3fntmmi971322.js"],"ClientPageRoot"]
3
+ 3:I[66121,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/11pc_jkl3aggn.js"],"default"]
4
+ 6:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"OutletBoundary"]
5
+ 7:"$Sreact.suspense"
6
+ b:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"ViewportBoundary"]
7
+ c:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"MetadataBoundary"]
8
+ d:I[27201,["/_next/static/chunks/3fntmmi971322.js"],"IconMark"]
9
+ f:I[74952,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js"],"default"]
10
+ 10:I[83026,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js"],"default"]
11
+ 11:I[39756,["/_next/static/chunks/3fntmmi971322.js"],"default"]
12
+ 12:I[37457,["/_next/static/chunks/3fntmmi971322.js"],"default"]
13
+ :HL["/_next/static/chunks/35mvsv251jx1r.css","style"]
14
+ :HL["https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","style"]
15
+ a:X
16
+ 0:{"buildId":"Yp_swxN-C9UoCRNOwkYnY","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/11pc_jkl3aggn.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":"$@9","staleTime":"$a","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$Lb",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"ActShield — Security Control Plane for Autonomous AI"}],["$","meta","1",{"name":"description","content":"ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems."}],["$","meta","2",{"name":"keywords","content":"AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI"}],["$","meta","3",{"name":"robots","content":"noindex, nofollow"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.2vob68tjqpejf.ico","sizes":"256x256","type":"image/x-icon"}],["$","$Ld","5",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@e","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/25uvt4s2f39a4.js","async":true}]],["$","div",null,{"className":"flex h-screen overflow-hidden bg-slate-50 text-slate-900","children":[["$","$Lf",null,{}],["$","div",null,{"className":"flex-1 flex flex-col min-w-0 overflow-hidden","children":[["$","$L10",null,{}],["$","main",null,{"className":"flex-1 overflow-y-auto","children":["$","$L11",null,{"parallelRouterKey":"children","template":["$","$L12",null,{}]}]}]]}]]}]]}],"isPartial":"$@13","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/3fntmmi971322.js","async":true}]],["$","html",null,{"lang":"en","className":"inter_6750fec-module__y2_5qG__variable h-full","children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"min-h-full antialiased","children":["$","$L11",null,{"parallelRouterKey":"children","template":["$","$L12",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]]}],"isPartial":"$@14","staleTime":"$a","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@15","rootVaryParams":null,"needsRuntimeRequest":"$@16"}
17
+ 4:{}
18
+ 5:"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params"
19
+ 8:null
20
+ a:300
21
+ 16:true
22
+ a:C
23
+ 15:0
24
+ e:"$undefined"
25
+ 13:"$undefined"
26
+ 14:"$undefined"
27
+ 9:"$undefined"
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html lang="en" class="inter_6750fec-module__y2_5qG__variable h-full"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/35mvsv251jx1r.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/310vm2bl3xxpt.js"/><script src="/_next/static/chunks/19mx3mg6lkumu.js" async=""></script><script src="/_next/static/chunks/27t_qfc-3_lzs.js" async=""></script><script src="/_next/static/chunks/1h43jcb90-m2r.js" async=""></script><script src="/_next/static/chunks/turbopack-23wzuebcy_lxm.js" async=""></script><script src="/_next/static/chunks/3fntmmi971322.js" async=""></script><script src="/_next/static/chunks/25uvt4s2f39a4.js" async=""></script><script src="/_next/static/chunks/11pc_jkl3aggn.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&amp;display=swap" as="style"/><title>ActShield — Security Control Plane for Autonomous AI</title><meta name="description" content="ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems."/><meta name="keywords" content="AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI"/><meta name="robots" content="noindex, nofollow"/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><meta name="next-size-adjust" content=""/><link rel="preconnect" href="https://fonts.googleapis.com"/><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&amp;display=swap" rel="stylesheet"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="min-h-full antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen overflow-hidden bg-slate-50 text-slate-900"><aside class="w-64 min-h-screen bg-white border-r border-slate-200 flex flex-col flex-shrink-0 select-none"><div class="h-14 px-5 border-b border-slate-200 flex items-center justify-between"><a class="flex items-center gap-2.5" href="/dashboard"><div class="w-7 h-7 rounded-md bg-slate-900 text-white flex items-center justify-center font-bold text-xs shadow-xs">🛡️</div><div><div class="text-sm font-bold text-slate-900 tracking-tight leading-none">ActShield</div><div class="text-[10px] text-slate-500 font-medium tracking-wider mt-0.5">SECURITY CONTROL PLANE</div></div></a></div><nav class="flex-1 overflow-y-auto py-3 px-3 space-y-4"><div><button type="button" class="w-full flex items-center justify-between px-2 py-1 text-[10px] font-bold tracking-wider text-slate-400 hover:text-slate-600 uppercase"><span>OVERVIEW</span><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div class="mt-1 space-y-0.5"><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/dashboard"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield text-slate-400" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg><span class="truncate">Command Center</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/activity"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity text-slate-400" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="truncate">Live Activity</span></div></a></div></div><div><button type="button" class="w-full flex items-center justify-between px-2 py-1 text-[10px] font-bold tracking-wider text-slate-400 hover:text-slate-600 uppercase"><span>OPERATIONS</span><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div class="mt-1 space-y-0.5"><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/agents"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-slate-400" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="truncate">Agents</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/tasks"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-check-big lucide-check-square text-slate-400" aria-hidden="true"><path d="M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344"></path><path d="m9 11 3 3L22 4"></path></svg><span class="truncate">Tasks</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/delegations"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-share-2 text-slate-400" aria-hidden="true"><circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" x2="15.42" y1="13.51" y2="17.49"></line><line x1="15.41" x2="8.59" y1="6.51" y2="10.49"></line></svg><span class="truncate">Delegations</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/resources"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database text-slate-400" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg><span class="truncate">Resources</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/access/matrix"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grid-3x3 lucide-grid lucide-grid-3-x-3 text-slate-400" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M3 9h18"></path><path d="M3 15h18"></path><path d="M9 3v18"></path><path d="M15 3v18"></path></svg><span class="truncate">Access Matrix</span></div></a></div></div><div><button type="button" class="w-full flex items-center justify-between px-2 py-1 text-[10px] font-bold tracking-wider text-slate-400 hover:text-slate-600 uppercase"><span>SECURITY</span><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div class="mt-1 space-y-0.5"><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/context"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text text-slate-400" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><span class="truncate">Context &amp; Provenance</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/tools"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wrench text-slate-400" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"></path></svg><span class="truncate">Tool / MCP Security</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/policies"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock text-slate-400" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg><span class="truncate">Policies</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/threats"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-alert text-slate-400" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="M12 8v4"></path><path d="M12 16h.01"></path></svg><span class="truncate">Threat Model</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/ai-secura"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain text-slate-400" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg><span class="truncate">AI Security</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/apiris"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap text-slate-400" aria-hidden="true"><path d="M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z"></path></svg><span class="truncate">API Intelligence</span></div></a></div></div><div><button type="button" class="w-full flex items-center justify-between px-2 py-1 text-[10px] font-bold tracking-wider text-slate-400 hover:text-slate-600 uppercase"><span>INVESTIGATION</span><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div class="mt-1 space-y-0.5"><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/attack-graph"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-network text-slate-400" aria-hidden="true"><rect x="16" y="16" width="6" height="6" rx="1"></rect><rect x="2" y="16" width="6" height="6" rx="1"></rect><rect x="9" y="2" width="6" height="6" rx="1"></rect><path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"></path><path d="M12 12V8"></path></svg><span class="truncate">Attack Graph</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/traces"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search text-slate-400" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="truncate">Trace Explorer</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors bg-sky-50 text-sky-900 border border-sky-200/80 font-semibold" href="/incidents"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle-alert lucide-alert-triangle text-sky-700" aria-hidden="true"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg><span class="truncate">Incidents</span></div><span class="text-[9px] font-bold px-1.5 py-0.2 rounded bg-slate-100 text-slate-600 border border-slate-200">0 OPEN</span></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/forensics"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-microscope text-slate-400" aria-hidden="true"><path d="M6 18h8"></path><path d="M3 22h18"></path><path d="M14 22a7 7 0 1 0 0-14h-1"></path><path d="M9 14h2"></path><path d="M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z"></path><path d="M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3"></path></svg><span class="truncate">Forensics</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/drift"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-compass text-slate-400" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"></path></svg><span class="truncate">Behavioral Drift</span></div></a></div></div><div><button type="button" class="w-full flex items-center justify-between px-2 py-1 text-[10px] font-bold tracking-wider text-slate-400 hover:text-slate-600 uppercase"><span>VALIDATION</span><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div class="mt-1 space-y-0.5"><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/campaigns"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-swords text-slate-400" aria-hidden="true"><path d="m13 19 6-6"></path><path d="M14.5 17.5 3.586 6.586A2 2 0 013 5.172V3h2.172a2 2 0 011.414.586L17.5 14.5"></path><path d="m14.828 6.172 2.586-2.586A2 2 0 0118.828 3H21v2.172a2 2 0 01-.586 1.414l-2.586 2.586"></path><path d="m16 16 4 4"></path><path d="m19 21 2-2"></path><path d="m5 14 4 4"></path><path d="m5 21-2-2"></path><path d="M7.5 16.5 4 20"></path></svg><span class="truncate">Attack Campaigns</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/offensive"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-flask-conical text-slate-400" aria-hidden="true"><path d="M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2"></path><path d="M6.453 15h11.094"></path><path d="M8.5 2h7"></path></svg><span class="truncate">Offensive Validation</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/regressions"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-ccw text-slate-400" aria-hidden="true"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path></svg><span class="truncate">Regressions</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/security-gates"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock text-slate-400" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg><span class="truncate">Security Gates</span></div><span class="text-[9px] font-bold px-1.5 py-0.2 rounded bg-emerald-50 text-emerald-700 border border-emerald-200">PASS</span></a></div></div><div><button type="button" class="w-full flex items-center justify-between px-2 py-1 text-[10px] font-bold tracking-wider text-slate-400 hover:text-slate-600 uppercase"><span>REPORTING</span><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div class="mt-1 space-y-0.5"><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/posture"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-column lucide-bar-chart-3 text-slate-400" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="M18 17V9"></path><path d="M13 17V5"></path><path d="M8 17v-3"></path></svg><span class="truncate">Security Posture</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/reports"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-chart-column-increasing lucide-file-bar-chart text-slate-400" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M8 18v-2"></path><path d="M12 18v-4"></path><path d="M16 18v-6"></path></svg><span class="truncate">Reports</span></div></a></div></div><div><button type="button" class="w-full flex items-center justify-between px-2 py-1 text-[10px] font-bold tracking-wider text-slate-400 hover:text-slate-600 uppercase"><span>SYSTEM</span><svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button><div class="mt-1 space-y-0.5"><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/settings"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings text-slate-400" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg><span class="truncate">Settings</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/demo"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sliders-vertical lucide-sliders text-slate-400" aria-hidden="true"><path d="M10 8h4"></path><path d="M12 21v-9"></path><path d="M12 8V3"></path><path d="M17 16h4"></path><path d="M19 12V3"></path><path d="M19 21v-5"></path><path d="M3 14h4"></path><path d="M5 10V3"></path><path d="M5 21v-7"></path></svg><span class="truncate">Integrations</span></div></a><a class="flex items-center justify-between px-2.5 py-1.5 rounded-md text-xs font-medium transition-colors text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" href="/api"><div class="flex items-center gap-2.5 min-w-0"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml lucide-code-2 text-slate-400" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg><span class="truncate">API Reference</span></div></a></div></div></nav><div class="p-3 border-t border-slate-200 bg-slate-50/50 space-y-1.5 text-xs text-slate-600"><div class="flex items-center justify-between text-[11px]"><span class="font-medium text-slate-700">Enforcement Mode</span><span class="font-mono font-semibold text-emerald-800 bg-emerald-50 border border-emerald-200 px-1.5 py-0.5 rounded text-[10px]">STRICT</span></div><div class="flex items-center justify-between text-[11px]"><span class="text-slate-500">Engine Invariants</span><span class="text-emerald-700 font-semibold text-[10px]">✓ FAIL-SAFE</span></div></div></aside><div class="flex-1 flex flex-col min-w-0 overflow-hidden"><header class="h-14 bg-white border-b border-slate-200 flex items-center justify-between px-5 sticky top-0 z-40 shadow-xs"><div class="flex items-center gap-2 text-xs text-slate-500 min-w-0"><a class="font-semibold text-slate-800 hover:text-sky-700 transition-colors flex items-center gap-1.5 flex-shrink-0" href="/dashboard"><div class="w-5 h-5 rounded bg-sky-600 text-white flex items-center justify-center font-bold text-[10px]">AS</div><span>ActShield</span></a><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-400 flex-shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><span class="font-medium text-slate-900 truncate capitalize">Incidents</span></div><div class="flex-1 max-w-md mx-6 hidden md:block"><div class="relative"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-3 top-1/2 -translate-y-1/2 text-slate-400" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><input type="text" placeholder="Search agents, traces, incidents, attacks…" class="w-full pl-9 pr-12 py-1.5 text-xs bg-slate-50 border border-slate-200 rounded-md text-slate-800 placeholder:text-slate-400 focus:bg-white focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500 transition-all" value=""/><kbd class="absolute right-2.5 top-1/2 -translate-y-1/2 px-1.5 py-0.5 text-[9px] font-mono text-slate-400 bg-slate-100 border border-slate-200 rounded">⌘K</kbd></div></div><div class="flex items-center gap-3 flex-shrink-0"><button class="flex items-center gap-1.5 px-2.5 py-1 rounded text-[11px] font-mono border transition-colors cursor-pointer bg-slate-50 border-slate-200 text-slate-500" title="FastAPI backend offline — displaying cached/demo data (Click to recheck)"><span class="w-1.5 h-1.5 rounded-full bg-slate-400"></span><span class="font-semibold">CHECKING…</span></button><div class="hidden sm:flex items-center gap-1 px-2 py-0.5 rounded text-[10px] font-semibold tracking-wider bg-slate-100 border border-slate-200 text-slate-700"><span>● LOCAL</span></div><button class="relative p-1.5 rounded text-slate-500 hover:text-slate-800 hover:bg-slate-100 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bell" aria-hidden="true"><path d="M10.268 21a2 2 0 0 0 3.464 0"></path><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"></path></svg><span class="absolute top-1 right-1 w-2 h-2 bg-sky-600 rounded-full"></span></button><div class="h-4 w-px bg-slate-200"></div><div class="flex items-center gap-2 pl-1 text-xs"><div class="w-7 h-7 rounded-full bg-slate-800 text-white flex items-center justify-center font-medium text-[11px]">TA</div><div class="hidden lg:block text-left leading-tight"><div class="font-semibold text-slate-900 text-xs">Tarun</div><div class="text-[10px] text-slate-500">Security Admin</div></div></div></div></header><main class="flex-1 overflow-y-auto"><div class="max-w-[1600px] mx-auto"><div class="mb-6 pb-4 border-b border-slate-200"><nav class="flex items-center gap-1.5 text-xs text-slate-500 mb-2"><a class="hover:text-slate-800 transition-colors" href="/dashboard">Investigation</a><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-400" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg><span class="text-slate-900 font-medium">Incidents</span></nav><div class="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3"><div><div class="flex items-center gap-2.5"><h1 class="text-xl font-semibold text-slate-900 tracking-tight">Security Incidents</h1></div><p class="mt-1 text-xs text-slate-500 max-w-3xl leading-relaxed">7-stage deterministic incident lifecycle state machine (DETECTED → TRIAGED → INVESTIGATING → CONTAINED → REMEDIATED → VALIDATED → CLOSED) with immutable evidence logs.</p></div></div></div><div class="bg-white border border-slate-200 rounded-lg p-3 mb-4 shadow-sm flex flex-col md:flex-row md:items-center justify-between gap-3"><div class="flex flex-wrap items-center gap-2.5 flex-1"><div class="relative flex-1 min-w-[200px] max-w-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search absolute left-2.5 top-1/2 -translate-y-1/2 text-slate-400" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><input type="text" placeholder="Search incidents…" class="w-full pl-8 pr-3 py-1.5 text-xs bg-slate-50 border border-slate-200 rounded-md text-slate-800 placeholder:text-slate-400 focus:bg-white focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500 transition-all" value=""/></div><div class="flex items-center gap-1.5"><select class="text-xs bg-slate-50 border border-slate-200 rounded-md px-2.5 py-1.5 text-slate-700 font-medium focus:bg-white focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500 transition-all cursor-pointer"><option value="ALL" selected="">All Severities</option><option value="CRITICAL">CRITICAL</option><option value="HIGH">HIGH</option><option value="MEDIUM">MEDIUM</option></select></div><div class="flex items-center gap-1.5"><select class="text-xs bg-slate-50 border border-slate-200 rounded-md px-2.5 py-1.5 text-slate-700 font-medium focus:bg-white focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500 transition-all cursor-pointer"><option value="ALL" selected="">All States</option><option value="CONTAINED">CONTAINED</option><option value="CLOSED">CLOSED</option><option value="INVESTIGATING">INVESTIGATING</option></select></div><button class="flex items-center gap-1 text-xs text-slate-500 hover:text-slate-800 px-2 py-1.5 rounded hover:bg-slate-100 transition-colors" title="Reset Filters"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-ccw" aria-hidden="true"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path></svg><span>Reset</span></button></div><div class="flex items-center gap-3 self-end md:self-auto text-xs text-slate-500"><span class="font-mono text-slate-600"><strong class="text-slate-900">3</strong> total</span></div></div><div class="bg-white border border-slate-200 rounded-lg shadow-sm overflow-hidden flex flex-col"><div class="overflow-x-auto"><table class="w-full text-left border-collapse text-xs"><thead><tr class="bg-slate-50 border-b border-slate-200"><th style="width:120px" class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Incident ID</th><th style="width:110px" class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Severity</th><th class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Incident Title</th><th class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Offending Agent</th><th class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Detection Rule</th><th style="width:130px" class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Lifecycle State</th><th style="width:90px" class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Started</th><th style="width:90px" class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-right">Updated</th></tr></thead><tbody class="divide-y divide-slate-100"><tr class="transition-colors bg-sky-50/80 font-medium cursor-pointer"><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-left"><span class="font-semibold text-slate-900 hover:text-sky-700 underline decoration-slate-300">INC-1049</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-orange-50 text-orange-700 border border-orange-200"><span class="w-1.5 h-1.5 rounded-full bg-orange-600"></span>HIGH</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-semibold text-slate-900">Authority Escalation &amp; Privilege Expansion Attempt</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-mono text-[11px] text-slate-700 bg-slate-100 px-1.5 py-0.5 rounded">research-agent-001</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="text-slate-600 font-medium">Monotonic Delegation Invariant</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="px-2 py-0.5 rounded text-[10px] font-bold bg-blue-50 text-blue-800 border border-blue-200">CONTAINED</span></td><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-left"><span class="text-slate-500">15:14:10</span></td><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-right"><span class="text-slate-400">15:17:22</span></td></tr><tr class="transition-colors hover:bg-slate-50/80 cursor-pointer"><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-left"><span class="font-semibold text-slate-900 hover:text-sky-700 underline decoration-slate-300">INC-1048</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-red-50 text-red-700 border border-red-200"><span class="w-1.5 h-1.5 rounded-full bg-red-600"></span>CRITICAL</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-semibold text-slate-900">Indirect Prompt Injection via Untrusted MCP Server</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-mono text-[11px] text-slate-700 bg-slate-100 px-1.5 py-0.5 rounded">orchestrator-001</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="text-slate-600 font-medium">Taint Sink Enforcement Gate</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="px-2 py-0.5 rounded text-[10px] font-bold bg-emerald-50 text-emerald-800 border border-emerald-200">CLOSED</span></td><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-left"><span class="text-slate-500">14:22:05</span></td><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-right"><span class="text-slate-400">14:45:00</span></td></tr><tr class="transition-colors hover:bg-slate-50/80 cursor-pointer"><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-left"><span class="font-semibold text-slate-900 hover:text-sky-700 underline decoration-slate-300">INC-1047</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="inline-flex items-center gap-1.5 px-2 py-0.5 rounded text-[11px] font-semibold bg-amber-50 text-amber-700 border border-amber-200"><span class="w-1.5 h-1.5 rounded-full bg-amber-600"></span>MEDIUM</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-semibold text-slate-900">Taint Lineage Sanitization Anomaly</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-mono text-[11px] text-slate-700 bg-slate-100 px-1.5 py-0.5 rounded">analysis-agent-001</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="text-slate-600 font-medium">Context Sanitization Tracker</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="px-2 py-0.5 rounded text-[10px] font-bold bg-emerald-50 text-emerald-800 border border-emerald-200">CLOSED</span></td><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-left"><span class="text-slate-500">11:05:30</span></td><td class="px-3.5 py-2.5 text-slate-700 font-mono text-[11px] text-right"><span class="text-slate-400">11:30:15</span></td></tr></tbody></table></div></div></div><!--$--><!--/$--></main></div></div><script src="/_next/static/chunks/310vm2bl3xxpt.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n4:I[74952,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/25uvt4s2f39a4.js\"],\"default\"]\n5:I[83026,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/25uvt4s2f39a4.js\"],\"default\"]\n6:I[47257,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ClientPageRoot\"]\n7:I[66121,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/25uvt4s2f39a4.js\",\"/_next/static/chunks/11pc_jkl3aggn.js\"],\"default\"]\na:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ViewportBoundary\"]\nf:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"MetadataBoundary\"]\n11:I[68027,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/35mvsv251jx1r.css\",\"style\"]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500\u0026display=swap\",\"style\"]\n0:{\"P\":null,\"c\":[\"\",\"incidents\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"incidents\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/35mvsv251jx1r.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3fntmmi971322.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"inter_6750fec-module__y2_5qG__variable h-full\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"className\":\"min-h-full antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/25uvt4s2f39a4.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"div\",null,{\"className\":\"flex h-screen overflow-hidden bg-slate-50 text-slate-900\",\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex-1 flex flex-col min-w-0 overflow-hidden\",\"children\":[[\"$\",\"$L5\",null,{}],[\"$\",\"main\",null,{\"className\":\"flex-1 overflow-y-auto\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"Component\":\"$7\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@8\",\"$@9\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/11pc_jkl3aggn.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]]}],{},null,false,null]},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L10\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/35mvsv251jx1r.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Yp_swxN-C9UoCRNOwkYnY\"}\n8:{}\n9:\"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n12:I[27201,[\"/_next/static/chunks/3fntmmi971322.js\"],\"IconMark\"]\nc:null\n10:[[\"$\",\"title\",\"0\",{\"children\":\"ActShield — Security Control Plane for Autonomous AI\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI\"}],[\"$\",\"meta\",\"3\",{\"name\":\"robots\",\"content\":\"noindex, nofollow\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L12\",\"5\",{}]]\n"])</script></body></html>
@@ -0,0 +1,22 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[39756,["/_next/static/chunks/3fntmmi971322.js"],"default"]
3
+ 3:I[37457,["/_next/static/chunks/3fntmmi971322.js"],"default"]
4
+ 4:I[74952,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js"],"default"]
5
+ 5:I[83026,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js"],"default"]
6
+ 6:I[47257,["/_next/static/chunks/3fntmmi971322.js"],"ClientPageRoot"]
7
+ 7:I[66121,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/11pc_jkl3aggn.js"],"default"]
8
+ a:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"OutletBoundary"]
9
+ b:"$Sreact.suspense"
10
+ d:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"ViewportBoundary"]
11
+ f:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"MetadataBoundary"]
12
+ 11:I[68027,["/_next/static/chunks/3fntmmi971322.js"],"default",1]
13
+ :HL["/_next/static/chunks/35mvsv251jx1r.css","style"]
14
+ :HL["/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
15
+ :HL["https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","style"]
16
+ 0:{"P":null,"c":["","incidents"],"q":"","i":false,"f":[[["",{"children":["incidents",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3fntmmi971322.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"inter_6750fec-module__y2_5qG__variable h-full","children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"min-h-full antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/25uvt4s2f39a4.js","async":true,"nonce":"$undefined"}]],["$","div",null,{"className":"flex h-screen overflow-hidden bg-slate-50 text-slate-900","children":[["$","$L4",null,{}],["$","div",null,{"className":"flex-1 flex flex-col min-w-0 overflow-hidden","children":[["$","$L5",null,{}],["$","main",null,{"className":"flex-1 overflow-y-auto","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/11pc_jkl3aggn.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"Yp_swxN-C9UoCRNOwkYnY"}
17
+ 8:{}
18
+ 9:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
19
+ e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
20
+ 12:I[27201,["/_next/static/chunks/3fntmmi971322.js"],"IconMark"]
21
+ c:null
22
+ 10:[["$","title","0",{"children":"ActShield — Security Control Plane for Autonomous AI"}],["$","meta","1",{"name":"description","content":"ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems."}],["$","meta","2",{"name":"keywords","content":"AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI"}],["$","meta","3",{"name":"robots","content":"noindex, nofollow"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.2vob68tjqpejf.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L12","5",{}]]
@@ -0,0 +1,3 @@
1
+ <!DOCTYPE html><html lang="en" class="inter_6750fec-module__y2_5qG__variable h-full"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/35mvsv251jx1r.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/310vm2bl3xxpt.js"/><script src="/_next/static/chunks/19mx3mg6lkumu.js" async=""></script><script src="/_next/static/chunks/27t_qfc-3_lzs.js" async=""></script><script src="/_next/static/chunks/1h43jcb90-m2r.js" async=""></script><script src="/_next/static/chunks/turbopack-23wzuebcy_lxm.js" async=""></script><script src="/_next/static/chunks/3fntmmi971322.js" async=""></script><script src="/_next/static/chunks/28bkmy8mez7gm.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&amp;display=swap" as="style"/><title>ActShield — Security Control Plane for Autonomous AI</title><meta name="description" content="ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems."/><meta name="keywords" content="AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI"/><meta name="robots" content="noindex, nofollow"/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><meta name="next-size-adjust" content=""/><link rel="preconnect" href="https://fonts.googleapis.com"/><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&amp;display=swap" rel="stylesheet"/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="min-h-full antialiased"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen bg-white text-slate-900" style="font-family:Inter, system-ui, sans-serif"><header class="sticky top-0 z-50 bg-white border-b border-slate-200"><div class="max-w-screen-xl mx-auto px-6 h-[52px] flex items-center justify-between gap-4"><div class="flex items-center gap-8 min-w-0"><a class="flex items-center gap-2 shrink-0" href="/"><div class="w-6 h-6 rounded bg-blue-600 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield text-white" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></div><span class="text-sm font-bold tracking-tight">AgentGuard</span></a><nav class="hidden lg:flex items-center gap-0.5 text-[13px] font-medium text-slate-600 min-w-0 overflow-hidden"><a class="whitespace-nowrap px-2.5 py-1.5 rounded hover:bg-slate-100 hover:text-slate-900 transition-colors" href="/dashboard">Overview</a><a class="whitespace-nowrap px-2.5 py-1.5 rounded hover:bg-slate-100 hover:text-slate-900 transition-colors" href="/policies">Security</a><a class="whitespace-nowrap px-2.5 py-1.5 rounded hover:bg-slate-100 hover:text-slate-900 transition-colors" href="/threats">Threat Model</a><a class="whitespace-nowrap px-2.5 py-1.5 rounded hover:bg-slate-100 hover:text-slate-900 transition-colors" href="/agents">Agents</a><a class="whitespace-nowrap px-2.5 py-1.5 rounded hover:bg-slate-100 hover:text-slate-900 transition-colors" href="/incidents">Incidents</a><a class="whitespace-nowrap px-2.5 py-1.5 rounded hover:bg-slate-100 hover:text-slate-900 transition-colors" href="/forensics">Forensics</a><a class="whitespace-nowrap px-2.5 py-1.5 rounded hover:bg-slate-100 hover:text-slate-900 transition-colors" href="/campaigns">Offensive Validation</a><a class="whitespace-nowrap px-2.5 py-1.5 rounded hover:bg-slate-100 hover:text-slate-900 transition-colors" href="/posture">Posture</a></nav></div><div class="flex items-center gap-2 shrink-0"><button class="hidden md:flex items-center gap-2 h-8 px-3 rounded border border-slate-200 bg-slate-50 hover:bg-white hover:border-slate-300 text-xs text-slate-500 hover:text-slate-800 transition-colors w-48"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="flex-1 text-left">Search…</span><kbd class="text-[10px] font-mono bg-white border border-slate-200 text-slate-400 px-1 rounded">⌘K</kbd></button><a class="hidden md:block h-8 px-3 rounded text-[13px] font-medium text-slate-600 hover:text-slate-900 hover:bg-slate-100 transition-colors leading-8" href="/api">Documentation</a><a class="hidden md:block h-8 px-3 rounded text-[13px] font-medium text-slate-600 hover:text-slate-900 hover:bg-slate-100 transition-colors leading-8" href="/offensive">CLI</a><a class="h-8 px-4 rounded bg-blue-600 hover:bg-blue-700 text-white text-[13px] font-semibold transition-colors leading-8 flex items-center gap-1.5" href="/dashboard">Dashboard <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><div class="hidden sm:flex items-center gap-1.5 h-8 px-2.5 rounded border border-slate-200 bg-slate-50 text-[11px] font-mono text-slate-600"><span class="w-1.5 h-1.5 rounded-full bg-emerald-500 shrink-0"></span>Production: Strict</div></div></div></header><section class="border-b border-slate-200"><div class="max-w-screen-xl mx-auto px-6"><div class="grid grid-cols-1 lg:grid-cols-[1fr_400px] gap-0 divide-y lg:divide-y-0 lg:divide-x divide-slate-200"><div class="py-14 pr-0 lg:pr-12"><div class="inline-flex items-center gap-1.5 text-[11px] font-mono font-semibold uppercase tracking-widest text-blue-700 bg-blue-50 border border-blue-200 px-2.5 py-1 rounded mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg> Enterprise AI Security Control Plane</div><h1 class="text-[44px] font-bold tracking-tight leading-[1.1] text-slate-900">AgentGuard</h1><p class="text-xl font-semibold text-slate-500 mt-2">Security Control Plane for Autonomous AI</p><div class="mt-6 pl-4 border-l-2 border-blue-500 space-y-1.5"><p class="text-sm text-slate-600">Observe agent actions.</p><p class="text-sm text-slate-600">Correlate identity, authority and context.</p><p class="text-sm text-slate-600">Analyze threats.</p><p class="text-sm text-slate-600">Enforce deterministic security boundaries.</p></div><div class="mt-8 flex flex-wrap gap-3"><a class="inline-flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white text-sm font-semibold px-5 py-2.5 rounded transition-colors" href="/dashboard">Open Security Console <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a class="inline-flex items-center gap-2 text-sm font-medium text-slate-700 hover:text-slate-900 px-4 py-2.5 rounded border border-slate-300 hover:border-slate-400 bg-white hover:bg-slate-50 transition-colors" href="/threats">Explore Architecture</a></div><div class="mt-8 pt-6 border-t border-slate-100 flex flex-wrap gap-x-6 gap-y-2 text-[11px] font-mono text-slate-500"><span class="flex items-center gap-1.5 text-emerald-700 font-semibold"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check lucide-check-circle-2" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="m16 9-5.5 5.5L8 12"></path></svg> Deterministic Engine NOMINAL</span><span>Mode: <strong class="text-slate-800">STRICT</strong></span><span>P50: <strong class="text-slate-800">1.4ms</strong></span><span>Bypasses: <strong class="text-slate-800">0</strong></span><span>Tests: <strong class="text-slate-800">243/243</strong></span></div></div><div class="py-10 lg:pl-10 flex flex-col justify-center gap-6"><div class="flex items-center justify-between"><p class="text-[11px] font-semibold uppercase tracking-widest text-slate-400">Live Security Status</p><a class="text-[11px] font-semibold text-blue-700 hover:text-blue-800 flex items-center gap-0.5" href="/dashboard">Command Center <svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div><div class="grid grid-cols-2 gap-3"><a class="border border-slate-200 rounded-lg p-3 hover:border-slate-300 hover:bg-slate-50 transition-all" href="/dashboard"><p class="text-[10px] uppercase font-semibold tracking-wider text-slate-400 mb-1.5 leading-tight">Security Posture</p><p class="text-2xl font-bold font-mono text-emerald-600">98/100</p><p class="text-[10px] text-slate-400 mt-0.5">Grade A+</p></a><a class="border border-slate-200 rounded-lg p-3 hover:border-slate-300 hover:bg-slate-50 transition-all" href="/dashboard"><p class="text-[10px] uppercase font-semibold tracking-wider text-slate-400 mb-1.5 leading-tight">Active Agents</p><p class="text-2xl font-bold font-mono text-slate-800">12</p><p class="text-[10px] text-slate-400 mt-0.5">100% bound</p></a><a class="border border-slate-200 rounded-lg p-3 hover:border-slate-300 hover:bg-slate-50 transition-all" href="/dashboard"><p class="text-[10px] uppercase font-semibold tracking-wider text-slate-400 mb-1.5 leading-tight">Active Incidents</p><p class="text-2xl font-bold font-mono text-amber-600">2</p><p class="text-[10px] text-slate-400 mt-0.5">Contained</p></a><a class="border border-slate-200 rounded-lg p-3 hover:border-slate-300 hover:bg-slate-50 transition-all" href="/dashboard"><p class="text-[10px] uppercase font-semibold tracking-wider text-slate-400 mb-1.5 leading-tight">Blocked Actions</p><p class="text-2xl font-bold font-mono text-red-600">17</p><p class="text-[10px] text-slate-400 mt-0.5">Last 24 h</p></a><a class="border border-slate-200 rounded-lg p-3 hover:border-slate-300 hover:bg-slate-50 transition-all" href="/dashboard"><p class="text-[10px] uppercase font-semibold tracking-wider text-slate-400 mb-1.5 leading-tight">Unauthorized Executions</p><p class="text-2xl font-bold font-mono text-emerald-600">0</p><p class="text-[10px] text-slate-400 mt-0.5">Zero leaks</p></a><a class="border border-slate-200 rounded-lg p-3 hover:border-slate-300 hover:bg-slate-50 transition-all" href="/dashboard"><p class="text-[10px] uppercase font-semibold tracking-wider text-slate-400 mb-1.5 leading-tight">Open Regressions</p><p class="text-2xl font-bold font-mono text-emerald-600">0</p><p class="text-[10px] text-slate-400 mt-0.5">All verified</p></a></div><div class="border border-slate-200 rounded-lg p-3"><p class="text-[10px] font-semibold uppercase tracking-widest text-slate-400 mb-2">Enforcement Pipeline</p><div class="flex items-center gap-1.5 flex-wrap"><span class="text-[11px] font-mono font-bold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded">OBSERVE</span><span class="text-slate-300 text-xs">→</span><span class="text-[11px] font-mono font-bold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded">CORRELATE</span><span class="text-slate-300 text-xs">→</span><span class="text-[11px] font-mono font-bold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded">ANALYZE</span><span class="text-slate-300 text-xs">→</span><span class="text-[11px] font-mono font-bold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded">ENFORCE</span></div><p class="text-[10px] text-slate-400 mt-2">Every action intercepted before execution</p></div><div class="flex flex-wrap gap-2"><span class="text-[10px] font-mono font-bold px-2 py-0.5 rounded border bg-emerald-50 text-emerald-700 border-emerald-200">ALLOW</span><span class="text-[10px] font-mono font-bold px-2 py-0.5 rounded border bg-blue-50 text-blue-700 border-blue-200">MONITOR</span><span class="text-[10px] font-mono font-bold px-2 py-0.5 rounded border bg-amber-50 text-amber-700 border-amber-200">HITL</span><span class="text-[10px] font-mono font-bold px-2 py-0.5 rounded border bg-orange-50 text-orange-700 border-orange-200">QUARANTINE</span><span class="text-[10px] font-mono font-bold px-2 py-0.5 rounded border bg-red-50 text-red-700 border-red-200">BLOCK</span><span class="text-[10px] font-mono font-bold px-2 py-0.5 rounded border bg-red-50 text-red-700 border-red-200">REVOKE</span></div></div></div></div></section><section class="border-b border-slate-200 py-14"><div class="max-w-screen-xl mx-auto px-6"><div class="flex items-end justify-between mb-6"><div><p class="text-[11px] font-semibold uppercase tracking-widest text-blue-700 mb-1">Security Capabilities</p><h2 class="text-2xl font-bold tracking-tight text-slate-900">Comprehensive Security Governance for Agentic Systems</h2></div><a class="hidden md:flex items-center gap-1 text-[13px] font-semibold text-blue-700 hover:text-blue-800" href="/dashboard">Full Console <svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div><div class="grid grid-cols-1 md:grid-cols-2 gap-px bg-slate-200 border border-slate-200 rounded-lg overflow-hidden"><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/agents"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">01</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">Agent Security</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Protect</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">Identity, delegation, authority bounds and access control.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/context"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">02</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">Context Security</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Protect</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">Provenance tracking, trust classification and taint propagation.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/tools"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">03</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">MCP &amp; Tool Security</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Protect</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">Monitor and control external tools and MCP server interactions.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/threats"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">04</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">Threat Modeling</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Protect</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">Map assets, trust boundaries, attack paths and active threats.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/ai-secura"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">05</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">AI Security</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Analyze</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">AI Secura semantic intent reasoning with pluggable LLM analysis.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/apiris"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">06</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">API Intelligence</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Analyze</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">APIRIS payload risk scoring, schema validation and egress control.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/forensics"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">07</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">Forensics</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Investigate</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">Understand who acted, what executed, why it was allowed, what actually ran.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/campaigns"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">08</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">Offensive Validation</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Validate</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">Attack your own security boundary. Discover policy bypasses in local sandboxes.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="group bg-white flex items-start gap-4 px-5 py-4 hover:bg-slate-50 transition-colors" href="/security-gates"><span class="text-[11px] font-mono font-bold text-slate-400 tabular-nums mt-0.5 shrink-0 w-5">09</span><div class="flex-1 min-w-0"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-bold text-slate-900 group-hover:text-blue-700 transition-colors">Security Gates</h3><span class="text-[10px] font-semibold text-slate-400 bg-slate-100 border border-slate-200 px-1.5 py-0.5 rounded shrink-0">Validate</span></div><p class="text-xs text-slate-500 mt-0.5 leading-relaxed">Continuously validate security invariants before each deployment.</p></div><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 mt-0.5 shrink-0 group-hover:translate-x-0.5 transition-all" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div></div></section><section class="bg-slate-50 border-b border-slate-200 py-14"><div class="max-w-screen-xl mx-auto px-6"><div class="grid grid-cols-1 lg:grid-cols-2 gap-12"><div><p class="text-[11px] font-semibold uppercase tracking-widest text-blue-700 mb-1">Architecture Workflow</p><h2 class="text-xl font-bold tracking-tight text-slate-900 mb-5">How AgentGuard Works</h2><div class="space-y-3"><div class="flex items-start gap-3"><div class="flex flex-col items-center shrink-0"><div class="w-7 h-7 rounded-full border-2 border-blue-200 bg-blue-50 flex items-center justify-center"><span class="text-[10px] font-mono font-bold text-blue-700">01</span></div><div class="w-px h-5 bg-slate-200 my-1"></div></div><div class="pb-4"><p class="text-xs font-bold font-mono text-slate-900 tracking-wider">OBSERVE</p><p class="text-xs text-slate-600 leading-relaxed mt-0.5">Captures tool invocations, prompts, MCP payloads and delegation requests in real-time.</p></div></div><div class="flex items-start gap-3"><div class="flex flex-col items-center shrink-0"><div class="w-7 h-7 rounded-full border-2 border-blue-200 bg-blue-50 flex items-center justify-center"><span class="text-[10px] font-mono font-bold text-blue-700">02</span></div><div class="w-px h-5 bg-slate-200 my-1"></div></div><div class="pb-4"><p class="text-xs font-bold font-mono text-slate-900 tracking-wider">CORRELATE</p><p class="text-xs text-slate-600 leading-relaxed mt-0.5">Binds identity, active delegations, context provenance and taint tags.</p></div></div><div class="flex items-start gap-3"><div class="flex flex-col items-center shrink-0"><div class="w-7 h-7 rounded-full border-2 border-blue-200 bg-blue-50 flex items-center justify-center"><span class="text-[10px] font-mono font-bold text-blue-700">03</span></div><div class="w-px h-5 bg-slate-200 my-1"></div></div><div class="pb-4"><p class="text-xs font-bold font-mono text-slate-900 tracking-wider">ANALYZE</p><p class="text-xs text-slate-600 leading-relaxed mt-0.5">Evaluates APIRIS structural risk and AI Secura semantic intent alignment.</p></div></div><div class="flex items-start gap-3"><div class="flex flex-col items-center shrink-0"><div class="w-7 h-7 rounded-full border-2 border-blue-200 bg-blue-50 flex items-center justify-center"><span class="text-[10px] font-mono font-bold text-blue-700">04</span></div></div><div class="pb-4"><p class="text-xs font-bold font-mono text-slate-900 tracking-wider">ENFORCE</p><p class="text-xs text-slate-600 leading-relaxed mt-0.5">Deterministic policy engine applies mathematical invariants to produce a verifiable verdict.</p></div></div></div><div class="mt-4 p-3 bg-white border border-slate-200 rounded-lg"><p class="text-[10px] font-semibold uppercase tracking-widest text-slate-400 mb-2">Remediation Lifecycle</p><div class="flex flex-wrap items-center gap-1.5"><span class="text-[10px] font-mono font-semibold px-2 py-0.5 rounded border bg-slate-100 text-slate-700 border-slate-200">Evidence</span><span class="text-slate-300 text-xs shrink-0">→</span><span class="text-[10px] font-mono font-semibold px-2 py-0.5 rounded border bg-slate-100 text-slate-700 border-slate-200">Forensics</span><span class="text-slate-300 text-xs shrink-0">→</span><span class="text-[10px] font-mono font-semibold px-2 py-0.5 rounded border bg-red-50 text-red-700 border-red-200">Offensive Validation</span><span class="text-slate-300 text-xs shrink-0">→</span><span class="text-[10px] font-mono font-semibold px-2 py-0.5 rounded border bg-purple-50 text-purple-700 border-purple-200">Regression</span><span class="text-slate-300 text-xs shrink-0">→</span><span class="text-[10px] font-mono font-semibold px-2 py-0.5 rounded border bg-emerald-50 text-emerald-700 border-emerald-200">Secured Replay ✓</span></div></div></div><div><p class="text-[11px] font-semibold uppercase tracking-widest text-blue-700 mb-1">System Architecture</p><h2 class="text-xl font-bold tracking-tight text-slate-900 mb-5">Security Control Plane</h2><div class="space-y-0"><div><div class="px-4 py-3 rounded border text-xs flex items-center justify-between gap-3 bg-white border-slate-200"><div><p class="font-bold text-slate-800">AI Agents</p><p class="text-[11px] font-mono mt-0.5 text-slate-500">LangChain · AutoGen · CrewAI</p></div></div><div class="flex justify-center py-0.5"><span class="text-slate-400 text-xs">↓</span></div></div><div><div class="px-4 py-3 rounded border text-xs flex items-center justify-between gap-3 bg-blue-50 border-blue-200"><div><p class="font-bold text-blue-800">AgentGuard SDK</p><p class="text-[11px] font-mono mt-0.5 text-slate-500">Identity / Authority / Context / Tools</p></div></div><div class="flex justify-center py-0.5"><span class="text-slate-400 text-xs">↓</span></div></div><div><div class="px-4 py-3 rounded border text-xs flex items-center justify-between gap-3 bg-purple-50 border-purple-200"><div><p class="font-bold text-purple-800">AI Secura + APIRIS</p><p class="text-[11px] font-mono mt-0.5 text-slate-500">Semantic Risk + Payload Intelligence</p></div></div><div class="flex justify-center py-0.5"><span class="text-slate-400 text-xs">↓</span></div></div><div><div class="px-4 py-3 rounded border text-xs flex items-center justify-between gap-3 bg-slate-900 border-slate-800 text-white"><div><p class="font-bold text-emerald-400">Deterministic Policy</p><p class="text-[11px] font-mono mt-0.5 text-slate-400">Mathematical Invariants · Zero AI Override</p></div></div><div class="flex justify-center py-0.5"><span class="text-slate-400 text-xs">↓</span></div></div><div><div class="px-4 py-3 rounded border text-xs flex items-center justify-between gap-3 bg-red-50 border-red-200"><div><p class="font-bold text-red-800">Enforcement Decision</p><p class="text-[11px] font-mono mt-0.5 text-slate-500">ALLOW · MONITOR · HITL · QUARANTINE · BLOCK · REVOKE</p></div></div><div class="flex justify-center py-0.5"><span class="text-slate-400 text-xs">↓</span></div></div><div><div class="px-4 py-3 rounded border text-xs flex items-center justify-between gap-3 bg-emerald-50 border-emerald-200"><div><p class="font-bold text-emerald-800">Evidence · Forensics · Incidents · Posture</p><p class="text-[11px] font-mono mt-0.5 text-slate-500">Cryptographic proof chain · Auditable</p></div></div></div></div><p class="text-[11px] text-slate-500 mt-3 font-mono">Invariant: AI Reasons → Policy Enforces. No AI model can override the deterministic engine.</p></div></div></div></section><section class="border-b border-slate-200 py-14"><div class="max-w-screen-xl mx-auto px-6"><div class="mb-6"><p class="text-[11px] font-semibold uppercase tracking-widest text-blue-700 mb-1">Platform Launchpad</p><h2 class="text-2xl font-bold tracking-tight text-slate-900">Choose Where to Go</h2><p class="text-sm text-slate-500 mt-1">Direct entry into all operational, security, validation and analysis workspaces.</p></div><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-0 border border-slate-200 rounded-lg overflow-hidden divide-y sm:divide-y-0 sm:divide-x divide-slate-200"><div class="bg-white"><div class="px-4 py-3 border-b border-slate-100 bg-slate-50 flex items-center justify-between"><span class="text-[11px] font-bold uppercase tracking-widest text-slate-700">Operate</span><span class="text-[10px] font-mono text-slate-400">01</span></div><div class="p-1.5 space-y-0.5"><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/dashboard"><span>Command Center</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/agents"><span>Agents</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/tasks"><span>Tasks</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/tools"><span>Tools &amp; MCP</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/context"><span>Context Provenance</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/delegations"><span>Delegations</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div></div><div class="bg-white"><div class="px-4 py-3 border-b border-slate-100 bg-slate-50 flex items-center justify-between"><span class="text-[11px] font-bold uppercase tracking-widest text-slate-700">Investigate</span><span class="text-[10px] font-mono text-slate-400">02</span></div><div class="p-1.5 space-y-0.5"><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/incidents"><span>Incidents</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/traces"><span>Trace Explorer</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/forensics"><span>Forensics</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/threats"><span>Threat Model</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/activity"><span>Activity Stream</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/attack-graph"><span>Attack Graph</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div></div><div class="bg-white"><div class="px-4 py-3 border-b border-slate-100 bg-slate-50 flex items-center justify-between"><span class="text-[11px] font-bold uppercase tracking-widest text-slate-700">Validate</span><span class="text-[10px] font-mono text-slate-400">03</span></div><div class="p-1.5 space-y-0.5"><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/campaigns"><span>Offensive Campaigns</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/attack-graph"><span>Attack Graph</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/regressions"><span>Regressions</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/security-gates"><span>Security Gates</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/offensive"><span>Strategy Coverage</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/demo"><span>Attack Simulator</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div></div><div class="bg-white"><div class="px-4 py-3 border-b border-slate-100 bg-slate-50 flex items-center justify-between"><span class="text-[11px] font-bold uppercase tracking-widest text-slate-700">Analyze</span><span class="text-[10px] font-mono text-slate-400">04</span></div><div class="p-1.5 space-y-0.5"><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/posture"><span>Security Posture</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/drift"><span>Behavioral Drift</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/ai-secura"><span>AI Secura</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/apiris"><span>APIRIS</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/metrics"><span>Telemetry Metrics</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a><a class="flex items-center justify-between px-3 py-2 rounded text-[13px] text-slate-700 hover:bg-slate-50 hover:text-blue-700 transition-colors group" href="/reports"><span>Compliance Reports</span><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right text-slate-300 group-hover:text-blue-500 shrink-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div></div></div></div></section><section class="bg-white border-b border-slate-200 py-14"><div class="max-w-screen-xl mx-auto px-6"><div class="grid grid-cols-1 lg:grid-cols-[1fr_380px] gap-12 items-start"><div><p class="text-[11px] font-semibold uppercase tracking-widest text-blue-700 mb-1">Developer SDK</p><h2 class="text-2xl font-bold tracking-tight text-slate-900 mb-1">Install AgentGuard</h2><p class="text-sm text-slate-500 mb-6">Zero-dependency core. Install only what you need — extras are optional.</p><div class="space-y-3 mb-6"><div class="bg-slate-950 rounded-lg border border-slate-800 overflow-hidden"><div class="flex items-center justify-between px-4 py-2 border-b border-slate-800"><span class="text-[11px] font-mono text-slate-400">Core (zero deps)</span><button class="flex items-center gap-1 text-[11px] font-mono text-slate-500 hover:text-white transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</button></div><div class="px-4 py-3 font-mono text-sm"><span class="text-slate-500">$ </span><span class="text-emerald-400 font-semibold">pip install agentguard</span></div></div><div class="bg-slate-950 rounded-lg border border-slate-800 overflow-hidden"><div class="flex items-center justify-between px-4 py-2 border-b border-slate-800"><span class="text-[11px] font-mono text-slate-400">Initialize Control Plane</span><button class="flex items-center gap-1 text-[11px] font-mono text-slate-500 hover:text-white transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg>Copy</button></div><pre class="px-4 py-3 font-mono text-sm leading-relaxed"><span class="text-blue-400">from</span><span class="text-slate-300"> agentguard </span><span class="text-blue-400">import</span><span class="text-emerald-300"> AgentGuard<!-- -->
2
+
3
+ </span><span class="text-slate-300">guard = </span><span class="text-yellow-300">AgentGuard</span><span class="text-slate-300">(mode=</span><span class="text-orange-300">&quot;strict&quot;</span><span class="text-slate-300">)</span></pre></div></div><div class="border border-slate-200 rounded-lg overflow-hidden mb-5"><div class="px-4 py-2 bg-slate-50 border-b border-slate-200"><p class="text-[11px] font-mono font-semibold text-slate-600">Optional Extras — install only what you need</p></div><div class="divide-y divide-slate-100"><div class="flex items-center gap-4 px-4 py-2.5"><code class="text-[11px] font-mono font-semibold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded shrink-0">[server]</code><span class="text-xs text-slate-500 flex-1">FastAPI + Uvicorn backend server</span><code class="hidden md:block text-[11px] font-mono text-slate-500">pip install agentguard[server]</code></div><div class="flex items-center gap-4 px-4 py-2.5"><code class="text-[11px] font-mono font-semibold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded shrink-0">[dashboard]</code><span class="text-xs text-slate-500 flex-1">Full dashboard + backend</span><code class="hidden md:block text-[11px] font-mono text-slate-500">pip install agentguard[dashboard]</code></div><div class="flex items-center gap-4 px-4 py-2.5"><code class="text-[11px] font-mono font-semibold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded shrink-0">[openai]</code><span class="text-xs text-slate-500 flex-1">OpenAI LLM provider integration</span><code class="hidden md:block text-[11px] font-mono text-slate-500">pip install agentguard[openai]</code></div><div class="flex items-center gap-4 px-4 py-2.5"><code class="text-[11px] font-mono font-semibold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded shrink-0">[gemini]</code><span class="text-xs text-slate-500 flex-1">Google Gemini integration</span><code class="hidden md:block text-[11px] font-mono text-slate-500">pip install agentguard[gemini]</code></div><div class="flex items-center gap-4 px-4 py-2.5"><code class="text-[11px] font-mono font-semibold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded shrink-0">[anthropic]</code><span class="text-xs text-slate-500 flex-1">Anthropic Claude integration</span><code class="hidden md:block text-[11px] font-mono text-slate-500">pip install agentguard[anthropic]</code></div><div class="flex items-center gap-4 px-4 py-2.5"><code class="text-[11px] font-mono font-semibold text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded shrink-0">[all]</code><span class="text-xs text-slate-500 flex-1">All providers and server components</span><code class="hidden md:block text-[11px] font-mono text-slate-500">pip install agentguard[all]</code></div></div></div><div class="flex flex-wrap items-center gap-3"><a class="inline-flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white text-sm font-semibold px-4 py-2.5 rounded transition-colors" href="/api">Get Started <svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a class="text-sm font-medium text-slate-600 hover:text-slate-900" href="/api">Read the SDK docs →</a></div></div><div class="space-y-3"><p class="text-[11px] font-semibold uppercase tracking-widest text-slate-400 mb-4">Also Available</p><div class="border border-slate-200 rounded-lg p-4 bg-white flex flex-col gap-3"><div class="flex items-center justify-between"><span class="text-[11px] font-mono font-bold text-slate-700">CLI</span><code class="text-[11px] font-mono text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded">agentguard</code></div><p class="text-xs text-slate-500 leading-relaxed">Run attack campaigns, inspect mutations and test gate criteria from terminal.</p><a class="text-xs font-semibold text-blue-700 hover:text-blue-800 flex items-center gap-1" href="/offensive">CLI Guide<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div><div class="border border-slate-200 rounded-lg p-4 bg-white flex flex-col gap-3"><div class="flex items-center justify-between"><span class="text-[11px] font-mono font-bold text-slate-700">Dashboard</span><code class="text-[11px] font-mono text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded">agentguard serve</code></div><p class="text-xs text-slate-500 leading-relaxed">Launch the enterprise console and FastAPI backend on ports 3000 and 8000.</p><a class="text-xs font-semibold text-blue-700 hover:text-blue-800 flex items-center gap-1" href="/dashboard">Open Console<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div><div class="border border-slate-200 rounded-lg p-4 bg-white flex flex-col gap-3"><div class="flex items-center justify-between"><span class="text-[11px] font-mono font-bold text-slate-700">REST API</span><code class="text-[11px] font-mono text-blue-700 bg-blue-50 border border-blue-200 px-2 py-0.5 rounded">/api/v1/</code></div><p class="text-xs text-slate-500 leading-relaxed">Full OpenAPI spec for streaming events, evaluating actions and querying evidence.</p><a class="text-xs font-semibold text-blue-700 hover:text-blue-800 flex items-center gap-1" href="/api">API Reference<!-- --> <svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></a></div></div></div></div></section><section class="bg-slate-900 py-12"><div class="max-w-screen-xl mx-auto px-6 flex flex-col sm:flex-row items-center justify-between gap-6"><div><p class="text-lg font-bold text-white tracking-tight">AgentGuard</p><p class="text-sm text-slate-400 mt-1 max-w-md">Security control for AI systems that can act.</p></div><div class="flex flex-wrap items-center gap-3 shrink-0"><a class="inline-flex items-center gap-2 bg-blue-600 hover:bg-blue-500 text-white text-sm font-semibold px-5 py-2.5 rounded transition-colors" href="/dashboard">Open Security Console <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a class="inline-flex items-center gap-2 bg-slate-800 hover:bg-slate-700 text-slate-200 text-sm font-medium px-4 py-2.5 rounded border border-slate-700 transition-colors" href="/api">Read Documentation</a></div></div></section><footer class="bg-white border-t border-slate-200 py-4"><div class="max-w-screen-xl mx-auto px-6 flex flex-col sm:flex-row items-center justify-between gap-3 text-[12px] text-slate-500"><div class="flex items-center gap-4"><span class="font-semibold text-slate-800">AgentGuard</span><span>v1.0.0</span><span>·</span><span>Enterprise Security Control Plane</span></div><div class="flex items-center gap-5"><a class="hover:text-slate-900 transition-colors" href="/api">Documentation</a><a class="hover:text-slate-900 transition-colors" href="/security-gates">Security Gates</a><a class="hover:text-slate-900 transition-colors" href="/posture">Posture</a><a class="hover:text-slate-900 transition-colors" href="/settings">Settings</a><div class="flex items-center gap-1.5"><span class="w-1.5 h-1.5 rounded-full bg-emerald-500"></span><span class="font-mono">All Systems Operational</span></div></div></div></footer></div><!--$--><!--/$--><script src="/_next/static/chunks/310vm2bl3xxpt.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\"]\n4:I[47257,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ClientPageRoot\"]\n5:I[52683,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/28bkmy8mez7gm.js\"],\"default\"]\n8:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"OutletBoundary\"]\n9:\"$Sreact.suspense\"\nb:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"ViewportBoundary\"]\nd:I[97367,[\"/_next/static/chunks/3fntmmi971322.js\"],\"MetadataBoundary\"]\nf:I[68027,[\"/_next/static/chunks/3fntmmi971322.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/35mvsv251jx1r.css\",\"style\"]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500\u0026display=swap\",\"style\"]\n0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/35mvsv251jx1r.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3fntmmi971322.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"inter_6750fec-module__y2_5qG__variable h-full\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"className\":\"min-h-full antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/28bkmy8mez7gm.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@a\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$9\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/35mvsv251jx1r.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Yp_swxN-C9UoCRNOwkYnY\"}\n6:{}\n7:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n10:I[27201,[\"/_next/static/chunks/3fntmmi971322.js\"],\"IconMark\"]\na:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"ActShield — Security Control Plane for Autonomous AI\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI\"}],[\"$\",\"meta\",\"3\",{\"name\":\"robots\",\"content\":\"noindex, nofollow\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L10\",\"5\",{}]]\n"])</script></body></html>
@@ -0,0 +1,20 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[39756,["/_next/static/chunks/3fntmmi971322.js"],"default"]
3
+ 3:I[37457,["/_next/static/chunks/3fntmmi971322.js"],"default"]
4
+ 4:I[47257,["/_next/static/chunks/3fntmmi971322.js"],"ClientPageRoot"]
5
+ 5:I[52683,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/28bkmy8mez7gm.js"],"default"]
6
+ 8:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"OutletBoundary"]
7
+ 9:"$Sreact.suspense"
8
+ b:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"ViewportBoundary"]
9
+ d:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"MetadataBoundary"]
10
+ f:I[68027,["/_next/static/chunks/3fntmmi971322.js"],"default",1]
11
+ :HL["/_next/static/chunks/35mvsv251jx1r.css","style"]
12
+ :HL["/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
13
+ :HL["https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","style"]
14
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3fntmmi971322.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"inter_6750fec-module__y2_5qG__variable h-full","children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"min-h-full antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/28bkmy8mez7gm.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"Yp_swxN-C9UoCRNOwkYnY"}
15
+ 6:{}
16
+ 7:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
17
+ c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
18
+ 10:I[27201,["/_next/static/chunks/3fntmmi971322.js"],"IconMark"]
19
+ a:null
20
+ e:[["$","title","0",{"children":"ActShield — Security Control Plane for Autonomous AI"}],["$","meta","1",{"name":"description","content":"ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems."}],["$","meta","2",{"name":"keywords","content":"AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI"}],["$","meta","3",{"name":"robots","content":"noindex, nofollow"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.2vob68tjqpejf.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L10","5",{}]]
Binary file
@@ -0,0 +1,22 @@
1
+ 1:"$Sreact.fragment"
2
+ 2:I[39756,["/_next/static/chunks/3fntmmi971322.js"],"default"]
3
+ 3:I[37457,["/_next/static/chunks/3fntmmi971322.js"],"default"]
4
+ 4:I[74952,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js"],"default"]
5
+ 5:I[83026,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js"],"default"]
6
+ 6:I[47257,["/_next/static/chunks/3fntmmi971322.js"],"ClientPageRoot"]
7
+ 7:I[20884,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/10537zyl427zj.js","/_next/static/chunks/16k7nw0b3t8ys.js","/_next/static/chunks/1v0lwzv-859z_.js","/_next/static/chunks/0nelpqfu_ciq6.js","/_next/static/chunks/0w1-y7oni66j9.js"],"default"]
8
+ a:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"OutletBoundary"]
9
+ b:"$Sreact.suspense"
10
+ d:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"ViewportBoundary"]
11
+ f:I[97367,["/_next/static/chunks/3fntmmi971322.js"],"MetadataBoundary"]
12
+ 11:I[68027,["/_next/static/chunks/3fntmmi971322.js"],"default",1]
13
+ :HL["/_next/static/chunks/35mvsv251jx1r.css","style"]
14
+ :HL["/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
15
+ :HL["https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","style"]
16
+ 0:{"P":null,"c":["","metrics"],"q":"","i":false,"f":[[["",{"children":["metrics",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3fntmmi971322.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"inter_6750fec-module__y2_5qG__variable h-full","children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"min-h-full antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[[["$","script","script-0",{"src":"/_next/static/chunks/25uvt4s2f39a4.js","async":true,"nonce":"$undefined"}]],["$","div",null,{"className":"flex h-screen overflow-hidden bg-slate-50 text-slate-900","children":[["$","$L4",null,{}],["$","div",null,{"className":"flex-1 flex flex-col min-w-0 overflow-hidden","children":[["$","$L5",null,{}],["$","main",null,{"className":"flex-1 overflow-y-auto","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/10537zyl427zj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/16k7nw0b3t8ys.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/1v0lwzv-859z_.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/0nelpqfu_ciq6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0w1-y7oni66j9.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/35mvsv251jx1r.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"Yp_swxN-C9UoCRNOwkYnY"}
17
+ 8:{}
18
+ 9:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
19
+ e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
20
+ 12:I[27201,["/_next/static/chunks/3fntmmi971322.js"],"IconMark"]
21
+ c:null
22
+ 10:[["$","title","0",{"children":"ActShield — Security Control Plane for Autonomous AI"}],["$","meta","1",{"name":"description","content":"ActShield provides identity, authority containment, context provenance, deterministic policy enforcement, threat modeling, and forensic investigation for autonomous and multi-agent AI systems."}],["$","meta","2",{"name":"keywords","content":"AI security,agent security,multi-agent security,MCP security,policy enforcement,LLM security,threat modeling,agentic AI"}],["$","meta","3",{"name":"robots","content":"noindex, nofollow"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.2vob68tjqpejf.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L12","5",{}]]