actshield 0.9.2__tar.gz → 0.9.3__tar.gz
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-0.9.2 → actshield-0.9.3}/MANIFEST.in +2 -2
- {actshield-0.9.2 → actshield-0.9.3}/PKG-INFO +24 -10
- {actshield-0.9.2 → actshield-0.9.3}/README.md +290 -279
- {actshield-0.9.2 → actshield-0.9.3}/actshield/__init__.py +437 -437
- {actshield-0.9.2 → actshield-0.9.3}/actshield/__main__.py +44 -44
- {actshield-0.9.2 → actshield-0.9.3}/actshield/agents/__init__.py +11 -11
- {actshield-0.9.2 → actshield-0.9.3}/actshield/agents/agent.py +198 -198
- {actshield-0.9.2 → actshield-0.9.3}/actshield/agents/identity.py +113 -113
- {actshield-0.9.2 → actshield-0.9.3}/actshield/api/__init__.py +32 -32
- {actshield-0.9.2 → actshield-0.9.3}/actshield/api/models.py +197 -197
- {actshield-0.9.2 → actshield-0.9.3}/actshield/api/server.py +667 -667
- {actshield-0.9.2 → actshield-0.9.3}/actshield/approval/__init__.py +13 -13
- {actshield-0.9.2 → actshield-0.9.3}/actshield/approval/approval.py +163 -163
- {actshield-0.9.2 → actshield-0.9.3}/actshield/cli/__init__.py +6 -6
- {actshield-0.9.2 → actshield-0.9.3}/actshield/cli/graph.py +47 -47
- {actshield-0.9.2 → actshield-0.9.3}/actshield/cli/main.py +804 -804
- {actshield-0.9.2 → actshield-0.9.3}/actshield/cli/shell.py +404 -404
- {actshield-0.9.2 → actshield-0.9.3}/actshield/cli/theme.py +110 -110
- {actshield-0.9.2 → actshield-0.9.3}/actshield/client.py +755 -755
- {actshield-0.9.2 → actshield-0.9.3}/actshield/config.py +86 -86
- {actshield-0.9.2 → actshield-0.9.3}/actshield/context/__init__.py +13 -13
- {actshield-0.9.2 → actshield-0.9.3}/actshield/context/context.py +159 -159
- {actshield-0.9.2 → actshield-0.9.3}/actshield/context/provenance.py +108 -108
- {actshield-0.9.2 → actshield-0.9.3}/actshield/context/taint.py +48 -48
- {actshield-0.9.2 → actshield-0.9.3}/actshield/decisions/decision.py +73 -73
- {actshield-0.9.2 → actshield-0.9.3}/actshield/delegation/__init__.py +10 -10
- {actshield-0.9.2 → actshield-0.9.3}/actshield/delegation/authority.py +62 -62
- {actshield-0.9.2 → actshield-0.9.3}/actshield/delegation/delegation.py +178 -178
- {actshield-0.9.2 → actshield-0.9.3}/actshield/demo.py +137 -137
- {actshield-0.9.2 → actshield-0.9.3}/actshield/doctor.py +92 -92
- {actshield-0.9.2 → actshield-0.9.3}/actshield/drift/__init__.py +25 -25
- {actshield-0.9.2 → actshield-0.9.3}/actshield/drift/drift_engine.py +148 -148
- {actshield-0.9.2 → actshield-0.9.3}/actshield/drift/drift_models.py +61 -61
- {actshield-0.9.2 → actshield-0.9.3}/actshield/evaluation/eval_suite.py +252 -252
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/__init__.py +51 -51
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/access_graph.py +215 -215
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/authority_graph.py +184 -184
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/delegation_graph.py +117 -117
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/explanation.py +253 -253
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/models.py +487 -487
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/queries.py +366 -366
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/serializers.py +68 -68
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/service.py +308 -308
- {actshield-0.9.2 → actshield-0.9.3}/actshield/forensics/snapshots.py +173 -173
- {actshield-0.9.2 → actshield-0.9.3}/actshield/gates/__init__.py +12 -12
- {actshield-0.9.2 → actshield-0.9.3}/actshield/gates/gate_models.py +45 -45
- {actshield-0.9.2 → actshield-0.9.3}/actshield/gates/security_gate.py +189 -189
- {actshield-0.9.2 → actshield-0.9.3}/actshield/gateway/__init__.py +11 -11
- {actshield-0.9.2 → actshield-0.9.3}/actshield/gateway/http.py +189 -189
- {actshield-0.9.2 → actshield-0.9.3}/actshield/gateway/mcp.py +290 -290
- {actshield-0.9.2 → actshield-0.9.3}/actshield/incidents/__init__.py +23 -23
- {actshield-0.9.2 → actshield-0.9.3}/actshield/incidents/incident.py +92 -92
- {actshield-0.9.2 → actshield-0.9.3}/actshield/incidents/incident_engine.py +161 -161
- {actshield-0.9.2 → actshield-0.9.3}/actshield/incidents/incident_rules.py +114 -114
- {actshield-0.9.2 → actshield-0.9.3}/actshield/incidents/incident_state.py +58 -58
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/__init__.py +23 -23
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/ai_secura.py +167 -167
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/apiris.py +121 -121
- {actshield-0.9.2 → actshield-0.9.3}/actshield/llm_config.py +87 -87
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/__init__.py +93 -93
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/adaptive/__init__.py +20 -20
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/adaptive/adaptive_engine.py +163 -163
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/adaptive/attack_selector.py +50 -50
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/adaptive/boundary_search.py +98 -98
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/adaptive/campaign_memory.py +123 -123
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/adaptive/feedback.py +83 -83
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/adaptive/mutation_planner.py +56 -56
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/attack.py +76 -76
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/campaign.py +217 -217
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/corpus.py +153 -153
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/engine.py +464 -464
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/evaluator.py +115 -115
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/evidence.py +62 -62
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/generator.py +126 -126
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/mutation.py +100 -100
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/results.py +76 -76
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/safety.py +79 -79
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/__init__.py +21 -21
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/authority_escalation.py +99 -99
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/base.py +33 -33
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/context_manipulation.py +99 -99
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/data_exfiltration.py +99 -99
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/delegation_attacks.py +99 -99
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/mcp_attacks.py +99 -99
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/prompt_injection.py +99 -99
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/strategies/tool_poisoning.py +99 -99
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/target.py +112 -112
- {actshield-0.9.2 → actshield-0.9.3}/actshield/offensive/vulnerable_target.py +119 -119
- {actshield-0.9.2 → actshield-0.9.3}/actshield/persistence/__init__.py +16 -16
- {actshield-0.9.2 → actshield-0.9.3}/actshield/persistence/siem.py +100 -100
- {actshield-0.9.2 → actshield-0.9.3}/actshield/persistence/storage.py +238 -238
- {actshield-0.9.2 → actshield-0.9.3}/actshield/policy/__init__.py +11 -11
- {actshield-0.9.2 → actshield-0.9.3}/actshield/policy/evaluator.py +292 -292
- {actshield-0.9.2 → actshield-0.9.3}/actshield/policy/intent.py +113 -113
- {actshield-0.9.2 → actshield-0.9.3}/actshield/policy/policy.py +47 -47
- {actshield-0.9.2 → actshield-0.9.3}/actshield/posture/__init__.py +24 -24
- {actshield-0.9.2 → actshield-0.9.3}/actshield/posture/posture_engine.py +185 -185
- {actshield-0.9.2 → actshield-0.9.3}/actshield/posture/posture_models.py +150 -150
- {actshield-0.9.2 → actshield-0.9.3}/actshield/posture/posture_rules.py +135 -135
- {actshield-0.9.2 → actshield-0.9.3}/actshield/providers/__init__.py +30 -30
- {actshield-0.9.2 → actshield-0.9.3}/actshield/providers/anthropic_provider.py +144 -144
- {actshield-0.9.2 → actshield-0.9.3}/actshield/providers/base.py +159 -159
- {actshield-0.9.2 → actshield-0.9.3}/actshield/providers/gemini_provider.py +131 -131
- {actshield-0.9.2 → actshield-0.9.3}/actshield/providers/null_provider.py +38 -38
- {actshield-0.9.2 → actshield-0.9.3}/actshield/providers/ollama_provider.py +133 -133
- {actshield-0.9.2 → actshield-0.9.3}/actshield/providers/openai_provider.py +140 -140
- {actshield-0.9.2 → actshield-0.9.3}/actshield/providers/registry.py +242 -242
- {actshield-0.9.2 → actshield-0.9.3}/actshield/response/__init__.py +12 -12
- {actshield-0.9.2 → actshield-0.9.3}/actshield/response/response_actions.py +37 -37
- {actshield-0.9.2 → actshield-0.9.3}/actshield/response/response_audit.py +31 -31
- {actshield-0.9.2 → actshield-0.9.3}/actshield/response/response_engine.py +137 -137
- {actshield-0.9.2 → actshield-0.9.3}/actshield/risk/models.py +103 -103
- {actshield-0.9.2 → actshield-0.9.3}/actshield/serve.py +115 -115
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/__next.__PAGE__.txt +24 -24
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/__next._full.txt +20 -20
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_buildManifest.js +10 -10
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0cz1d0mv5g_q7.js +1 -1
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1h43jcb90-m2r.js +21 -21
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1ow883jl4ln-r.js +15 -15
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/2p087eftxemg4.js +5 -5
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/310vm2bl3xxpt.js +30 -30
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/35mvsv251jx1r.css +3 -3
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/3lopq3lhmcjxg.js +128 -128
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/3mpe2jejel0v2.css +1 -1
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_not-found/__next._full.txt +17 -17
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_not-found/__next._not-found/__PAGE__.txt +23 -23
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_not-found/__next._tree.txt +3 -3
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_not-found.txt +17 -17
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/access/matrix/__next._full.txt +24 -24
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/access/matrix/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/access/matrix/__next.access/matrix/__PAGE__.txt +30 -30
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/access/matrix.txt +24 -24
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/activity/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/activity/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/activity/__next.activity/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/activity.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/agents/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/agents/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/agents/__next.agents/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/agents.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/ai-secura/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/ai-secura/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/ai-secura/__next.ai-secura/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/ai-secura.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/api/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/api/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/api/__next.api/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/api.html +14 -14
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/api.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/apiris/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/apiris/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/apiris/__next.apiris/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/apiris.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/attack-graph/__next._full.txt +23 -23
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/attack-graph/__next._tree.txt +5 -5
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/attack-graph/__next.attack-graph/__PAGE__.txt +28 -28
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/attack-graph.html +1 -1
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/attack-graph.txt +23 -23
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/campaigns/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/campaigns/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/campaigns/__next.campaigns/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/campaigns.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/context/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/context/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/context/__next.context/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/context.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/dashboard/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/dashboard/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/dashboard/__next.dashboard/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/dashboard.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/delegations/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/delegations/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/delegations/__next.delegations/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/delegations.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/demo/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/demo/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/demo/__next.demo/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/demo.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/drift/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/drift/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/drift/__next.drift/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/drift.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/forensics/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/forensics/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/forensics/__next.forensics/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/forensics.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/incidents/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/incidents/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/incidents/__next.incidents/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/incidents.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/index.html +2 -2
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/index.txt +20 -20
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/metrics/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/metrics/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/metrics/__next.metrics/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/metrics.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/offensive/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/offensive/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/offensive/__next.offensive/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/offensive.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/policies/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/policies/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/policies/__next.policies/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/policies.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/posture/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/posture/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/posture/__next.posture/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/posture.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/regressions/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/regressions/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/regressions/__next.regressions/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/regressions.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/reports/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/reports/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/reports/__next.reports/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/reports.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/resources/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/resources/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/resources/__next.resources/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/resources.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/security-gates/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/security-gates/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/security-gates/__next.security-gates/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/security-gates.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/settings/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/settings/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/settings/__next.settings/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/settings.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tasks/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tasks/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tasks/__next.tasks/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tasks.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/threats/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/threats/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/threats/__next.threats/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/threats.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tools/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tools/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tools/__next.tools/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tools.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/traces/__next._full.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/traces/__next._tree.txt +4 -4
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/traces/__next.traces/__PAGE__.txt +27 -27
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/traces.txt +22 -22
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tasks/__init__.py +5 -5
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tasks/task.py +141 -141
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/__init__.py +70 -70
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/actors.py +210 -210
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/analyzer.py +131 -131
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/assets.py +167 -167
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/boundaries.py +165 -165
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/exporters.py +49 -49
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/mitigations.py +209 -209
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/models.py +80 -80
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/report.py +341 -341
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/scenarios.py +212 -212
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/scoring.py +66 -66
- {actshield-0.9.2 → actshield-0.9.3}/actshield/threatmodel/threats.py +387 -387
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tools/__init__.py +19 -19
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tools/interceptor.py +254 -254
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tools/tool.py +70 -70
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tracing/__init__.py +37 -37
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tracing/correlation.py +173 -173
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tracing/events.py +74 -74
- {actshield-0.9.2 → actshield-0.9.3}/actshield/tracing/tracer.py +303 -303
- {actshield-0.9.2 → actshield-0.9.3}/actshield/watch.py +127 -127
- {actshield-0.9.2 → actshield-0.9.3}/actshield.egg-info/PKG-INFO +24 -10
- {actshield-0.9.2 → actshield-0.9.3}/agentguard/__init__.py +39 -39
- {actshield-0.9.2 → actshield-0.9.3}/agentguard/__main__.py +8 -8
- {actshield-0.9.2 → actshield-0.9.3}/agentguard/py.typed +1 -1
- {actshield-0.9.2 → actshield-0.9.3}/pyproject.toml +145 -140
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_cli_threat.py +85 -85
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_embedded_dashboard.py +94 -94
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_enterprise_hardening_master.py +447 -447
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_threat_model.py +137 -137
- {actshield-0.9.2 → actshield-0.9.3}/actshield/api/service.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/evaluation/__init__.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/evaluation/cases/__init__.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/ai_secura_analysis.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/few_shot.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/ollama_adapter.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/prompts/__init__.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/prompts/examples/__init__.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/integrations/security_packet.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/py.typed +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/404.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_clientMiddlewareManifest.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/Yp_swxN-C9UoCRNOwkYnY/_ssgManifest.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/09kny2eqjc2or.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0c1zba1u9whdp.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0dbjjeg01x25o.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0duobs55ne238.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0iaz41l6068e4.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0mjhyv72x2idp.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0nelpqfu_ciq6.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0p1bci9ch797v.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0tld_ygho5tgm.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/0w1-y7oni66j9.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/10537zyl427zj.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/11pc_jkl3aggn.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/16k7nw0b3t8ys.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/19mx3mg6lkumu.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1_8p47b-kxg2a.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1dszjozwfqegx.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1ly04cvt_wh_j.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1odxrypuwuwp_.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1oes4c35qz5ku.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1po7bna1as8tc.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1rsh0og8ifkzx.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/1v0lwzv-859z_.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/25iat2epwx25a.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/25uvt4s2f39a4.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/27t_qfc-3_lzs.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/28bkmy8mez7gm.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/2b6brmw_drw1p.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/2fnhtxi4j6vge.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/2s8pao_z8pgtq.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/2yj7ooc2c-zpg.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/3-mrrr8udt5tk.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/370vf0oetlsx9.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/3e-2m72tyo556.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/3fntmmi971322.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/3fzw-g0hycl2c.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/3t8o4f2lzr2sf.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/3y-v1neyllne5.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/43oiwy8mx6cs1.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/chunks/turbopack-23wzuebcy_lxm.js +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2 +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2 +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2 +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/media/5476f68d60460930-s.2uwcyprjm3xu3.woff2 +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2 +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2 +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2 +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/_not-found.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/access/matrix.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/activity.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/agents.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/ai-secura.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/apiris.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/campaigns.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/context.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/dashboard.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/delegations.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/demo.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/drift.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/favicon.ico +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/file.svg +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/forensics.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/globe.svg +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/incidents.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/logo.png +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/metrics.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/next.svg +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/offensive.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/policies.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/posture.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/regressions.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/reports.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/resources.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/security-gates.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/settings.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tasks.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/threats.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/tools.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/traces.html +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/vercel.svg +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield/static/window.svg +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield.egg-info/SOURCES.txt +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield.egg-info/dependency_links.txt +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield.egg-info/entry_points.txt +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield.egg-info/requires.txt +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/actshield.egg-info/top_level.txt +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/setup.cfg +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_agents.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_context_taint.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_delegation.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_e2e_causal_chain.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_integrations.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase2_hardening.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase2_multi_agent.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase35_ollama_config.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase35_ollama_live.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase35_prompt_injection.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase3_gateway.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase3_hitl_and_intelligence.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase3_persistence.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase4_attack_models.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase4_cli.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase4_engine_and_evaluator.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase4_safety.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase4_strategies.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase4_vulnerable_remediation.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase5_adaptive.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_phase65_forensics.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_policy.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_providers_and_platform.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_sdk_platform_complete.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_tasks.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_tools.py +0 -0
- {actshield-0.9.2 → actshield-0.9.3}/tests/test_tracing.py +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
include actshield/py.typed
|
|
2
|
-
recursive-include actshield/static *
|
|
1
|
+
include actshield/py.typed
|
|
2
|
+
recursive-include actshield/static *
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: actshield
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.3
|
|
4
4
|
Summary: Enterprise Security Control Plane SDK for Autonomous and Multi-Agent AI Systems
|
|
5
|
-
Author:
|
|
5
|
+
Author: Tarun V
|
|
6
|
+
Maintainer: Tarun V
|
|
6
7
|
License: Apache-2.0
|
|
7
|
-
Project-URL: Homepage, https://github.com/
|
|
8
|
-
Project-URL: Documentation, https://
|
|
9
|
-
Project-URL: Repository, https://github.com/
|
|
10
|
-
Project-URL: Issue Tracker, https://github.com/
|
|
11
|
-
Project-URL: Changelog, https://github.com/
|
|
8
|
+
Project-URL: Homepage, https://github.com/Tarunvoff/AGENT-GUARD
|
|
9
|
+
Project-URL: Documentation, https://github.com/Tarunvoff/AGENT-GUARD#readme
|
|
10
|
+
Project-URL: Repository, https://github.com/Tarunvoff/AGENT-GUARD
|
|
11
|
+
Project-URL: Issue Tracker, https://github.com/Tarunvoff/AGENT-GUARD/issues
|
|
12
|
+
Project-URL: Changelog, https://github.com/Tarunvoff/AGENT-GUARD/blob/main/CHANGELOG.md
|
|
13
|
+
Project-URL: Portfolio, https://tarun-portfolio-ai.vercel.app/
|
|
14
|
+
Project-URL: LinkedIn, https://www.linkedin.com/in/tarun-v-sece
|
|
12
15
|
Keywords: ai-security,multi-agent,provenance,causal-tracing,policy-enforcement,llm-security,taint-tracking,threat-modeling,sdk,cli,security-control-plane,agent-security
|
|
13
16
|
Classifier: Development Status :: 4 - Beta
|
|
14
17
|
Classifier: Intended Audience :: Developers
|
|
@@ -62,8 +65,8 @@ Requires-Dist: actshield[anthropic,cli,gemini,ollama,openai,server]; extra == "a
|
|
|
62
65
|
|
|
63
66
|
[](https://pypi.org/project/actshield/)
|
|
64
67
|
[](https://pypi.org/project/actshield/)
|
|
65
|
-
[](https://github.com/
|
|
66
|
-
[](https://github.com/
|
|
68
|
+
[](https://github.com/Tarunvoff/AGENT-GUARD/blob/main/LICENSE)
|
|
69
|
+
[](https://github.com/Tarunvoff/AGENT-GUARD)
|
|
67
70
|
|
|
68
71
|
---
|
|
69
72
|
|
|
@@ -332,6 +335,17 @@ actshield serve
|
|
|
332
335
|
|
|
333
336
|
---
|
|
334
337
|
|
|
335
|
-
## 7.
|
|
338
|
+
## 7. Maintainer & Author
|
|
339
|
+
|
|
340
|
+
**Tarun V**
|
|
341
|
+
*AI Security Engineer & System Architect*
|
|
342
|
+
|
|
343
|
+
- 🌐 **Portfolio**: [tarun-portfolio-ai.vercel.app](https://tarun-portfolio-ai.vercel.app/)
|
|
344
|
+
- 💼 **LinkedIn**: [linkedin.com/in/tarun-v-sece](https://www.linkedin.com/in/tarun-v-sece)
|
|
345
|
+
- 🐙 **GitHub**: [@Tarunvoff](https://github.com/Tarunvoff)
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## 8. License
|
|
336
350
|
|
|
337
351
|
Apache-2.0. See [LICENSE](LICENSE) for details.
|