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.
- actshield/__init__.py +439 -0
- actshield/__main__.py +46 -0
- actshield/agents/__init__.py +12 -0
- actshield/agents/agent.py +200 -0
- actshield/agents/identity.py +114 -0
- actshield/api/__init__.py +34 -0
- actshield/api/models.py +198 -0
- actshield/api/server.py +669 -0
- actshield/api/service.py +599 -0
- actshield/approval/__init__.py +15 -0
- actshield/approval/approval.py +164 -0
- actshield/cli/__init__.py +8 -0
- actshield/cli/graph.py +49 -0
- actshield/cli/main.py +802 -0
- actshield/cli/shell.py +406 -0
- actshield/cli/theme.py +110 -0
- actshield/client.py +757 -0
- actshield/config.py +88 -0
- actshield/context/__init__.py +14 -0
- actshield/context/context.py +161 -0
- actshield/context/provenance.py +108 -0
- actshield/context/taint.py +48 -0
- actshield/decisions/decision.py +74 -0
- actshield/delegation/__init__.py +11 -0
- actshield/delegation/authority.py +63 -0
- actshield/delegation/delegation.py +180 -0
- actshield/demo.py +139 -0
- actshield/doctor.py +94 -0
- actshield/drift/__init__.py +27 -0
- actshield/drift/drift_engine.py +149 -0
- actshield/drift/drift_models.py +63 -0
- actshield/evaluation/__init__.py +1 -0
- actshield/evaluation/cases/__init__.py +1 -0
- actshield/evaluation/eval_suite.py +254 -0
- actshield/forensics/__init__.py +53 -0
- actshield/forensics/access_graph.py +216 -0
- actshield/forensics/authority_graph.py +186 -0
- actshield/forensics/delegation_graph.py +119 -0
- actshield/forensics/explanation.py +254 -0
- actshield/forensics/models.py +488 -0
- actshield/forensics/queries.py +367 -0
- actshield/forensics/serializers.py +68 -0
- actshield/forensics/service.py +310 -0
- actshield/forensics/snapshots.py +174 -0
- actshield/gates/__init__.py +13 -0
- actshield/gates/gate_models.py +46 -0
- actshield/gates/security_gate.py +191 -0
- actshield/gateway/__init__.py +13 -0
- actshield/gateway/http.py +191 -0
- actshield/gateway/mcp.py +292 -0
- actshield/incidents/__init__.py +25 -0
- actshield/incidents/incident.py +94 -0
- actshield/incidents/incident_engine.py +163 -0
- actshield/incidents/incident_rules.py +116 -0
- actshield/incidents/incident_state.py +58 -0
- actshield/integrations/__init__.py +24 -0
- actshield/integrations/ai_secura.py +169 -0
- actshield/integrations/ai_secura_analysis.py +236 -0
- actshield/integrations/apiris.py +122 -0
- actshield/integrations/few_shot.py +104 -0
- actshield/integrations/ollama_adapter.py +538 -0
- actshield/integrations/prompts/__init__.py +1 -0
- actshield/integrations/prompts/examples/__init__.py +1 -0
- actshield/integrations/security_packet.py +82 -0
- actshield/llm_config.py +89 -0
- actshield/offensive/__init__.py +95 -0
- actshield/offensive/adaptive/__init__.py +22 -0
- actshield/offensive/adaptive/adaptive_engine.py +165 -0
- actshield/offensive/adaptive/attack_selector.py +51 -0
- actshield/offensive/adaptive/boundary_search.py +99 -0
- actshield/offensive/adaptive/campaign_memory.py +123 -0
- actshield/offensive/adaptive/feedback.py +84 -0
- actshield/offensive/adaptive/mutation_planner.py +57 -0
- actshield/offensive/attack.py +78 -0
- actshield/offensive/campaign.py +219 -0
- actshield/offensive/corpus.py +155 -0
- actshield/offensive/engine.py +466 -0
- actshield/offensive/evaluator.py +116 -0
- actshield/offensive/evidence.py +63 -0
- actshield/offensive/generator.py +128 -0
- actshield/offensive/mutation.py +101 -0
- actshield/offensive/results.py +77 -0
- actshield/offensive/safety.py +80 -0
- actshield/offensive/strategies/__init__.py +22 -0
- actshield/offensive/strategies/authority_escalation.py +100 -0
- actshield/offensive/strategies/base.py +34 -0
- actshield/offensive/strategies/context_manipulation.py +100 -0
- actshield/offensive/strategies/data_exfiltration.py +100 -0
- actshield/offensive/strategies/delegation_attacks.py +100 -0
- actshield/offensive/strategies/mcp_attacks.py +100 -0
- actshield/offensive/strategies/prompt_injection.py +100 -0
- actshield/offensive/strategies/tool_poisoning.py +100 -0
- actshield/offensive/target.py +113 -0
- actshield/offensive/vulnerable_target.py +121 -0
- actshield/persistence/__init__.py +18 -0
- actshield/persistence/siem.py +102 -0
- actshield/persistence/storage.py +240 -0
- actshield/policy/__init__.py +12 -0
- actshield/policy/evaluator.py +294 -0
- actshield/policy/intent.py +113 -0
- actshield/policy/policy.py +48 -0
- actshield/posture/__init__.py +26 -0
- actshield/posture/posture_engine.py +186 -0
- actshield/posture/posture_models.py +152 -0
- actshield/posture/posture_rules.py +137 -0
- actshield/providers/__init__.py +32 -0
- actshield/providers/anthropic_provider.py +146 -0
- actshield/providers/base.py +160 -0
- actshield/providers/gemini_provider.py +133 -0
- actshield/providers/null_provider.py +40 -0
- actshield/providers/ollama_provider.py +135 -0
- actshield/providers/openai_provider.py +142 -0
- actshield/providers/registry.py +244 -0
- actshield/py.typed +0 -0
- actshield/response/__init__.py +14 -0
- actshield/response/response_actions.py +39 -0
- actshield/response/response_audit.py +32 -0
- actshield/response/response_engine.py +139 -0
- actshield/risk/models.py +104 -0
- actshield/serve.py +117 -0
- actshield/static/404.html +1 -0
- actshield/static/__next.__PAGE__.txt +24 -0
- actshield/static/__next._full.txt +20 -0
- actshield/static/__next._tree.txt +4 -0
- actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_buildManifest.js +11 -0
- actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_clientMiddlewareManifest.js +1 -0
- actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_ssgManifest.js +1 -0
- actshield/static/_next/static/chunks/09kny2eqjc2or.js +1 -0
- actshield/static/_next/static/chunks/0c1zba1u9whdp.js +1 -0
- actshield/static/_next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- actshield/static/_next/static/chunks/0dbjjeg01x25o.js +1 -0
- actshield/static/_next/static/chunks/0duobs55ne238.js +1 -0
- actshield/static/_next/static/chunks/0iaz41l6068e4.js +1 -0
- actshield/static/_next/static/chunks/0mjhyv72x2idp.js +1 -0
- actshield/static/_next/static/chunks/0nelpqfu_ciq6.js +1 -0
- actshield/static/_next/static/chunks/0p1bci9ch797v.js +1 -0
- actshield/static/_next/static/chunks/0tld_ygho5tgm.js +1 -0
- actshield/static/_next/static/chunks/0w1-y7oni66j9.js +1 -0
- actshield/static/_next/static/chunks/10537zyl427zj.js +1 -0
- actshield/static/_next/static/chunks/11pc_jkl3aggn.js +1 -0
- actshield/static/_next/static/chunks/16k7nw0b3t8ys.js +1 -0
- actshield/static/_next/static/chunks/19mx3mg6lkumu.js +1 -0
- actshield/static/_next/static/chunks/1_8p47b-kxg2a.js +1 -0
- actshield/static/_next/static/chunks/1dszjozwfqegx.js +1 -0
- actshield/static/_next/static/chunks/1h43jcb90-m2r.js +22 -0
- actshield/static/_next/static/chunks/1ly04cvt_wh_j.js +1 -0
- actshield/static/_next/static/chunks/1odxrypuwuwp_.js +1 -0
- actshield/static/_next/static/chunks/1oes4c35qz5ku.js +1 -0
- actshield/static/_next/static/chunks/1ow883jl4ln-r.js +16 -0
- actshield/static/_next/static/chunks/1po7bna1as8tc.js +1 -0
- actshield/static/_next/static/chunks/1rsh0og8ifkzx.js +1 -0
- actshield/static/_next/static/chunks/1v0lwzv-859z_.js +1 -0
- actshield/static/_next/static/chunks/25iat2epwx25a.js +1 -0
- actshield/static/_next/static/chunks/25uvt4s2f39a4.js +1 -0
- actshield/static/_next/static/chunks/27t_qfc-3_lzs.js +1 -0
- actshield/static/_next/static/chunks/28bkmy8mez7gm.js +1 -0
- actshield/static/_next/static/chunks/2b6brmw_drw1p.js +1 -0
- actshield/static/_next/static/chunks/2fnhtxi4j6vge.js +1 -0
- actshield/static/_next/static/chunks/2p087eftxemg4.js +6 -0
- actshield/static/_next/static/chunks/2s8pao_z8pgtq.js +1 -0
- actshield/static/_next/static/chunks/2yj7ooc2c-zpg.js +1 -0
- actshield/static/_next/static/chunks/3-mrrr8udt5tk.js +1 -0
- actshield/static/_next/static/chunks/310vm2bl3xxpt.js +31 -0
- actshield/static/_next/static/chunks/35mvsv251jx1r.css +3 -0
- actshield/static/_next/static/chunks/370vf0oetlsx9.js +1 -0
- actshield/static/_next/static/chunks/3e-2m72tyo556.js +1 -0
- actshield/static/_next/static/chunks/3fntmmi971322.js +1 -0
- actshield/static/_next/static/chunks/3fzw-g0hycl2c.js +1 -0
- actshield/static/_next/static/chunks/3lopq3lhmcjxg.js +129 -0
- actshield/static/_next/static/chunks/3mpe2jejel0v2.css +1 -0
- actshield/static/_next/static/chunks/3t8o4f2lzr2sf.js +1 -0
- actshield/static/_next/static/chunks/3y-v1neyllne5.js +1 -0
- actshield/static/_next/static/chunks/43oiwy8mx6cs1.js +1 -0
- actshield/static/_next/static/chunks/turbopack-23wzuebcy_lxm.js +1 -0
- actshield/static/_next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
- actshield/static/_next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
- actshield/static/_next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
- actshield/static/_next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
- actshield/static/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
- actshield/static/_next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
- actshield/static/_next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
- actshield/static/_next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- actshield/static/_not-found/__next._full.txt +17 -0
- actshield/static/_not-found/__next._not-found/__PAGE__.txt +23 -0
- actshield/static/_not-found/__next._tree.txt +3 -0
- actshield/static/_not-found.html +1 -0
- actshield/static/_not-found.txt +17 -0
- actshield/static/access/matrix/__next._full.txt +24 -0
- actshield/static/access/matrix/__next._tree.txt +4 -0
- actshield/static/access/matrix/__next.access/matrix/__PAGE__.txt +30 -0
- actshield/static/access/matrix.html +1 -0
- actshield/static/access/matrix.txt +24 -0
- actshield/static/activity/__next._full.txt +22 -0
- actshield/static/activity/__next._tree.txt +4 -0
- actshield/static/activity/__next.activity/__PAGE__.txt +27 -0
- actshield/static/activity.html +1 -0
- actshield/static/activity.txt +22 -0
- actshield/static/agents/__next._full.txt +22 -0
- actshield/static/agents/__next._tree.txt +4 -0
- actshield/static/agents/__next.agents/__PAGE__.txt +27 -0
- actshield/static/agents.html +1 -0
- actshield/static/agents.txt +22 -0
- actshield/static/ai-secura/__next._full.txt +22 -0
- actshield/static/ai-secura/__next._tree.txt +4 -0
- actshield/static/ai-secura/__next.ai-secura/__PAGE__.txt +27 -0
- actshield/static/ai-secura.html +1 -0
- actshield/static/ai-secura.txt +22 -0
- actshield/static/api/__next._full.txt +22 -0
- actshield/static/api/__next._tree.txt +4 -0
- actshield/static/api/__next.api/__PAGE__.txt +27 -0
- actshield/static/api.html +15 -0
- actshield/static/api.txt +22 -0
- actshield/static/apiris/__next._full.txt +22 -0
- actshield/static/apiris/__next._tree.txt +4 -0
- actshield/static/apiris/__next.apiris/__PAGE__.txt +27 -0
- actshield/static/apiris.html +1 -0
- actshield/static/apiris.txt +22 -0
- actshield/static/attack-graph/__next._full.txt +23 -0
- actshield/static/attack-graph/__next._tree.txt +5 -0
- actshield/static/attack-graph/__next.attack-graph/__PAGE__.txt +28 -0
- actshield/static/attack-graph.html +2 -0
- actshield/static/attack-graph.txt +23 -0
- actshield/static/campaigns/__next._full.txt +22 -0
- actshield/static/campaigns/__next._tree.txt +4 -0
- actshield/static/campaigns/__next.campaigns/__PAGE__.txt +27 -0
- actshield/static/campaigns.html +1 -0
- actshield/static/campaigns.txt +22 -0
- actshield/static/context/__next._full.txt +22 -0
- actshield/static/context/__next._tree.txt +4 -0
- actshield/static/context/__next.context/__PAGE__.txt +27 -0
- actshield/static/context.html +1 -0
- actshield/static/context.txt +22 -0
- actshield/static/dashboard/__next._full.txt +22 -0
- actshield/static/dashboard/__next._tree.txt +4 -0
- actshield/static/dashboard/__next.dashboard/__PAGE__.txt +27 -0
- actshield/static/dashboard.html +1 -0
- actshield/static/dashboard.txt +22 -0
- actshield/static/delegations/__next._full.txt +22 -0
- actshield/static/delegations/__next._tree.txt +4 -0
- actshield/static/delegations/__next.delegations/__PAGE__.txt +27 -0
- actshield/static/delegations.html +1 -0
- actshield/static/delegations.txt +22 -0
- actshield/static/demo/__next._full.txt +22 -0
- actshield/static/demo/__next._tree.txt +4 -0
- actshield/static/demo/__next.demo/__PAGE__.txt +27 -0
- actshield/static/demo.html +1 -0
- actshield/static/demo.txt +22 -0
- actshield/static/drift/__next._full.txt +22 -0
- actshield/static/drift/__next._tree.txt +4 -0
- actshield/static/drift/__next.drift/__PAGE__.txt +27 -0
- actshield/static/drift.html +1 -0
- actshield/static/drift.txt +22 -0
- actshield/static/favicon.ico +0 -0
- actshield/static/file.svg +1 -0
- actshield/static/forensics/__next._full.txt +22 -0
- actshield/static/forensics/__next._tree.txt +4 -0
- actshield/static/forensics/__next.forensics/__PAGE__.txt +27 -0
- actshield/static/forensics.html +1 -0
- actshield/static/forensics.txt +22 -0
- actshield/static/globe.svg +1 -0
- actshield/static/incidents/__next._full.txt +22 -0
- actshield/static/incidents/__next._tree.txt +4 -0
- actshield/static/incidents/__next.incidents/__PAGE__.txt +27 -0
- actshield/static/incidents.html +1 -0
- actshield/static/incidents.txt +22 -0
- actshield/static/index.html +3 -0
- actshield/static/index.txt +20 -0
- actshield/static/logo.png +0 -0
- actshield/static/metrics/__next._full.txt +22 -0
- actshield/static/metrics/__next._tree.txt +4 -0
- actshield/static/metrics/__next.metrics/__PAGE__.txt +27 -0
- actshield/static/metrics.html +1 -0
- actshield/static/metrics.txt +22 -0
- actshield/static/next.svg +1 -0
- actshield/static/offensive/__next._full.txt +22 -0
- actshield/static/offensive/__next._tree.txt +4 -0
- actshield/static/offensive/__next.offensive/__PAGE__.txt +27 -0
- actshield/static/offensive.html +1 -0
- actshield/static/offensive.txt +22 -0
- actshield/static/policies/__next._full.txt +22 -0
- actshield/static/policies/__next._tree.txt +4 -0
- actshield/static/policies/__next.policies/__PAGE__.txt +27 -0
- actshield/static/policies.html +1 -0
- actshield/static/policies.txt +22 -0
- actshield/static/posture/__next._full.txt +22 -0
- actshield/static/posture/__next._tree.txt +4 -0
- actshield/static/posture/__next.posture/__PAGE__.txt +27 -0
- actshield/static/posture.html +1 -0
- actshield/static/posture.txt +22 -0
- actshield/static/regressions/__next._full.txt +22 -0
- actshield/static/regressions/__next._tree.txt +4 -0
- actshield/static/regressions/__next.regressions/__PAGE__.txt +27 -0
- actshield/static/regressions.html +1 -0
- actshield/static/regressions.txt +22 -0
- actshield/static/reports/__next._full.txt +22 -0
- actshield/static/reports/__next._tree.txt +4 -0
- actshield/static/reports/__next.reports/__PAGE__.txt +27 -0
- actshield/static/reports.html +1 -0
- actshield/static/reports.txt +22 -0
- actshield/static/resources/__next._full.txt +22 -0
- actshield/static/resources/__next._tree.txt +4 -0
- actshield/static/resources/__next.resources/__PAGE__.txt +27 -0
- actshield/static/resources.html +1 -0
- actshield/static/resources.txt +22 -0
- actshield/static/security-gates/__next._full.txt +22 -0
- actshield/static/security-gates/__next._tree.txt +4 -0
- actshield/static/security-gates/__next.security-gates/__PAGE__.txt +27 -0
- actshield/static/security-gates.html +1 -0
- actshield/static/security-gates.txt +22 -0
- actshield/static/settings/__next._full.txt +22 -0
- actshield/static/settings/__next._tree.txt +4 -0
- actshield/static/settings/__next.settings/__PAGE__.txt +27 -0
- actshield/static/settings.html +1 -0
- actshield/static/settings.txt +22 -0
- actshield/static/tasks/__next._full.txt +22 -0
- actshield/static/tasks/__next._tree.txt +4 -0
- actshield/static/tasks/__next.tasks/__PAGE__.txt +27 -0
- actshield/static/tasks.html +1 -0
- actshield/static/tasks.txt +22 -0
- actshield/static/threats/__next._full.txt +22 -0
- actshield/static/threats/__next._tree.txt +4 -0
- actshield/static/threats/__next.threats/__PAGE__.txt +27 -0
- actshield/static/threats.html +1 -0
- actshield/static/threats.txt +22 -0
- actshield/static/tools/__next._full.txt +22 -0
- actshield/static/tools/__next._tree.txt +4 -0
- actshield/static/tools/__next.tools/__PAGE__.txt +27 -0
- actshield/static/tools.html +1 -0
- actshield/static/tools.txt +22 -0
- actshield/static/traces/__next._full.txt +22 -0
- actshield/static/traces/__next._tree.txt +4 -0
- actshield/static/traces/__next.traces/__PAGE__.txt +27 -0
- actshield/static/traces.html +1 -0
- actshield/static/traces.txt +22 -0
- actshield/static/vercel.svg +1 -0
- actshield/static/window.svg +1 -0
- actshield/tasks/__init__.py +6 -0
- actshield/tasks/task.py +143 -0
- actshield/threatmodel/__init__.py +70 -0
- actshield/threatmodel/actors.py +210 -0
- actshield/threatmodel/analyzer.py +131 -0
- actshield/threatmodel/assets.py +167 -0
- actshield/threatmodel/boundaries.py +165 -0
- actshield/threatmodel/exporters.py +49 -0
- actshield/threatmodel/mitigations.py +209 -0
- actshield/threatmodel/models.py +80 -0
- actshield/threatmodel/report.py +341 -0
- actshield/threatmodel/scenarios.py +212 -0
- actshield/threatmodel/scoring.py +66 -0
- actshield/threatmodel/threats.py +387 -0
- actshield/tools/__init__.py +20 -0
- actshield/tools/interceptor.py +256 -0
- actshield/tools/tool.py +71 -0
- actshield/tracing/__init__.py +38 -0
- actshield/tracing/correlation.py +173 -0
- actshield/tracing/events.py +75 -0
- actshield/tracing/tracer.py +305 -0
- actshield/watch.py +129 -0
- actshield-0.9.0.dist-info/METADATA +57 -0
- actshield-0.9.0.dist-info/RECORD +366 -0
- actshield-0.9.0.dist-info/WHEEL +5 -0
- actshield-0.9.0.dist-info/entry_points.txt +4 -0
- actshield-0.9.0.dist-info/top_level.txt +2 -0
- agentguard/__init__.py +39 -0
- agentguard/__main__.py +8 -0
- agentguard/py.typed +1 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[47257,["/_next/static/chunks/3fntmmi971322.js"],"ClientPageRoot"]
|
|
3
|
+
3:I[80001,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/1_8p47b-kxg2a.js","/_next/static/chunks/2b6brmw_drw1p.js","/_next/static/chunks/0nelpqfu_ciq6.js","/_next/static/chunks/0w1-y7oni66j9.js","/_next/static/chunks/370vf0oetlsx9.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/1_8p47b-kxg2a.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/2b6brmw_drw1p.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0nelpqfu_ciq6.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/0w1-y7oni66j9.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/370vf0oetlsx9.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/1_8p47b-kxg2a.js" async=""></script><script src="/_next/static/chunks/2b6brmw_drw1p.js" async=""></script><script src="/_next/static/chunks/0nelpqfu_ciq6.js" async=""></script><script src="/_next/static/chunks/0w1-y7oni66j9.js" async=""></script><script src="/_next/static/chunks/370vf0oetlsx9.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&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&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 & 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 bg-sky-50 text-sky-900 border border-sky-200/80 font-semibold" 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-sky-700" 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 text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" 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-slate-400" 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">AI Security Intelligence</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="p-8 space-y-6 max-w-7xl mx-auto"><div class="mb-6 pb-4 border-b border-slate-200"><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">AI Secura Reasoning</h1><div>Semantic Engine</div></div><p class="mt-1 text-xs text-slate-500 max-w-3xl leading-relaxed">Advisory semantic intent alignment and threat analysis. Deterministic policy maintains absolute enforcement authority</p></div><div class="flex items-center gap-2 flex-shrink-0"><div class="flex items-center gap-1.5 px-2.5 py-1 rounded bg-purple-50 border border-purple-200 text-xs text-purple-800 font-medium"><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-activity text-purple-600" 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>Local Reasoning Model Active</span></div></div></div></div><div class="bg-amber-50/70 border border-amber-200 rounded-lg p-3.5 flex items-start gap-3"><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-triangle-alert lucide-alert-triangle text-amber-600 mt-0.5 flex-shrink-0" 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><div class="text-xs text-amber-900 leading-relaxed"><span class="font-semibold">Architectural Invariant (AI Reasons, Policy Enforces):</span> AI Secura provides intent alignment signals, threat categorization, and anomaly scoring. All enforcement decisions are executed exclusively by the deterministic PolicyEvaluator. AI outputs can never override deterministic block rules.</div></div><div class="grid grid-cols-1 md:grid-cols-4 gap-4"><div class="bg-white rounded-lg border border-slate-200 p-4 shadow-sm border-l-4 border-l-slate-300 flex flex-col justify-between"><div class="flex items-center justify-between gap-2 mb-2"><span class="text-[11px] font-medium tracking-wider uppercase text-slate-500">Analyses (24h)</span></div><div class="flex items-baseline justify-between gap-2 mt-1"><div class="text-2xl font-bold tracking-tight text-slate-900 font-mono">47</div></div></div><div class="bg-white rounded-lg border border-slate-200 p-4 shadow-sm border-l-4 border-l-red-500 flex flex-col justify-between"><div class="flex items-center justify-between gap-2 mb-2"><span class="text-[11px] font-medium tracking-wider uppercase text-slate-500">High Threat Alerts</span></div><div class="flex items-baseline justify-between gap-2 mt-1"><div class="text-2xl font-bold tracking-tight text-slate-900 font-mono">3</div></div></div><div class="bg-white rounded-lg border border-slate-200 p-4 shadow-sm border-l-4 border-l-emerald-500 flex flex-col justify-between"><div class="flex items-center justify-between gap-2 mb-2"><span class="text-[11px] font-medium tracking-wider uppercase text-slate-500">Mean Confidence</span></div><div class="flex items-baseline justify-between gap-2 mt-1"><div class="text-2xl font-bold tracking-tight text-slate-900 font-mono">94.2%</div></div></div><div class="bg-white rounded-lg border border-slate-200 p-4 shadow-sm border-l-4 border-l-emerald-500 flex flex-col justify-between"><div class="flex items-center justify-between gap-2 mb-2"><span class="text-[11px] font-medium tracking-wider uppercase text-slate-500">Policy Overrides</span></div><div class="flex items-baseline justify-between gap-2 mt-1"><div class="text-2xl font-bold tracking-tight text-slate-900 font-mono">0 (Zero AI Override)</div></div></div></div><div class="grid grid-cols-1 lg:grid-cols-2 gap-6"><div class="bg-white border border-slate-200 rounded-lg p-5 shadow-xs space-y-4"><div class="text-xs font-semibold uppercase tracking-wider text-slate-500">Threat Severity Timeline</div><div class="h-56"><div class="recharts-responsive-container" style="width:100%;height:100%;min-width:0"><div style="width:0;height:0;overflow:visible"></div></div></div></div><div class="bg-white border border-slate-200 rounded-lg p-5 shadow-xs space-y-4"><div class="text-xs font-semibold uppercase tracking-wider text-slate-500">Threat Dimension Coverage</div><div class="h-56"><div class="recharts-responsive-container" style="width:100%;height:100%;min-width:0"><div style="width:0;height:0;overflow:visible"></div></div></div></div></div><div class="bg-white border border-slate-200 rounded-lg p-5 shadow-xs space-y-4"><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 AI reasoning traces..." 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><div class="flex items-center gap-3 self-end md:self-auto text-xs text-slate-500"></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 class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Analysis ID</th><th class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Threat Category</th><th style="width:120px" class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Threat Index</th><th style="width:100px" class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Confidence</th><th style="width:120px" class="px-3.5 py-2.5 font-semibold text-slate-600 uppercase tracking-wider text-[10px] text-left">Policy Verdict</th></tr></thead><tbody class="divide-y divide-slate-100"><tr class="transition-colors hover:bg-slate-50/80 cursor-pointer"><td class="px-3.5 py-2.5 text-slate-700 text-left"><div class="flex items-center gap-2"><div class="w-6 h-6 rounded bg-purple-50 flex items-center justify-center text-purple-700 border border-purple-200"><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-brain" 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></div><div><div class="font-mono text-xs font-semibold text-slate-900">ai_001</div><div class="font-mono text-[10px] text-slate-500">evt_pinj_001</div></div></div></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="text-xs font-mono text-slate-700 capitalize">prompt injection</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><div class="flex items-center gap-2"><div class="w-10 bg-slate-100 rounded-full h-1.5 overflow-hidden"><div class="h-full bg-red-500" style="width:97%"></div></div><span class="font-mono text-xs text-slate-700">0.97</span></div></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-mono text-xs text-slate-600">96%</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>BLOCK</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 text-left"><div class="flex items-center gap-2"><div class="w-6 h-6 rounded bg-purple-50 flex items-center justify-center text-purple-700 border border-purple-200"><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-brain" 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></div><div><div class="font-mono text-xs font-semibold text-slate-900">ai_002</div><div class="font-mono text-[10px] text-slate-500">evt_auth_001</div></div></div></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="text-xs font-mono text-slate-700 capitalize">authority escalation</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><div class="flex items-center gap-2"><div class="w-10 bg-slate-100 rounded-full h-1.5 overflow-hidden"><div class="h-full bg-red-500" style="width:82%"></div></div><span class="font-mono text-xs text-slate-700">0.82</span></div></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-mono text-xs text-slate-600">91%</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>BLOCK</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 text-left"><div class="flex items-center gap-2"><div class="w-6 h-6 rounded bg-purple-50 flex items-center justify-center text-purple-700 border border-purple-200"><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-brain" 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></div><div><div class="font-mono text-xs font-semibold text-slate-900">ai_003</div><div class="font-mono text-[10px] text-slate-500">evt_q3_001</div></div></div></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="text-xs font-mono text-slate-700 capitalize">None (Benign)</span></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><div class="flex items-center gap-2"><div class="w-10 bg-slate-100 rounded-full h-1.5 overflow-hidden"><div class="h-full bg-emerald-500" style="width:8%"></div></div><span class="font-mono text-xs text-slate-700">0.08</span></div></td><td class="px-3.5 py-2.5 text-slate-700 text-left"><span class="font-mono text-xs text-slate-600">98%</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-emerald-50 text-emerald-700 border border-emerald-200"><span class="w-1.5 h-1.5 rounded-full bg-emerald-600"></span>ALLOW</span></td></tr></tbody></table></div></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[80001,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/25uvt4s2f39a4.js\",\"/_next/static/chunks/1_8p47b-kxg2a.js\",\"/_next/static/chunks/2b6brmw_drw1p.js\",\"/_next/static/chunks/0nelpqfu_ciq6.js\",\"/_next/static/chunks/0w1-y7oni66j9.js\",\"/_next/static/chunks/370vf0oetlsx9.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\":[\"\",\"ai-secura\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"ai-secura\",{\"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/1_8p47b-kxg2a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/2b6brmw_drw1p.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0nelpqfu_ciq6.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/0w1-y7oni66j9.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/370vf0oetlsx9.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[80001,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/1_8p47b-kxg2a.js","/_next/static/chunks/2b6brmw_drw1p.js","/_next/static/chunks/0nelpqfu_ciq6.js","/_next/static/chunks/0w1-y7oni66j9.js","/_next/static/chunks/370vf0oetlsx9.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":["","ai-secura"],"q":"","i":false,"f":[[["",{"children":["ai-secura",{"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/1_8p47b-kxg2a.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/2b6brmw_drw1p.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0nelpqfu_ciq6.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/0w1-y7oni66j9.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/370vf0oetlsx9.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,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[14748,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/3lopq3lhmcjxg.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":["","api"],"q":"","i":false,"f":[[["",{"children":["api",{"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/3lopq3lhmcjxg.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":"api","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[14748,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/3lopq3lhmcjxg.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/3lopq3lhmcjxg.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,15 @@
|
|
|
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/3lopq3lhmcjxg.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&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&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 & 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 text-slate-600 hover:bg-slate-100/80 hover:text-slate-900" 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-slate-400" 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 bg-sky-50 text-sky-900 border border-sky-200/80 font-semibold" 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-sky-700" 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">API Reference</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="min-h-screen bg-slate-50" style="font-family:Inter, system-ui, sans-serif"><div class="mb-6 pb-4 border-b border-slate-200"><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">Documentation</h1><div>v1.0.0</div></div><p class="mt-1 text-xs text-slate-500 max-w-3xl leading-relaxed">SDK reference, REST API specification, CLI guide, and architectural concepts for AgentGuard.</p></div><div class="flex items-center gap-2 flex-shrink-0"><div class="flex items-center gap-2 text-xs font-mono text-slate-500 bg-white border border-slate-200 px-3 py-1.5 rounded"><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-globe" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span>Base URL: http://127.0.0.1:8000</span></div></div></div></div><div class="max-w-screen-xl mx-auto px-6 py-8"><div class="grid grid-cols-1 lg:grid-cols-[220px_1fr] gap-8"><aside class="space-y-1"><button class="w-full text-left px-3 py-2 rounded text-[13px] font-medium transition-colors bg-blue-600 text-white">Quick Start</button><button class="w-full text-left px-3 py-2 rounded text-[13px] font-medium transition-colors text-slate-700 hover:bg-slate-200 hover:text-slate-900">SDK Reference</button><button class="w-full text-left px-3 py-2 rounded text-[13px] font-medium transition-colors text-slate-700 hover:bg-slate-200 hover:text-slate-900">REST API</button><button class="w-full text-left px-3 py-2 rounded text-[13px] font-medium transition-colors text-slate-700 hover:bg-slate-200 hover:text-slate-900">CLI Reference</button><button class="w-full text-left px-3 py-2 rounded text-[13px] font-medium transition-colors text-slate-700 hover:bg-slate-200 hover:text-slate-900">Concepts</button><div class="mt-6 p-3 bg-white border border-slate-200 rounded-lg"><p class="text-[10px] font-bold uppercase tracking-widest text-slate-500 mb-2">Install Extras</p><div class="flex items-center justify-between py-1"><code class="text-[10px] font-mono font-semibold text-blue-700">[cli]</code><span class="text-[10px] text-slate-400">CLI tools (Rich/Typer)</span></div><div class="flex items-center justify-between py-1"><code class="text-[10px] font-mono font-semibold text-blue-700">[server]</code><span class="text-[10px] text-slate-400">FastAPI + Uvicorn</span></div><div class="flex items-center justify-between py-1"><code class="text-[10px] font-mono font-semibold text-blue-700">[openai]</code><span class="text-[10px] text-slate-400">OpenAI provider</span></div><div class="flex items-center justify-between py-1"><code class="text-[10px] font-mono font-semibold text-blue-700">[gemini]</code><span class="text-[10px] text-slate-400">Gemini provider</span></div><div class="flex items-center justify-between py-1"><code class="text-[10px] font-mono font-semibold text-blue-700">[anthropic]</code><span class="text-[10px] text-slate-400">Claude provider</span></div><div class="flex items-center justify-between py-1"><code class="text-[10px] font-mono font-semibold text-blue-700">[all]</code><span class="text-[10px] text-slate-400">Everything</span></div></div></aside><main class="space-y-8 min-w-0"><div class="space-y-8"><div class="bg-white border border-slate-200 rounded-lg overflow-hidden"><div class="px-6 py-4 border-b border-slate-100"><h3 class="text-base font-bold text-slate-900">Installation</h3></div><div class="px-6 pt-4 pb-2"><p class="text-sm text-slate-600 leading-relaxed whitespace-pre-line">AgentGuard is designed to be lightweight. The core package has zero runtime dependencies beyond Python 3.11+. Install only what you need.</p></div><div class="mx-6 mb-4 rounded-lg border border-slate-800 bg-slate-950 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><pre class="px-4 py-3 text-xs font-mono text-slate-200 leading-relaxed overflow-x-auto">pip install agentguard</pre></div><div class="mx-6 mb-4 rounded-lg border border-slate-800 bg-slate-950 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">With dashboard server</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 text-xs font-mono text-slate-200 leading-relaxed overflow-x-auto">pip install agentguard[server]</pre></div><div class="mx-6 mb-4 rounded-lg border border-slate-800 bg-slate-950 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">With LLM providers</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 text-xs font-mono text-slate-200 leading-relaxed overflow-x-auto">pip install agentguard[openai,gemini,anthropic]</pre></div><div class="mx-6 mb-4 rounded-lg border border-slate-800 bg-slate-950 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">All extras</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 text-xs font-mono text-slate-200 leading-relaxed overflow-x-auto">pip install agentguard[all]</pre></div></div><div class="bg-white border border-slate-200 rounded-lg overflow-hidden"><div class="px-6 py-4 border-b border-slate-100"><h3 class="text-base font-bold text-slate-900">Initialize the Control Plane</h3></div><div class="px-6 pt-4 pb-2"><p class="text-sm text-slate-600 leading-relaxed whitespace-pre-line">Create a single `AgentGuard` instance and use `@guard.protect()` to wrap any agent entrypoint. The decorator intercepts every outbound tool call and context exchange.</p></div><div class="mx-6 mb-4 rounded-lg border border-slate-800 bg-slate-950 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">main.py</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 text-xs font-mono text-slate-200 leading-relaxed overflow-x-auto">from agentguard import AgentGuard
|
|
2
|
+
|
|
3
|
+
guard = AgentGuard(mode="strict")
|
|
4
|
+
|
|
5
|
+
@guard.protect(agent_id="orchestrator_v1", trust_level="HIGH")
|
|
6
|
+
def run_agent(task: str) -> str:
|
|
7
|
+
# Your agent logic here
|
|
8
|
+
return agent.run(task)</pre></div></div><div class="bg-white border border-slate-200 rounded-lg overflow-hidden"><div class="px-6 py-4 border-b border-slate-100"><h3 class="text-base font-bold text-slate-900">Enforcement Modes</h3></div><div class="px-6 pt-4 pb-2"><p class="text-sm text-slate-600 leading-relaxed whitespace-pre-line">Three built-in enforcement modes control how strictly the policy engine acts. All modes produce full evidence records.</p></div><div class="mx-6 mb-4 rounded-lg border border-slate-800 bg-slate-950 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">modes.py</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 text-xs font-mono text-slate-200 leading-relaxed overflow-x-auto"># STRICT — Block all policy violations. Zero AI override.
|
|
9
|
+
guard = AgentGuard(mode="strict")
|
|
10
|
+
|
|
11
|
+
# MONITOR — Log and alert but do not block. Safe for staging.
|
|
12
|
+
guard = AgentGuard(mode="monitor")
|
|
13
|
+
|
|
14
|
+
# AUDIT — Read-only. Record decisions without enforcement.
|
|
15
|
+
guard = AgentGuard(mode="audit")</pre></div></div></div></main></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[14748,[\"/_next/static/chunks/3fntmmi971322.js\",\"/_next/static/chunks/25uvt4s2f39a4.js\",\"/_next/static/chunks/3lopq3lhmcjxg.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\":[\"\",\"api\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"api\",{\"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/3lopq3lhmcjxg.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>
|
actshield/static/api.txt
ADDED
|
@@ -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[14748,["/_next/static/chunks/3fntmmi971322.js","/_next/static/chunks/25uvt4s2f39a4.js","/_next/static/chunks/3lopq3lhmcjxg.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":["","api"],"q":"","i":false,"f":[[["",{"children":["api",{"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/3lopq3lhmcjxg.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",{}]]
|