vindicara 0.1.0__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.
Files changed (75) hide show
  1. vindicara-0.1.0/.gitignore +38 -0
  2. vindicara-0.1.0/PKG-INFO +317 -0
  3. vindicara-0.1.0/README.md +275 -0
  4. vindicara-0.1.0/cdk.json +10 -0
  5. vindicara-0.1.0/pyproject.toml +111 -0
  6. vindicara-0.1.0/scripts/lint.sh +9 -0
  7. vindicara-0.1.0/scripts/test.sh +3 -0
  8. vindicara-0.1.0/src/vindicara/__init__.py +22 -0
  9. vindicara-0.1.0/src/vindicara/api/__init__.py +0 -0
  10. vindicara-0.1.0/src/vindicara/api/app.py +35 -0
  11. vindicara-0.1.0/src/vindicara/api/deps.py +23 -0
  12. vindicara-0.1.0/src/vindicara/api/middleware/__init__.py +0 -0
  13. vindicara-0.1.0/src/vindicara/api/middleware/auth.py +27 -0
  14. vindicara-0.1.0/src/vindicara/api/middleware/request_id.py +18 -0
  15. vindicara-0.1.0/src/vindicara/api/routes/__init__.py +0 -0
  16. vindicara-0.1.0/src/vindicara/api/routes/guard.py +55 -0
  17. vindicara-0.1.0/src/vindicara/api/routes/health.py +15 -0
  18. vindicara-0.1.0/src/vindicara/api/routes/policies.py +16 -0
  19. vindicara-0.1.0/src/vindicara/api/routes/scans.py +36 -0
  20. vindicara-0.1.0/src/vindicara/audit/__init__.py +6 -0
  21. vindicara-0.1.0/src/vindicara/audit/logger.py +44 -0
  22. vindicara-0.1.0/src/vindicara/audit/storage.py +30 -0
  23. vindicara-0.1.0/src/vindicara/config/__init__.py +5 -0
  24. vindicara-0.1.0/src/vindicara/config/constants.py +36 -0
  25. vindicara-0.1.0/src/vindicara/config/settings.py +27 -0
  26. vindicara-0.1.0/src/vindicara/engine/__init__.py +6 -0
  27. vindicara-0.1.0/src/vindicara/engine/evaluator.py +51 -0
  28. vindicara-0.1.0/src/vindicara/engine/policy.py +146 -0
  29. vindicara-0.1.0/src/vindicara/engine/rules/__init__.py +1 -0
  30. vindicara-0.1.0/src/vindicara/engine/rules/base.py +15 -0
  31. vindicara-0.1.0/src/vindicara/engine/rules/composite.py +76 -0
  32. vindicara-0.1.0/src/vindicara/engine/rules/deterministic.py +85 -0
  33. vindicara-0.1.0/src/vindicara/infra/__init__.py +1 -0
  34. vindicara-0.1.0/src/vindicara/infra/app.py +30 -0
  35. vindicara-0.1.0/src/vindicara/infra/stacks/__init__.py +1 -0
  36. vindicara-0.1.0/src/vindicara/infra/stacks/api_stack.py +73 -0
  37. vindicara-0.1.0/src/vindicara/infra/stacks/data_stack.py +67 -0
  38. vindicara-0.1.0/src/vindicara/infra/stacks/events_stack.py +24 -0
  39. vindicara-0.1.0/src/vindicara/lambda_handler.py +8 -0
  40. vindicara-0.1.0/src/vindicara/mcp/__init__.py +26 -0
  41. vindicara-0.1.0/src/vindicara/mcp/analyzer.py +241 -0
  42. vindicara-0.1.0/src/vindicara/mcp/findings.py +67 -0
  43. vindicara-0.1.0/src/vindicara/mcp/prober.py +229 -0
  44. vindicara-0.1.0/src/vindicara/mcp/risk.py +41 -0
  45. vindicara-0.1.0/src/vindicara/mcp/scanner.py +143 -0
  46. vindicara-0.1.0/src/vindicara/mcp/transport.py +150 -0
  47. vindicara-0.1.0/src/vindicara/py.typed +0 -0
  48. vindicara-0.1.0/src/vindicara/sdk/__init__.py +25 -0
  49. vindicara-0.1.0/src/vindicara/sdk/client.py +146 -0
  50. vindicara-0.1.0/src/vindicara/sdk/exceptions.py +37 -0
  51. vindicara-0.1.0/src/vindicara/sdk/types.py +68 -0
  52. vindicara-0.1.0/tests/__init__.py +0 -0
  53. vindicara-0.1.0/tests/conftest.py +1 -0
  54. vindicara-0.1.0/tests/integration/__init__.py +0 -0
  55. vindicara-0.1.0/tests/integration/api/__init__.py +0 -0
  56. vindicara-0.1.0/tests/integration/api/test_guard_endpoint.py +82 -0
  57. vindicara-0.1.0/tests/integration/api/test_health.py +27 -0
  58. vindicara-0.1.0/tests/integration/api/test_policies_endpoint.py +25 -0
  59. vindicara-0.1.0/tests/integration/mcp/__init__.py +0 -0
  60. vindicara-0.1.0/tests/integration/mcp/test_scan_endpoint.py +77 -0
  61. vindicara-0.1.0/tests/unit/__init__.py +0 -0
  62. vindicara-0.1.0/tests/unit/engine/__init__.py +0 -0
  63. vindicara-0.1.0/tests/unit/engine/test_composite.py +88 -0
  64. vindicara-0.1.0/tests/unit/engine/test_deterministic.py +116 -0
  65. vindicara-0.1.0/tests/unit/engine/test_evaluator.py +51 -0
  66. vindicara-0.1.0/tests/unit/engine/test_policy.py +55 -0
  67. vindicara-0.1.0/tests/unit/mcp/__init__.py +0 -0
  68. vindicara-0.1.0/tests/unit/mcp/test_analyzer.py +136 -0
  69. vindicara-0.1.0/tests/unit/mcp/test_findings.py +80 -0
  70. vindicara-0.1.0/tests/unit/mcp/test_prober.py +167 -0
  71. vindicara-0.1.0/tests/unit/mcp/test_risk.py +91 -0
  72. vindicara-0.1.0/tests/unit/mcp/test_scanner.py +72 -0
  73. vindicara-0.1.0/tests/unit/sdk/__init__.py +0 -0
  74. vindicara-0.1.0/tests/unit/sdk/test_client.py +78 -0
  75. vindicara-0.1.0/tests/unit/sdk/test_types.py +64 -0
@@ -0,0 +1,38 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.egg-info/
6
+ *.egg
7
+ dist/
8
+ build/
9
+ *.whl
10
+
11
+ # Virtual environments
12
+ .venv/
13
+ venv/
14
+ ENV/
15
+
16
+ # Testing / Coverage
17
+ .pytest_cache/
18
+ .coverage
19
+ htmlcov/
20
+ .mypy_cache/
21
+
22
+ # CDK
23
+ cdk.out/
24
+ cdk.context.json
25
+
26
+ # IDE
27
+ .vscode/
28
+ .idea/
29
+ *.swp
30
+ *.swo
31
+ *~
32
+ .DS_Store
33
+
34
+ # Environment variables
35
+ .env
36
+ .env.*
37
+ lambda_package/
38
+ cdk.out/
@@ -0,0 +1,317 @@
1
+ Metadata-Version: 2.4
2
+ Name: vindicara
3
+ Version: 0.1.0
4
+ Summary: Runtime security for autonomous AI. The control plane for AI agents in production.
5
+ Project-URL: Homepage, https://vindicara.io
6
+ Project-URL: Repository, https://github.com/get-sltr/vindicara-ai
7
+ Project-URL: Documentation, https://docs.vindicara.io
8
+ Author-email: Vindicara <eng@vindicara.io>
9
+ License-Expression: Apache-2.0
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Topic :: Security
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Classifier: Typing :: Typed
19
+ Requires-Python: >=3.11
20
+ Requires-Dist: httpx<1.0,>=0.27.0
21
+ Requires-Dist: pydantic-settings<3.0,>=2.3.0
22
+ Requires-Dist: pydantic<3.0,>=2.7.0
23
+ Requires-Dist: structlog<26.0,>=24.1.0
24
+ Provides-Extra: api
25
+ Requires-Dist: boto3-stubs[dynamodb,events,s3]<2.0,>=1.35.0; extra == 'api'
26
+ Requires-Dist: boto3<2.0,>=1.35.0; extra == 'api'
27
+ Requires-Dist: fastapi<1.0,>=0.115.0; extra == 'api'
28
+ Requires-Dist: mangum<1.0,>=0.19.0; extra == 'api'
29
+ Requires-Dist: uvicorn<1.0,>=0.30.0; extra == 'api'
30
+ Provides-Extra: cdk
31
+ Requires-Dist: aws-cdk-lib<3.0,>=2.150.0; extra == 'cdk'
32
+ Requires-Dist: constructs<11.0,>=10.0.0; extra == 'cdk'
33
+ Provides-Extra: dev
34
+ Requires-Dist: hypothesis<7.0,>=6.100.0; extra == 'dev'
35
+ Requires-Dist: mypy<2.0,>=1.11.0; extra == 'dev'
36
+ Requires-Dist: pip-audit<3.0,>=2.7.0; extra == 'dev'
37
+ Requires-Dist: pytest-asyncio<1.0,>=0.24.0; extra == 'dev'
38
+ Requires-Dist: pytest-cov<6.0,>=5.0.0; extra == 'dev'
39
+ Requires-Dist: pytest<9.0,>=8.3.0; extra == 'dev'
40
+ Requires-Dist: ruff<1.0,>=0.6.0; extra == 'dev'
41
+ Description-Content-Type: text/markdown
42
+
43
+ <p align="center">
44
+ <img src="https://vindicara.io/hero-mesh.png" alt="Vindicara" width="100%">
45
+ </p>
46
+
47
+ <h1 align="center">Vindicara</h1>
48
+
49
+ <p align="center">
50
+ <strong>Runtime security for autonomous AI.</strong><br>
51
+ The control plane for AI agents in production.
52
+ </p>
53
+
54
+ <p align="center">
55
+ <a href="https://vindicara.io">Website</a> ·
56
+ <a href="https://d1xzz26fz4.execute-api.us-east-1.amazonaws.com/docs">API Docs</a> ·
57
+ <a href="https://vindicara.io/#live-demo">Live Demo</a> ·
58
+ <a href="mailto:hello@vindicara.io">Contact</a>
59
+ </p>
60
+
61
+ <p align="center">
62
+ <img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square" alt="Python 3.11+">
63
+ <img src="https://img.shields.io/badge/license-Apache%202.0-green?style=flat-square" alt="License">
64
+ <img src="https://img.shields.io/badge/status-developer%20preview-orange?style=flat-square" alt="Status">
65
+ <img src="https://img.shields.io/badge/latency-<2ms%20deterministic-brightgreen?style=flat-square" alt="Latency">
66
+ </p>
67
+
68
+ ---
69
+
70
+ ## The Problem
71
+
72
+ AI agents are no longer chatbots answering questions. They are autonomous systems executing multi-step workflows, accessing enterprise infrastructure via MCP (Model Context Protocol), modifying databases, triggering transactions, and making decisions at machine speed.
73
+
74
+ The security infrastructure has not kept up:
75
+
76
+ - **92% of MCP servers lack proper OAuth.** Nearly half of those that do have material implementation flaws (RSA Conference 2026).
77
+ - **40% of enterprise applications** will embed task-specific AI agents by end of 2026 (Gartner).
78
+ - **EU AI Act enforcement begins August 2, 2026.** High-risk AI systems require runtime monitoring, audit trails, and incident reporting. Non-compliance: up to 7% of global annual revenue.
79
+ - **MITRE ATLAS and NIST frameworks** do not yet cover MCP-specific attack vectors. Roughly 50% of the agentic architectural stack has zero standardized defensive guidance.
80
+ - **CalypsoAI was acquired by F5. Lakera was acquired by Check Point.** The independent, developer-first tier of the market is empty.
81
+
82
+ Vindicara fills that gap.
83
+
84
+ ---
85
+
86
+ ## What Vindicara Does
87
+
88
+ Vindicara sits between AI agents/models and the systems they interact with. It intercepts every input and output in real time to enforce safety policies, prevent data leakage, detect behavioral drift, audit agent actions, and generate compliance evidence.
89
+
90
+ ```python
91
+ import vindicara
92
+
93
+ vc = vindicara.Client(api_key="vnd_...")
94
+
95
+ # Guard every agent interaction
96
+ result = await vc.guard(
97
+ input=user_prompt,
98
+ output=model_response,
99
+ policy="content-safety"
100
+ )
101
+
102
+ if result.is_blocked:
103
+ # Policy violation detected
104
+ print(result.triggered_rules)
105
+ ```
106
+
107
+ Two lines of code. Sub-2ms evaluation for deterministic rules. No infrastructure rewrites. No model changes.
108
+
109
+ ---
110
+
111
+ ## Five Layers of Runtime Defense
112
+
113
+ ### 1. Input & Output Guard
114
+ Intercept every prompt and response. Block prompt injection, PII leakage, toxic content, and policy violations before they reach users or downstream systems.
115
+
116
+ ```python
117
+ # Deterministic rules: <2ms
118
+ # ML-based detection: <50ms
119
+ result = vc.guard(input=prompt, output=response, policy="pii-filter")
120
+ ```
121
+
122
+ ### 2. MCP Security Scanner
123
+ Audit MCP server configurations for authentication weaknesses, overprivileged tool access, and known attack vectors. Runtime traffic inspection catches privilege escalation and abnormal chaining patterns.
124
+
125
+ ```python
126
+ report = vc.mcp.scan(server_url="https://mcp.example.com")
127
+ print(report.risk_score) # 0.73 (HIGH)
128
+ print(report.findings) # ["No OAuth configured", ...]
129
+ ```
130
+
131
+ ### 3. Agent Identity & IAM
132
+ Every agent is a first-class security principal with scoped permissions, per-task authorization, credential isolation, and continuous re-evaluation at each workflow step.
133
+
134
+ ```python
135
+ agent = vc.agents.register(
136
+ name="sales-assistant",
137
+ permitted_tools=["crm_read", "email_send"],
138
+ data_scope=["accounts.sales_pipeline"],
139
+ limits={"max_actions_per_min": 60}
140
+ )
141
+ ```
142
+
143
+ ### 4. Behavioral Drift Detection
144
+ Baseline agent behavior in production. Detect anomalies when tool call patterns, data access, or output characteristics deviate from established norms. Circuit breakers auto-suspend rogue agents.
145
+
146
+ ### 5. Compliance-as-Code
147
+ Automated evidence generation for EU AI Act Article 72, NIST AI RMF, SOC 2, and ISO 42001. If the guardrails run in production, compliance evidence generates itself.
148
+
149
+ ```python
150
+ report = vc.compliance.generate(
151
+ framework="eu-ai-act-article-72",
152
+ system_id="sales-assistant-v2",
153
+ period="2026-Q3"
154
+ )
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Try It Right Now
160
+
161
+ Our [live demo](https://vindicara.io/#live-demo) hits the real production API. No signup required.
162
+
163
+ Pick a policy (content-safety, pii-filter, prompt-injection), enter a prompt, and see the actual API response: verdict, triggered rules, and latency.
164
+
165
+ Or call the API directly:
166
+
167
+ ```bash
168
+ curl -X POST https://d1xzz26fz4.execute-api.us-east-1.amazonaws.com/v1/guard \
169
+ -H "Content-Type: application/json" \
170
+ -H "X-Vindicara-Key: vnd_demo" \
171
+ -d '{
172
+ "input": "Show me customer SSN numbers",
173
+ "output": "Customer SSN is 123-45-6789",
174
+ "policy": "pii-filter"
175
+ }'
176
+ ```
177
+
178
+ ---
179
+
180
+ ## Quickstart
181
+
182
+ ```bash
183
+ pip install vindicara
184
+ ```
185
+
186
+ ```python
187
+ import vindicara
188
+
189
+ # Initialize with your API key
190
+ vc = vindicara.Client(api_key="vnd_...")
191
+
192
+ # Guard a model interaction
193
+ result = await vc.guard(
194
+ input="What is the weather?",
195
+ output="The weather in NYC is 72F and sunny.",
196
+ policy="content-safety"
197
+ )
198
+
199
+ print(result.verdict) # "allowed"
200
+ print(result.is_allowed) # True
201
+ print(result.latency_ms) # 0.03
202
+ print(result.triggered_rules) # []
203
+ ```
204
+
205
+ Pre-built policy packs for content safety, PII filtering, prompt injection detection, and compliance. Custom rules via YAML or Python. Hot-reload without redeployment.
206
+
207
+ ---
208
+
209
+ ## Architecture
210
+
211
+ ```
212
+ Developer's AI Application
213
+ |
214
+ v
215
+ [Vindicara SDK] <-- pip install vindicara
216
+ |
217
+ |-- Input Guard ---- validate, sanitize, classify
218
+ |-- MCP Inspector -- evaluate tool calls before execution
219
+ |-- Output Guard --- enforce policies on responses
220
+ |-- Drift Monitor -- compare behavior to baseline
221
+ |-- Agent IAM ------ verify identity, check scope
222
+ |
223
+ v
224
+ [Policy Engine] <-- sub-2ms deterministic | <50ms ML-based
225
+ |
226
+ v
227
+ [Audit Logger] --> immutable logs, compliance artifacts
228
+ ```
229
+
230
+ ---
231
+
232
+ ## Why Vindicara Exists
233
+
234
+ | Company | Status | Gap |
235
+ |---------|--------|-----|
236
+ | CalypsoAI | Acquired by F5 | Government-only, no self-serve |
237
+ | Lakera | Acquired by Check Point | Enterprise-only, expensive |
238
+ | Guardrails AI | $7.5M seed, 11 employees | Open source but complex setup |
239
+ | NVIDIA NeMo | Open source toolkit | No managed service, no compliance |
240
+ | Cisco AI Defense | RSA 2026 launch | Enterprise networking stack |
241
+
242
+ Vindicara is the only **independent, developer-first** AI runtime security platform with self-serve pricing that covers the full agentic lifecycle.
243
+
244
+ Not a feature inside someone else's enterprise stack. Not a gateway. Not an observability tool. The policy enforcement engine developers embed in their code and have runtime protection in under 5 minutes.
245
+
246
+ ---
247
+
248
+ ## Pricing
249
+
250
+ | Tier | Price | What You Get |
251
+ |------|-------|-------------|
252
+ | **Open Source** | Free forever | Core policy engine, local evaluation, community support |
253
+ | **Developer** | $49/mo | Managed dashboard, MCP scanner (5 servers), cloud logging |
254
+ | **Team** | $149/mo | Agent IAM, behavioral baselines, 25 MCP servers, Slack support |
255
+ | **Enterprise** | Custom | Compliance engine, on-prem/VPC, SSO/SAML, SLA, BAA |
256
+
257
+ ---
258
+
259
+ ## Regulatory Tailwinds
260
+
261
+ **EU AI Act (August 2, 2026):** High-risk AI systems must implement continuous monitoring, maintain audit trails, report incidents within strict timeframes, and generate conformity documentation. Vindicara automates all of this from runtime data.
262
+
263
+ **NIST AI RMF:** Maps Vindicara's runtime telemetry to framework controls. Evidence packages generated automatically.
264
+
265
+ **SOC 2 / ISO 42001:** Audit trail exports, access control evidence, change management logs formatted for auditor consumption.
266
+
267
+ ---
268
+
269
+ ## Stack
270
+
271
+ - **Language:** Python 3.11+
272
+ - **API:** FastAPI, Pydantic v2, async-native
273
+ - **Infrastructure:** AWS Lambda (Mangum), API Gateway, DynamoDB, S3, EventBridge
274
+ - **Frontend:** SvelteKit
275
+ - **SDK:** `pip install vindicara` (sync + async interfaces, zero heavy dependencies)
276
+ - **Tooling:** ruff, mypy --strict, pytest + hypothesis
277
+
278
+ ---
279
+
280
+ ## Roadmap
281
+
282
+ - [x] Core policy engine (deterministic rules)
283
+ - [x] SDK client with sync/async interfaces
284
+ - [x] FastAPI backend on AWS Lambda
285
+ - [x] Live production API
286
+ - [x] Marketing site with interactive demo
287
+ - [ ] PyPI package distribution
288
+ - [ ] MCP Security Scanner (standalone tool)
289
+ - [ ] Agent Identity & IAM module
290
+ - [ ] Behavioral drift detection
291
+ - [ ] Compliance-as-Code engine (EU AI Act, NIST, SOC 2)
292
+ - [ ] Managed dashboard
293
+ - [ ] SOC 2 Type I certification
294
+
295
+ ---
296
+
297
+ ## About
298
+
299
+ Vindicara is built by [Kevin Minn](https://linkedin.com/in/kevinminn), founder of [SLTR Digital](https://sltrdigital.com). Solo technical founder. Cybersecurity student. Building the security infrastructure the agentic AI era demands.
300
+
301
+ - **Website:** [vindicara.io](https://vindicara.io)
302
+ - **API Docs:** [Live OpenAPI](https://d1xzz26fz4.execute-api.us-east-1.amazonaws.com/docs)
303
+ - **Email:** [hello@vindicara.io](mailto:hello@vindicara.io)
304
+ - **Twitter/X:** [@vindicara](https://x.com/vindicara)
305
+
306
+ ---
307
+
308
+ ## License
309
+
310
+ Apache 2.0. See [LICENSE](LICENSE) for details.
311
+
312
+ ---
313
+
314
+ <p align="center">
315
+ <strong>Your agents are autonomous. Your security should be too.</strong><br><br>
316
+ <code>pip install vindicara</code>
317
+ </p>
@@ -0,0 +1,275 @@
1
+ <p align="center">
2
+ <img src="https://vindicara.io/hero-mesh.png" alt="Vindicara" width="100%">
3
+ </p>
4
+
5
+ <h1 align="center">Vindicara</h1>
6
+
7
+ <p align="center">
8
+ <strong>Runtime security for autonomous AI.</strong><br>
9
+ The control plane for AI agents in production.
10
+ </p>
11
+
12
+ <p align="center">
13
+ <a href="https://vindicara.io">Website</a> ·
14
+ <a href="https://d1xzz26fz4.execute-api.us-east-1.amazonaws.com/docs">API Docs</a> ·
15
+ <a href="https://vindicara.io/#live-demo">Live Demo</a> ·
16
+ <a href="mailto:hello@vindicara.io">Contact</a>
17
+ </p>
18
+
19
+ <p align="center">
20
+ <img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square" alt="Python 3.11+">
21
+ <img src="https://img.shields.io/badge/license-Apache%202.0-green?style=flat-square" alt="License">
22
+ <img src="https://img.shields.io/badge/status-developer%20preview-orange?style=flat-square" alt="Status">
23
+ <img src="https://img.shields.io/badge/latency-<2ms%20deterministic-brightgreen?style=flat-square" alt="Latency">
24
+ </p>
25
+
26
+ ---
27
+
28
+ ## The Problem
29
+
30
+ AI agents are no longer chatbots answering questions. They are autonomous systems executing multi-step workflows, accessing enterprise infrastructure via MCP (Model Context Protocol), modifying databases, triggering transactions, and making decisions at machine speed.
31
+
32
+ The security infrastructure has not kept up:
33
+
34
+ - **92% of MCP servers lack proper OAuth.** Nearly half of those that do have material implementation flaws (RSA Conference 2026).
35
+ - **40% of enterprise applications** will embed task-specific AI agents by end of 2026 (Gartner).
36
+ - **EU AI Act enforcement begins August 2, 2026.** High-risk AI systems require runtime monitoring, audit trails, and incident reporting. Non-compliance: up to 7% of global annual revenue.
37
+ - **MITRE ATLAS and NIST frameworks** do not yet cover MCP-specific attack vectors. Roughly 50% of the agentic architectural stack has zero standardized defensive guidance.
38
+ - **CalypsoAI was acquired by F5. Lakera was acquired by Check Point.** The independent, developer-first tier of the market is empty.
39
+
40
+ Vindicara fills that gap.
41
+
42
+ ---
43
+
44
+ ## What Vindicara Does
45
+
46
+ Vindicara sits between AI agents/models and the systems they interact with. It intercepts every input and output in real time to enforce safety policies, prevent data leakage, detect behavioral drift, audit agent actions, and generate compliance evidence.
47
+
48
+ ```python
49
+ import vindicara
50
+
51
+ vc = vindicara.Client(api_key="vnd_...")
52
+
53
+ # Guard every agent interaction
54
+ result = await vc.guard(
55
+ input=user_prompt,
56
+ output=model_response,
57
+ policy="content-safety"
58
+ )
59
+
60
+ if result.is_blocked:
61
+ # Policy violation detected
62
+ print(result.triggered_rules)
63
+ ```
64
+
65
+ Two lines of code. Sub-2ms evaluation for deterministic rules. No infrastructure rewrites. No model changes.
66
+
67
+ ---
68
+
69
+ ## Five Layers of Runtime Defense
70
+
71
+ ### 1. Input & Output Guard
72
+ Intercept every prompt and response. Block prompt injection, PII leakage, toxic content, and policy violations before they reach users or downstream systems.
73
+
74
+ ```python
75
+ # Deterministic rules: <2ms
76
+ # ML-based detection: <50ms
77
+ result = vc.guard(input=prompt, output=response, policy="pii-filter")
78
+ ```
79
+
80
+ ### 2. MCP Security Scanner
81
+ Audit MCP server configurations for authentication weaknesses, overprivileged tool access, and known attack vectors. Runtime traffic inspection catches privilege escalation and abnormal chaining patterns.
82
+
83
+ ```python
84
+ report = vc.mcp.scan(server_url="https://mcp.example.com")
85
+ print(report.risk_score) # 0.73 (HIGH)
86
+ print(report.findings) # ["No OAuth configured", ...]
87
+ ```
88
+
89
+ ### 3. Agent Identity & IAM
90
+ Every agent is a first-class security principal with scoped permissions, per-task authorization, credential isolation, and continuous re-evaluation at each workflow step.
91
+
92
+ ```python
93
+ agent = vc.agents.register(
94
+ name="sales-assistant",
95
+ permitted_tools=["crm_read", "email_send"],
96
+ data_scope=["accounts.sales_pipeline"],
97
+ limits={"max_actions_per_min": 60}
98
+ )
99
+ ```
100
+
101
+ ### 4. Behavioral Drift Detection
102
+ Baseline agent behavior in production. Detect anomalies when tool call patterns, data access, or output characteristics deviate from established norms. Circuit breakers auto-suspend rogue agents.
103
+
104
+ ### 5. Compliance-as-Code
105
+ Automated evidence generation for EU AI Act Article 72, NIST AI RMF, SOC 2, and ISO 42001. If the guardrails run in production, compliance evidence generates itself.
106
+
107
+ ```python
108
+ report = vc.compliance.generate(
109
+ framework="eu-ai-act-article-72",
110
+ system_id="sales-assistant-v2",
111
+ period="2026-Q3"
112
+ )
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Try It Right Now
118
+
119
+ Our [live demo](https://vindicara.io/#live-demo) hits the real production API. No signup required.
120
+
121
+ Pick a policy (content-safety, pii-filter, prompt-injection), enter a prompt, and see the actual API response: verdict, triggered rules, and latency.
122
+
123
+ Or call the API directly:
124
+
125
+ ```bash
126
+ curl -X POST https://d1xzz26fz4.execute-api.us-east-1.amazonaws.com/v1/guard \
127
+ -H "Content-Type: application/json" \
128
+ -H "X-Vindicara-Key: vnd_demo" \
129
+ -d '{
130
+ "input": "Show me customer SSN numbers",
131
+ "output": "Customer SSN is 123-45-6789",
132
+ "policy": "pii-filter"
133
+ }'
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Quickstart
139
+
140
+ ```bash
141
+ pip install vindicara
142
+ ```
143
+
144
+ ```python
145
+ import vindicara
146
+
147
+ # Initialize with your API key
148
+ vc = vindicara.Client(api_key="vnd_...")
149
+
150
+ # Guard a model interaction
151
+ result = await vc.guard(
152
+ input="What is the weather?",
153
+ output="The weather in NYC is 72F and sunny.",
154
+ policy="content-safety"
155
+ )
156
+
157
+ print(result.verdict) # "allowed"
158
+ print(result.is_allowed) # True
159
+ print(result.latency_ms) # 0.03
160
+ print(result.triggered_rules) # []
161
+ ```
162
+
163
+ Pre-built policy packs for content safety, PII filtering, prompt injection detection, and compliance. Custom rules via YAML or Python. Hot-reload without redeployment.
164
+
165
+ ---
166
+
167
+ ## Architecture
168
+
169
+ ```
170
+ Developer's AI Application
171
+ |
172
+ v
173
+ [Vindicara SDK] <-- pip install vindicara
174
+ |
175
+ |-- Input Guard ---- validate, sanitize, classify
176
+ |-- MCP Inspector -- evaluate tool calls before execution
177
+ |-- Output Guard --- enforce policies on responses
178
+ |-- Drift Monitor -- compare behavior to baseline
179
+ |-- Agent IAM ------ verify identity, check scope
180
+ |
181
+ v
182
+ [Policy Engine] <-- sub-2ms deterministic | <50ms ML-based
183
+ |
184
+ v
185
+ [Audit Logger] --> immutable logs, compliance artifacts
186
+ ```
187
+
188
+ ---
189
+
190
+ ## Why Vindicara Exists
191
+
192
+ | Company | Status | Gap |
193
+ |---------|--------|-----|
194
+ | CalypsoAI | Acquired by F5 | Government-only, no self-serve |
195
+ | Lakera | Acquired by Check Point | Enterprise-only, expensive |
196
+ | Guardrails AI | $7.5M seed, 11 employees | Open source but complex setup |
197
+ | NVIDIA NeMo | Open source toolkit | No managed service, no compliance |
198
+ | Cisco AI Defense | RSA 2026 launch | Enterprise networking stack |
199
+
200
+ Vindicara is the only **independent, developer-first** AI runtime security platform with self-serve pricing that covers the full agentic lifecycle.
201
+
202
+ Not a feature inside someone else's enterprise stack. Not a gateway. Not an observability tool. The policy enforcement engine developers embed in their code and have runtime protection in under 5 minutes.
203
+
204
+ ---
205
+
206
+ ## Pricing
207
+
208
+ | Tier | Price | What You Get |
209
+ |------|-------|-------------|
210
+ | **Open Source** | Free forever | Core policy engine, local evaluation, community support |
211
+ | **Developer** | $49/mo | Managed dashboard, MCP scanner (5 servers), cloud logging |
212
+ | **Team** | $149/mo | Agent IAM, behavioral baselines, 25 MCP servers, Slack support |
213
+ | **Enterprise** | Custom | Compliance engine, on-prem/VPC, SSO/SAML, SLA, BAA |
214
+
215
+ ---
216
+
217
+ ## Regulatory Tailwinds
218
+
219
+ **EU AI Act (August 2, 2026):** High-risk AI systems must implement continuous monitoring, maintain audit trails, report incidents within strict timeframes, and generate conformity documentation. Vindicara automates all of this from runtime data.
220
+
221
+ **NIST AI RMF:** Maps Vindicara's runtime telemetry to framework controls. Evidence packages generated automatically.
222
+
223
+ **SOC 2 / ISO 42001:** Audit trail exports, access control evidence, change management logs formatted for auditor consumption.
224
+
225
+ ---
226
+
227
+ ## Stack
228
+
229
+ - **Language:** Python 3.11+
230
+ - **API:** FastAPI, Pydantic v2, async-native
231
+ - **Infrastructure:** AWS Lambda (Mangum), API Gateway, DynamoDB, S3, EventBridge
232
+ - **Frontend:** SvelteKit
233
+ - **SDK:** `pip install vindicara` (sync + async interfaces, zero heavy dependencies)
234
+ - **Tooling:** ruff, mypy --strict, pytest + hypothesis
235
+
236
+ ---
237
+
238
+ ## Roadmap
239
+
240
+ - [x] Core policy engine (deterministic rules)
241
+ - [x] SDK client with sync/async interfaces
242
+ - [x] FastAPI backend on AWS Lambda
243
+ - [x] Live production API
244
+ - [x] Marketing site with interactive demo
245
+ - [ ] PyPI package distribution
246
+ - [ ] MCP Security Scanner (standalone tool)
247
+ - [ ] Agent Identity & IAM module
248
+ - [ ] Behavioral drift detection
249
+ - [ ] Compliance-as-Code engine (EU AI Act, NIST, SOC 2)
250
+ - [ ] Managed dashboard
251
+ - [ ] SOC 2 Type I certification
252
+
253
+ ---
254
+
255
+ ## About
256
+
257
+ Vindicara is built by [Kevin Minn](https://linkedin.com/in/kevinminn), founder of [SLTR Digital](https://sltrdigital.com). Solo technical founder. Cybersecurity student. Building the security infrastructure the agentic AI era demands.
258
+
259
+ - **Website:** [vindicara.io](https://vindicara.io)
260
+ - **API Docs:** [Live OpenAPI](https://d1xzz26fz4.execute-api.us-east-1.amazonaws.com/docs)
261
+ - **Email:** [hello@vindicara.io](mailto:hello@vindicara.io)
262
+ - **Twitter/X:** [@vindicara](https://x.com/vindicara)
263
+
264
+ ---
265
+
266
+ ## License
267
+
268
+ Apache 2.0. See [LICENSE](LICENSE) for details.
269
+
270
+ ---
271
+
272
+ <p align="center">
273
+ <strong>Your agents are autonomous. Your security should be too.</strong><br><br>
274
+ <code>pip install vindicara</code>
275
+ </p>
@@ -0,0 +1,10 @@
1
+ {
2
+ "app": "python3 -m vindicara.infra.app",
3
+ "watch": {
4
+ "include": ["src/vindicara/infra/**"]
5
+ },
6
+ "context": {
7
+ "@aws-cdk/aws-lambda:recognizeVersionProps": true,
8
+ "@aws-cdk/core:newStyleStackSynthesis": true
9
+ }
10
+ }