@tenova/swt3-ai 0.5.4 → 0.5.5
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.
- package/README.md +35 -16
- package/package.json +1 -1
- package/templates/microsoft-foundry.yaml +61 -0
package/README.md
CHANGED
|
@@ -13,19 +13,17 @@ Works with OpenAI, Anthropic, AWS Bedrock, Vercel AI SDK, and any OpenAI-compati
|
|
|
13
13
|
|
|
14
14
|
GPAI transparency obligations are enforceable now. EU AI Act high-risk enforcement begins **December 2, 2027**. This SDK gives you the evidence chain.
|
|
15
15
|
|
|
16
|
-
## What's New in v0.5.
|
|
17
|
-
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **
|
|
21
|
-
- **
|
|
22
|
-
- **
|
|
23
|
-
- **
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
26
|
-
- **
|
|
27
|
-
- **NSA MCP Security Mapping** -- [7 of 9 NSA AISC recommendations](https://sovereign.tenova.io/guides/nsa-mcp-security-mapping.html) addressed at the SDK layer (CSI U/OO/6030316-26, May 2026)
|
|
28
|
-
- **65 procedures**, 41 namespaces, 207 cross-language test vectors
|
|
16
|
+
## What's New in v0.5.5
|
|
17
|
+
|
|
18
|
+
- **Trust Mesh Hardened** -- 7 security layers: intra-tenant zero-trust, per-agent rate limiting, per-level freshness windows (SOVEREIGN requires 5-min anchors), verifiable boolean claims, deny list propagation with sentinel hooks. All opt-in, frictionless defaults unchanged.
|
|
19
|
+
- **Key Attestation (AI-TRUST.3)** -- Bind signing keys to witness anchors. `generateKeyAttestation()` / `verifyKeyAttestation()`. Keys valid only while bound anchor is fresh. No certificate authority required.
|
|
20
|
+
- **Challenge-Response Liveness** -- Prove live key possession via nonce-based challenges. `generateChallenge()` / `respondToChallenge()` / `verifyLivenessResponse()`. Defeats credential replay at ATTESTED/SOVEREIGN levels.
|
|
21
|
+
- **4 New Adapters** -- Google ADK, CrewAI, A2A (Google Agent-to-Agent), Microsoft Foundry. 12 total integrations.
|
|
22
|
+
- **Verify CLI** -- `swt3 verify --anchor <token>` recomputes fingerprint offline. Zero network calls.
|
|
23
|
+
- **Bidirectional Framework Crosswalks** -- 222 mappings across 16 frameworks in machine-readable JSON.
|
|
24
|
+
- **RFC 3161 Timestamps** -- Merkle rollups include RFC 3161 timestamp authority proof for legal non-repudiation.
|
|
25
|
+
- **Microsoft Foundry Profile** -- Industry profile for Azure AI Foundry + AGT deployments.
|
|
26
|
+
- **15 profiles**, 65 procedures, 41 namespaces, 12 integrations, 1,379 cross-language tests
|
|
29
27
|
|
|
30
28
|
## MCP Server -- Official Registry
|
|
31
29
|
|
|
@@ -93,6 +91,24 @@ trust_mesh:
|
|
|
93
91
|
|
|
94
92
|
All verification is local. Zero cloud overhead. No data exchanged until both agents clear the trust gate. Unsigned agents are capped at TRUST_BASIC (level 1). Add signing keys for verified trust. Add hardware attestation for sovereign trust.
|
|
95
93
|
|
|
94
|
+
## Offline Verification
|
|
95
|
+
|
|
96
|
+
Verify any witness anchor without network calls. The fingerprint formula is deterministic and identical across all 6 SDK languages -- recompute it anywhere in microseconds.
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
import { verifyAnchor } from "@tenova/swt3-ai";
|
|
100
|
+
|
|
101
|
+
const result = verifyAnchor(anchor, {
|
|
102
|
+
tenantId: "MY_TENANT",
|
|
103
|
+
procedureId: "AI-INF.1",
|
|
104
|
+
factorA: 1, factorB: 1, factorC: 0,
|
|
105
|
+
timestampMs: 1773316622000,
|
|
106
|
+
});
|
|
107
|
+
// result.status: "CERTIFIED TRUTH" | "TAMPERED"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Zero vendor dependency. Zero network calls. Works air-gapped. The same formula runs in Python, TypeScript, Rust, C#, and Ruby with identical output for identical inputs.
|
|
111
|
+
|
|
96
112
|
## See It Work (No Account Needed)
|
|
97
113
|
|
|
98
114
|
```bash
|
|
@@ -1029,9 +1045,12 @@ Your prompts and responses **never leave your infrastructure**. The SDK computes
|
|
|
1029
1045
|
- [Design Rationale](https://sovereign.tenova.io/guides/swt3-design-rationale.html) -- why every protocol decision was made
|
|
1030
1046
|
- [UCT Registry](https://sovereign.tenova.io/registry) -- full procedure catalog with factor definitions
|
|
1031
1047
|
- [Anchor Verifier](https://sovereign.tenova.io/verify) -- verify any anchor, zero server calls
|
|
1032
|
-
- [
|
|
1033
|
-
- [
|
|
1034
|
-
- [
|
|
1048
|
+
- [Before & After](https://sovereign.tenova.io/guides/developer-before-after.html) -- manual audit evidence vs. cryptographic witness anchors
|
|
1049
|
+
- [Integration Patterns](https://sovereign.tenova.io/guides/developer-integration-patterns.html) -- 8 instrumentation patterns mapped to regulatory requirements
|
|
1050
|
+
- [What Your Auditor Sees](https://sovereign.tenova.io/guides/developer-auditor-bridge.html) -- both sides of a witness anchor, developer to auditor
|
|
1051
|
+
- [CI/CD Integration](https://sovereign.tenova.io/guides/developer-cicd-guide.html) -- validate compliance configuration in your pipeline
|
|
1052
|
+
- [Assessment Mapping](https://sovereign.tenova.io/registry/assessment.html) -- which procedures satisfy which regulatory requirements
|
|
1053
|
+
- [All 65 Guides](https://sovereign.tenova.io/guides/) -- regulatory crosswalks, assessor walkthroughs, integration guides
|
|
1035
1054
|
|
|
1036
1055
|
---
|
|
1037
1056
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tenova/swt3-ai",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.5",
|
|
4
4
|
"description": "SWT3 AI Witness SDK: cryptographic attestation for AI inference. 65 procedures, 41 namespaces, 5 languages, 14 profiles. EU AI Act, NIST AI RMF, CMMC, SR 11-7.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# SWT3 Profile: Microsoft Foundry (Agent Governance)
|
|
2
|
+
#
|
|
3
|
+
# Independent cryptographic witness layer for Microsoft Foundry Agent Service.
|
|
4
|
+
# Complements the Microsoft Agent Governance Toolkit (AGT) by providing
|
|
5
|
+
# out-of-band, tamper-evident evidence that auditors can verify without
|
|
6
|
+
# any Microsoft infrastructure.
|
|
7
|
+
#
|
|
8
|
+
# Covers OWASP Agentic Top 10 via independent attestation.
|
|
9
|
+
# Compatible with EU AI Act, NIST AI RMF, CMMC, SOC 2.
|
|
10
|
+
#
|
|
11
|
+
# Usage:
|
|
12
|
+
# profile: microsoft-foundry
|
|
13
|
+
# api_key_env: SWT3_API_KEY
|
|
14
|
+
# tenant_id: YOUR_TENANT
|
|
15
|
+
# agent_id: your-foundry-agent
|
|
16
|
+
# signing_key_env: SWT3_SIGNING_KEY
|
|
17
|
+
|
|
18
|
+
clearing_level: 2
|
|
19
|
+
|
|
20
|
+
policy:
|
|
21
|
+
require_signing: true
|
|
22
|
+
require_agent_id: true
|
|
23
|
+
min_clearing_level: 2
|
|
24
|
+
required_procedures:
|
|
25
|
+
- AI-INF.1 # Inference provenance (prompt/response hashing)
|
|
26
|
+
- AI-GRD.1 # Guardrail presence attestation
|
|
27
|
+
- AI-TOOL.1 # Tool call witnessing (Foundry Toolbox)
|
|
28
|
+
- AI-CHAIN.1 # Chain monitoring (multi-agent Foundry sessions)
|
|
29
|
+
- AI-ID.1 # Agent identity (complements AGT SPIFFE/DID)
|
|
30
|
+
- AI-ACC.1 # Access control witnessing (Foundry RBAC)
|
|
31
|
+
- AI-AUDIT.1 # Independent audit trail (Merkle-rooted)
|
|
32
|
+
|
|
33
|
+
trust_mesh:
|
|
34
|
+
mode: strict
|
|
35
|
+
min_trust_level: 2
|
|
36
|
+
require_signature: true
|
|
37
|
+
freshness_window: 1800
|
|
38
|
+
|
|
39
|
+
mcp_policy:
|
|
40
|
+
witnessed_tools: ["*"]
|
|
41
|
+
exempt_tools: []
|
|
42
|
+
require_trust_level: 2
|
|
43
|
+
auto_witness: true
|
|
44
|
+
block_on_failure: true
|
|
45
|
+
max_velocity: "20/60s"
|
|
46
|
+
max_chain_depth: 12
|
|
47
|
+
max_tokens_per_session: 200000
|
|
48
|
+
fail_secure: true
|
|
49
|
+
|
|
50
|
+
density_policy:
|
|
51
|
+
min_anchors_per_1000_tokens: 1
|
|
52
|
+
max_chain_gap_seconds: 300
|
|
53
|
+
require_signing_key: true
|
|
54
|
+
min_trust_level: 2
|
|
55
|
+
|
|
56
|
+
hardware:
|
|
57
|
+
require_attestation: false
|
|
58
|
+
|
|
59
|
+
merkle:
|
|
60
|
+
enabled: true
|
|
61
|
+
accumulator_interval: 60
|