SWT3 Protocol Specification

Sovereign Witness Traceability Protocol
Version:
1.3.0
Status:
Proposed Standard
Date:
2026-04-17
License:
Apache 2.0
Canonical URL:
https://tenova.io/specs/swt3-v1.3

Status of This Document

This document is a Proposed Standard published by Tenable Nova LLC (DBA TeNova), the originating organization of the SWT3 protocol. It defines the normative requirements for SWT3-conformant implementations and the informative guidance for adopters.

This specification is open for public review and comment. Feedback, errata reports, and proposals for new UCT codes should be submitted via the SWT3 public issue tracker. All substantive changes are versioned and documented in Appendix A.

The path to ratification: Proposed Standard → Draft Standard (two independent implementations passing the conformance test suite) → Full Standard (adoption by a recognized standards body or regulatory citation). This document will be updated to reflect maturity transitions as they occur.

SWT3 in five sentences. Every piece of compliance evidence today depends on trusting the organization that collected it. SWT3 replaces that trust with mathematics: a SHA-256 fingerprint that any party can independently verify, without network access, without database connectivity, and without trusting the issuer. The protocol then goes further with Clearing, which destroys raw evidence after anchoring so that sensitive data does not persist while the cryptographic proof remains intact. SWT3 anchors are self-describing, portable, and framework-agnostic, mapping to NIST 800-53, EU AI Act, SOC 2, HIPAA, PCI-DSS, and ISO 27001 through the Universal Control Taxonomy. The result: full integrity verification and full data sovereignty, simultaneously. Adoption requires no infrastructure changes: a single function call wraps your existing AI client.

Contents

  1. Abstract informative
  2. Problem Statement informative
  3. Terminology normative
  4. Anchor Format normative
  5. Universal Control Taxonomy normative
  6. Fingerprint Algorithm normative
  7. Verification normative
  8. Clearing Protocol normative
  9. OSCAL Integration normative
  10. AI Witnessing Profile normative
  11. Conformance Levels normative
  12. Security Considerations informative
  13. Test Vectors normative
  14. Getting Started informative
  15. For Auditors informative
  16. Reference Implementations informative
  17. Citation informative
RFC 2119 Notation: The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174. Normative sections define binding requirements for conformant implementations. Informative sections provide context, guidance, and examples.

1. Abstract Informative

SWT3 (Sovereign Witness Traceability) is an open protocol for cryptographically anchoring evidence to immutable witness records while preserving data sovereignty. The "3" in SWT3 represents the three phases of the evidence lifecycle:

  1. Provenance: Evidence collection and factor capture at the point of observation. Raw telemetry is decomposed into a structured Factor Matrix and cryptographically bound to a sub-second hardware epoch.
  2. Verification: SHA-256 fingerprint computation binding factors to a self-describing, portable anchor token. Any party can independently re-derive the fingerprint from the original factors and confirm that evidence has not been altered, without network access, without database connectivity, and without trust in the issuing system.
  3. Clearing: Controlled purging of raw evidence after anchoring, ensuring that sensitive telemetry does not persist beyond its operational usefulness. The cryptographic proof survives; the underlying data does not.

SWT3 does not prescribe how evidence is collected (Provenance). It defines how evidence is fingerprinted and anchored (Verification), and how raw evidence can be sovereignly purged while preserving cryptographic proof (Clearing). This separation allows any evidence collection tool to produce SWT3-compatible anchors, while any platform can consume and verify them without vendor lock-in.

2. Problem Statement Informative

Today, compliance evidence across every regulated industry relies on administrative trust: the assumption that whoever controls the database, the log file, or the cloud account has not altered the data. This model has three fundamental weaknesses:

SWT3 resolves all three. A cryptographic fingerprint proves integrity without requiring trust in the custodian. The Clearing Protocol destroys raw evidence while preserving the proof. And the self-describing anchor format makes every record portable and independently verifiable by any system with SHA-256 support.

3. Terminology Normative

TermDefinition
WitnessThe act of observing a state and recording its factors at the point of origin
FactorA measurable input to a determination (e.g., open port count, patch age, sensor reading)
Factor MatrixThe structured triple (factor_a, factor_b, factor_c) captured during Provenance
AnchorA self-describing cryptographic receipt binding factors to a verdict at a specific point in time
FingerprintThe truncated SHA-256 digest that seals the anchor
VerdictThe determination outcome: PASS, FAIL, INHERITED, LAPSED, or UNKNOWN
EnclaveA trust boundary within which anchors share a common verification chain
ClearingControlled purging of raw evidence after anchoring, preserving the cryptographic proof while destroying source telemetry
Administrative TrustThe legacy trust model where data integrity depends on trusting the custodian rather than independent mathematical verification

4. Anchor Format Normative

An SWT3 anchor is a structured string token with the following format:

SWT3-{TIER}-{PROVIDER}-{UCT}-{PROCEDURE}-{VERDICT}-{EPOCH}-{FINGERPRINT}

4.1 Field Definitions

FieldWidthValuesDescription
Protocol4SWT3Fixed protocol identifier
Tier1E, S, HDeployment tier: Enclave, SaaS, Hybrid
Provider2-6AWS, GCP, AZURE, etc.Infrastructure provider
UCT2-3See Section 5Universal Control Taxonomy domain code
Procedure2-6e.g. SC76, AC21Procedure identifier (alphanumeric, normalized)
Verdict4-9PASS, FAILCompliance determination
Epoch10Unix timestampSeconds since Unix epoch at witness time
Fingerprint12Hex stringFirst 12 characters of SHA-256 digest

4.2 Parsing Rules

4.3 ABNF Grammar (RFC 5234)

swt3-anchor   = protocol "-" tier "-" provider "-" uct "-" procedure "-"
                verdict "-" epoch "-" fingerprint

protocol      = %s"SWT3"                         ; case-sensitive
tier          = %x45 / %x53 / %x48               ; "E" / "S" / "H"
provider      = 2*6ALPHA                          ; e.g., AWS, GCP, AZURE
uct           = 2*3ALPHA                          ; UCT Registry code
procedure     = 1*(ALPHA / DIGIT)                 ; normalized ID, no hyphens
verdict       = %s"PASS" / %s"FAIL"               ; normative verdicts
epoch         = 10DIGIT                           ; Unix seconds
fingerprint   = 12HEXDIG                          ; truncated SHA-256

4.4 Examples

SWT3-E-AWS-NET-SC76-PASS-1773316622-96b7d56c0245
SWT3-S-AWS-ACC-AC21-FAIL-1773400000-a3f7c2e91b04
SWT3-H-AZURE-CFG-CM61-INHERITED-1773500000-d2620f999950
SWT3-E-ON-PREM-CRY-SC28-PASS-1773600000-b1a9c3d4e5f6

5. Universal Control Taxonomy (UCT) Normative

UCT is a framework-agnostic classification system that maps every witnessed control into a domain. UCT codes are the bridge that allows SWT3 anchors to carry consistent meaning across compliance frameworks. A CRY anchor has the same semantic meaning whether it originated from a NIST SC-13 check, a PCI-DSS Requirement 4 assessment, or a HIPAA §164.312(a)(2)(iv) encryption review.

5.1 Core Codes

Core codes represent the fundamental security domains present in every major compliance framework. All SWT3 implementations MUST recognize core codes.

CodeDomainDescription
ACCAccess ControlAuthorization, privileges, least privilege, account management
AUDAudit & AccountabilityLogging, log retention, audit review, event correlation
CFGConfiguration ManagementBaselines, hardening, change control, inventory
CRYCryptographyEncryption at rest, in transit, key management, certificate lifecycle
IDNIdentity & AuthenticationAuthentication mechanisms, MFA, credential management
INTSystem IntegrityPatching, file integrity monitoring, malware defense, code signing
NETNetwork SecurityFirewalls, segmentation, boundary protection, traffic filtering
BCPBusiness ContinuityBackup, disaster recovery, contingency planning, availability
GOVGovernance & PolicySecurity policy, planning, system security plans, authorization
IRPIncident ResponseDetection, response, recovery, lessons learned
PHYPhysical SecurityFacility access, media protection, environmental controls

5.2 Extended Codes

Extended codes represent specialized domains for specific regulatory contexts or industry verticals. Implementations SHOULD recognize extended codes relevant to their compliance scope. Unrecognized extended codes MUST NOT cause verification failure.

CodeDomainDescription
AIAI / ML GovernanceModel integrity, algorithmic fairness, AI risk management
ACQSupply ChainVendor risk, third-party assessment, supply chain integrity
DEVSecure DevelopmentSDLC, code review, application security testing
EVIEvidence & ArtifactsIngested proof artifacts, external evidence anchoring
MONContinuous MonitoringOngoing surveillance, posture dashboards, trend analysis
PRIPrivacyPII protection, consent management, data subject rights
RSKRisk ManagementRisk assessments, POA&Ms, vulnerability prioritization
VULVulnerability ManagementScanning, patching cadence, remediation tracking

5.3 Cross-Framework Portability

UCT codes map consistently across major compliance frameworks:

UCTNIST 800-53SOC 2 (TSC)HIPAAPCI-DSS 4.0ISO 27001:2022
ACCACCC6.1, CC6.3§164.312(a)(1)Req 7, 8A.5.15, A.8.3
AUDAUCC7.2§164.312(b)Req 10A.8.15
CFGCMCC8.1§164.310(d)(2)(iii)Req 2A.8.9
CRYSC-8, SC-13, SC-28CC6.1 (enc.)§164.312(a)(2)(iv)Req 3, 4A.8.24
IDNIACC6.1 (auth.)§164.312(d)Req 8A.8.5
INTSICC7.1§164.312(c)(1)Req 5, 6, 11A.8.7
NETSCCC6.6§164.312(e)(1)Req 1A.8.20, A.8.21

5.4 Registry Governance

6. Fingerprint Algorithm Normative

The fingerprint is the cryptographic core of SWT3. It binds the evidence factors to the anchor in a deterministic, reproducible way.

6.1 Input Construction (Canonical Formula)

The fingerprint input is a colon-separated string with a WITNESS: domain separator prefix, followed by exactly six fields:

WITNESS:{tenant_id}:{procedure_id}:{factor_a}:{factor_b}:{factor_c}:{timestamp_ms}
FieldTypeDescription
WITNESSliteralDomain separator prefix (REQUIRED)
tenant_idstringThe organization/tenant identifier
procedure_idstringProcedure identifier in original format (e.g., SC-7.6)
factor_aintegerBaseline/threshold factor
factor_bintegerMeasured/observed factor
factor_cintegerDelta factor (typically factor_b - factor_a)
timestamp_msintegerMillisecond-precision Unix timestamp at witness time
Important: The procedure_id in the fingerprint input retains its original format (e.g., SC-7.6), while the anchor token uses the normalized form (e.g., SC76). The anchor is human-readable; the fingerprint is cryptographic.

6.2 Hash Computation

fingerprint = SHA-256(input_string)[0:12]

1. Encode the input string as UTF-8 bytes
2. Compute the SHA-256 digest
3. Convert to lowercase hexadecimal
4. Truncate to the first 12 characters

6.3 Determinism Guarantee

Given identical inputs, the fingerprint MUST always produce the identical output. This property enables cross-platform verification: an anchor minted in Python can be verified in TypeScript, Go, Rust, or any language with SHA-256 support.

6.4 Reference Computation

Input:       "WITNESS:DEMO_ENCLAVE:SC-7.6:4:3:-1:1773316622000"
SHA-256:     96b7d56c0245... (64 hex chars)
Fingerprint: 96b7d56c0245   (first 12 hex chars)

6.5 Why 12 Characters?

Twelve hexadecimal characters provide 48 bits of entropy (248 = ~281 trillion combinations). This provides collision resistance sufficient for compliance ledgers while keeping anchors human-readable and auditor-friendly. The full 64-character digest SHOULD be stored alongside the anchor for maximum verification fidelity.

7. Verification Normative

7.1 Single Anchor Verification

To verify an anchor, a verifier needs:

  1. The SWT3 anchor token (to extract the claimed fingerprint)
  2. The original factors: procedure_id, tenant_id, factor_a, factor_b, factor_c, timestamp_ms
Algorithm:
1. Extract claimed_fingerprint from anchor token (last segment)
2. Construct input string using the canonical formula (Section 6.1)
3. Compute SHA-256 of UTF-8 encoded input
4. Truncate to 12 hex characters
5. Compare: recomputed == claimed_fingerprint
6. Return VERIFIED if match, TAMPERED if mismatch

7.2 Verification Results

StatusMeaning
CERTIFIED TRUTHFingerprints match. Evidence integrity confirmed.
TAMPEREDFingerprints do not match. Evidence or factors have been modified.
INVALID TOKENAnchor does not conform to SWT3 format.

7.3 Enclave Integrity Verification

An enclave is a collection of anchors sharing a trust boundary (typically a single tenant or organization). Enclave integrity is computed as:

1. Collect all anchor fingerprints in the enclave
2. Sort fingerprints lexicographically
3. Join with colons: "fp1:fp2:fp3:..."
4. Compute SHA-256 of the joined string
5. The full 64-character hex digest is the Enclave Integrity Signature

Property: The same set of anchors in the same state always produces the same signature. Any addition, removal, or modification of an anchor changes the signature. This enables point-in-time integrity snapshots.

8. Clearing Protocol Normative

The Clearing Protocol is the third pillar of SWT3 and the mechanism by which data sovereignty is achieved without sacrificing integrity. After an anchor is minted and its fingerprint is sealed, the raw evidence used during Provenance SHOULD be purged from the witness system. Only the Factor Matrix, the timestamp, and the anchor token persist.

The cryptographic proof survives the data. The fingerprint remains independently verifiable even after the raw evidence that produced the factors has been destroyed. This is the core insight of SWT3: integrity does not require data retention.

8.1 Clearing Levels

LevelNameBehaviorVerification
0 RETAIN Raw evidence retained alongside factors. Maximum forensic capability, maximum attack surface. Self-contained
1 FACTOR-ONLY Raw evidence purged after factor extraction. Factors and anchor persist. RECOMMENDED default. Self-contained
2 ANCHOR-ONLY Factors purged after fingerprint computation. Only the anchor token persists. Requires out-of-band factor exchange
3 SOVEREIGN All local evidence destroyed after anchor is transmitted. The minting system retains nothing. Requires out-of-band factor exchange

8.2 Irreversibility

Clearing MUST be irreversible. Once raw evidence is purged, it MUST NOT be recoverable from the witness system. Implementations that offer a "soft delete" or "recoverable purge" MUST NOT claim SWT3 Clearing compliance.

9. OSCAL Integration Normative

SWT3 anchors are designed to embed naturally into NIST OSCAL (Open Security Controls Assessment Language) documents. This section defines the canonical mapping between SWT3 evidence and OSCAL Assessment Results.

9.1 Assessment Results Mapping

An SWT3 anchor maps to an OSCAL Assessment Result observation as follows:

{
  "results": [{
    "uuid": "<generated>",
    "title": "SWT3 Automated Assessment",
    "start": "<witnessed_at ISO-8601>",
    "observations": [{
      "uuid": "<generated>",
      "title": "<procedure_id> Evidence Observation",
      "description": "Automated evidence collection for <procedure_id>",
      "methods": ["TEST"],
      "relevant-evidence": [{
        "description": "SWT3 Witness Anchor: <swt_token>",
        "links": [{ "href": "#swt3-protocol", "rel": "evidence-source" }]
      }],
      "props": [
        { "name": "swt3-anchor", "value": "<full SWT3 token>" },
        { "name": "swt3-fingerprint", "value": "<12-char fingerprint>" },
        { "name": "swt3-factor-a", "value": "<factor_a>" },
        { "name": "swt3-factor-b", "value": "<factor_b>" },
        { "name": "swt3-factor-c", "value": "<factor_c>" },
        { "name": "swt3-timestamp-ms", "value": "<timestamp_ms>" }
      ]
    }],
    "findings": [{
      "uuid": "<generated>",
      "title": "<procedure_id> Finding",
      "target": {
        "type": "objective-id",
        "target-id": "<control-id>",
        "status": { "state": "<satisfied|not-satisfied>" }
      }
    }]
  }]
}

9.2 Verdict-to-OSCAL Status Mapping

SWT3 VerdictOSCAL Finding StatusAdditional Properties
PASSsatisfied
FAILnot-satisfied
INHERITEDsatisfiedinheritance-source property
LAPSEDnot-satisfiedlapse-reason property
UNKNOWNnot-satisfiedassessment-pending: true

9.3 Back-Matter Reference

SWT3-enabled OSCAL documents SHOULD include a back-matter resource identifying the protocol:

{
  "back-matter": {
    "resources": [{
      "uuid": "<generated>",
      "title": "SWT3 Protocol Specification v1.3",
      "description": "Sovereign Witness Traceability Protocol for evidence integrity",
      "props": [
        { "name": "type", "value": "protocol-specification" },
        { "name": "version", "value": "1.3.0" }
      ],
      "rlinks": [{
        "href": "https://tenova.io/specs/swt3-v1.3"
      }]
    }]
  }
}

10. AI Witnessing Profile Normative

This section defines the application of SWT3 to artificial intelligence and machine learning systems. The AI Witnessing Profile enables cryptographic attestation of model behavior, safety controls, and operational integrity throughout the AI lifecycle.

Regulatory timeline: GPAI transparency obligations are enforceable now. High-risk AI obligations take effect December 2, 2027 (per EU AI Omnibus). Article 12 requires automatic logging with sufficient traceability. Article 14 requires operational human oversight. SWT3 satisfies both by design: every inference is anchored, every human review is witnessed, and every anchor is independently verifiable.

The AI Witnessing Profile addresses requirements from:

10.1 AI Procedure Registry

AI procedures use the AI UCT code and follow the naming convention AI-{DOMAIN}.{SEQUENCE}.

ProcedureDomainDescriptionRegulatory Basis
AI-INF.1Inference ProvenanceWitness that a specific model produced a specific outputEU AI Act Art. 12, AI RMF MEASURE 2.6
AI-INF.2Inference LatencyWitness response time against SLA thresholdsAI RMF MANAGE 2.2
AI-INF.3Inference VolumeWitness request throughput for capacity governanceAI RMF MANAGE 2.4
AI-MDL.1Model IntegrityWitness that deployed weights match approved registry hashEU AI Act Art. 9(4)(b), AI RMF MANAGE 1.3
AI-MDL.3Model DriftWitness accuracy degradation against baselineAI RMF MEASURE 1.1
AI-GRD.1Guardrail EnforcementWitness that required safety filters were activeEU AI Act Art. 9(4)(a), AI RMF MANAGE 4.1
AI-GRD.3PII RedactionWitness PII detection and scrubbingGDPR Art. 25, AI RMF GOVERN 1.7
AI-FAIR.1Bias MeasurementWitness demographic parity or equalized odds metricsEU AI Act Art. 10(2)(f), AI RMF MEASURE 2.11
AI-HITL.1Human ReviewWitness that a human reviewed an AI-generated decisionEU AI Act Art. 14, AI RMF GOVERN 1.4
AI-EXPL.1ExplainabilityWitness that an explanation was generated alongside outputEU AI Act Art. 13, AI RMF GOVERN 1.5
AI-EXPL.2Confidence ScoreWitness model confidence against minimum thresholdAI RMF MEASURE 2.9
AI-TOOL.1Tool CallWitness an AI agent's tool/function call with outcomeEU AI Act Art. 12(1), AI RMF GOVERN 1.7
AI-ID.1Agent IdentityWitness that an AI agent's cryptographic identity was assertedEU AI Act Art. 12(1), AI RMF MAP 1.1
AI-ACC.1Access ControlWitness an AI agent's access to external resources with scopeEU AI Act Art. 9(4)(c), AI RMF MANAGE 2.4
AI-REV.1Anchor RevocationWitness the revocation of a previously-issued anchor with reasonEU AI Act Art. 14(4)(d), Art. 20
AI-SEC.1Adversarial DetectionWitness adversarial threat detection (prompt injection, jailbreak)EU AI Act Art. 15(4), AI RMF MANAGE 4.1
AI-SEC.2Input ValidationWitness input validated and sanitized before inferenceEU AI Act Art. 15(3), AI RMF MEASURE 2.7
AI-GOV.6Scope DefinitionAttest AI risk management scope (systems, tolerances, clearing)NIST AI RMF GOVERN 1.3
AI-GOV.7Resource AllocationAttest budget, staffing, compute allocated for AI governanceNIST AI RMF GOVERN 2.2
AI-RISK.1Risk IdentificationAttest risk register exists with sources and categoriesEU AI Act Art. 9, AI RMF MAP 2.1
AI-IR.1Incident ResponseAttest AI-specific incident response capability existsAI RMF MANAGE 3.1
AI-IMPACT.1Societal ImpactAttest community-level impact assessment conductedAI RMF MAP 5.2

10.2 Clearing for AI Systems

AI systems present unique clearing considerations. Prompts may contain PII, trade secrets, medical records, or classified information.

ContextRecommended LevelRationale
Internal analyticsLevel 0 (RETAIN)Full forensic capability for model debugging
B2B SaaS inferenceLevel 1 (FACTOR-ONLY)Factors retained, prompts/responses cleared
Healthcare / PIILevel 2 (ANCHOR-ONLY)Factors may reveal PHI; only anchor persists
Classified / defenseLevel 3 (SOVEREIGN)Nothing persists on the minting system

10.3 Regulatory Coverage

RegulationArticle / FunctionRequirementSWT3 Procedure
EU AI ActArt. 9(4)(a)Risk management measures operationalAI-GRD.1, AI-GRD.2
EU AI ActArt. 12(1)Automatic logging capabilityAI-INF.1
EU AI ActArt. 13Transparency and informationAI-EXPL.1, AI-EXPL.2
EU AI ActArt. 14Human oversightAI-HITL.1, AI-HITL.2
EU AI ActArt. 72Post-market monitoringAI-MDL.3, AI-FAIR.1
NIST AI RMFGOVERN 1.4Oversight mechanismsAI-HITL.1, AI-HITL.2
NIST AI RMFMEASURE 2.6Traceability of outputsAI-INF.1
NIST AI RMFMANAGE 1.3Deployment integrityAI-MDL.1, AI-MDL.2
EU AI ActArt. 12(3)Record-keeping correctionsAI-REV.1
EU AI ActArt. 50(2)AI system identificationAI-ID.1
GDPRArt. 17Right to erasureAI-REV.1
EU AI ActArt. 15(3-4)Cybersecurity, adversarial robustnessAI-SEC.1, AI-SEC.2
NIST AI RMFGOVERN 1.3Risk management scope definitionAI-GOV.6
NIST AI RMFMAP 2.1Risk source identificationAI-RISK.1
NIST AI RMFMANAGE 3.1AI incident responseAI-IR.1
NIST AI RMFMAP 5.2Societal impact assessmentAI-IMPACT.1

10.4 Infrastructure-Layer Witnessing

SWT3 witnessing extends beyond application-layer SDKs to infrastructure-level integration. The protocol defines a two-layer architecture for inference serving platforms (e.g., NVIDIA Dynamo, vLLM, TGI):

LayerIntegration PointDependenciesUse Case
Layer 1: DecoratorEndpoint function wrapperZero platform depsQuick adoption, any serving framework
Layer 2: Service GraphPlatform-native interceptorPlatform SDK requiredDeep integration, native metrics, health probes

Both layers produce identical SWT3 anchors and use the same fingerprint formula. Configuration is via a single DSN environment variable (SWT3_DSN=https://{api_key}@{endpoint}/{tenant_id}), enabling infrastructure teams to deploy witnessing through standard container orchestration without code changes.

Infrastructure-layer witnessing captures factors that application-layer SDKs cannot observe: GPU utilization, queue depth, batch scheduling decisions, and inference engine version. These factors flow through the same clearing protocol and appear as standard SWT3 anchors in the compliance ledger.

11. Conformance Levels Normative

SWT3 defines three conformance levels. Each level builds on the previous one.

Level 1: Anchor Producer

An implementation that can mint valid SWT3 anchors. Requirements:

Level 2: Anchor Verifier

An implementation that can verify SWT3 anchors produced by any Level 1 system. Requirements:

Level 3: Full Implementation (SWT3-Sovereign)

An implementation that mints, verifies, and clears per the full protocol. Requirements:

Implementations MAY extend the metadata field with additional properties. Implementations MUST NOT modify the fingerprint algorithm or anchor format.

12. Security Considerations Informative

12.1 Truncation Risk

The 12-character (48-bit) fingerprint is not intended as a cryptographic signature. It is a verification shortcut. Systems requiring full cryptographic assurance SHOULD store and verify against the full 64-character SHA-256 digest.

12.2 Factor Confidentiality

Factor values (especially factor_a thresholds) may reveal security posture details. Implementations SHOULD apply access controls to factor data and leverage the Clearing Protocol at Level 1 or higher for sensitive environments.

12.3 Timestamp Manipulation

The timestamp_ms is a critical input to the fingerprint. An attacker who can control the timestamp can forge a valid fingerprint with different factors. Implementations MUST ensure timestamps are generated by trusted sources (system clock, NTP-synchronized) and not accepted from untrusted input.

12.4 Collision Resistance

At 48 bits, the birthday paradox threshold is approximately 224 (~16.7 million) anchors before a 50% collision probability. For most compliance ledgers (tens of thousands of anchors), this provides adequate uniqueness. Enclave integrity verification uses the full 64-character digest.

13. Test Vectors Normative

The following test vectors are canonical. Any conformant implementation MUST produce these exact fingerprints given these inputs. If your implementation produces a different fingerprint for any vector, it is not SWT3-conformant.

#Input StringExpected Fingerprint
1 WITNESS:ACME_PROD:AI-INF.1:1:1:0:1774800000000 32241a3056cd
2 WITNESS:AWS_NITRO_ENCLAVE:AI-INF.2:5000:8000:1:1774800001000 4ed784765e6c
3 WITNESS:ACME_PROD:AI-GRD.1:2:3:0:1774800002000 0a64120bbdc7
4 WITNESS:AZURE_TRUSTED_EXEC:AI-MDL.1:1:0:1:1774800003000 c36d477b3c2d
5 WITNESS:ACME_DEFENSE:AI-FAIR.1:15:15:0:1774800004000 53180f5ae221

13.1 Verification Procedure

To validate your implementation against these vectors:

For each vector:
  1. Construct the input string exactly as shown (UTF-8)
  2. Compute SHA-256 of the input string
  3. Convert digest to lowercase hexadecimal
  4. Take the first 12 characters
  5. Compare against the expected fingerprint
  6. All 5 vectors MUST match for conformance

13.2 Edge Cases

CaseInput StringExpected
All-zero factors WITNESS:AZURE_TRUSTED_EXEC:AI-DATA.1:0:0:0:1774800009000 289eb7452237
Large factors WITNESS:DEMO_ENCLAVE:AI-INF.3:10000:9500:0:1774800008000 05010820e5a4

The complete set of 13 fingerprint vectors, 2 signing vectors, and 5 hash vectors is available at github.com/tenova-labs/swt3-ai in test-vectors.json.

14. Getting Started Informative

Implement a working SWT3 fingerprint in any language with SHA-256 support. These examples use test vector #1 and should produce fingerprint 32241a3056cd.

14.1 Python

import hashlib

# Construct the canonical input string
input_str = "WITNESS:ACME_PROD:AI-INF.1:1:1:0:1774800000000"

# Compute SHA-256 and truncate to 12 hex chars
digest = hashlib.sha256(input_str.encode("utf-8")).hexdigest()
fingerprint = digest[:12]

print(fingerprint)  # 32241a3056cd

14.2 TypeScript / JavaScript

import { createHash } from "crypto";

// Construct the canonical input string
const input = "WITNESS:ACME_PROD:AI-INF.1:1:1:0:1774800000000";

// Compute SHA-256 and truncate to 12 hex chars
const digest = createHash("sha256").update(input, "utf8").digest("hex");
const fingerprint = digest.slice(0, 12);

console.log(fingerprint);  // 32241a3056cd

14.3 CLI (OpenSSL)

# One-liner: compute fingerprint from the canonical input
echo -n "WITNESS:ACME_PROD:AI-INF.1:1:1:0:1774800000000" \
  | openssl dgst -sha256 \
  | cut -d' ' -f2 \
  | cut -c1-12

# Output: 32241a3056cd

14.4 Using the SDK

# Python: full witness lifecycle in 4 lines
pip install swt3-ai
python -m swt3_ai.demo

# TypeScript: full witness lifecycle
npx swt3-demo

Both demos mint 3 SWT3 anchors locally with no API keys, no signup, and no network calls. They demonstrate the full Provenance, Verification, and Clearing lifecycle.

14.5 Verify Your Implementation

Paste any SWT3 anchor token into the public verifier to confirm your fingerprint matches: sovereign.tenova.io/verify. The verifier recomputes the fingerprint from the stored factors and returns CERTIFIED TRUTH or TAMPERED. No account required.

15. For Auditors Informative

This section explains how to use SWT3 anchors in assessment reports, conformity assessments, and audit findings. It is intended for C3PAOs, Notified Bodies, internal auditors, and assessors working with SWT3-enabled systems.

15.1 Verifying Evidence During Assessment

When reviewing an SWT3-enabled system, the assessor should:

  1. Request the witness ledger export for the assessment period (JSON or OSCAL format)
  2. Select a sample of anchors and verify each using the algorithm in Section 7.1. This can be done with the CLI, the SDK, or manually with any SHA-256 tool
  3. Verify enclave integrity by computing the Enclave Integrity Signature (Section 7.3) and comparing against the system's claimed signature
  4. Confirm the clearing level documented by the system and verify that raw evidence is not accessible at the claimed level

15.2 Citing SWT3 Evidence in Findings

The following template shows how to reference an SWT3 anchor in an assessment finding:

Sample Assessment Finding
Control: SC-7(6) — Boundary Protection: Response to Recognized Failures
Status: Satisfied
Evidence Type: Automated test (SWT3 Witness Anchor)
Anchor: SWT3-E-AWS-NET-SC76-PASS-1773316622-96b7d56c0245
Verification: Fingerprint independently recomputed from factors and confirmed as CERTIFIED TRUTH. Factor Matrix: baseline=4, observed=3, delta=-1. Witness timestamp: 2026-03-10T12:37:02Z.
Clearing Level: 1 (FACTOR-ONLY). Raw command output purged after factor extraction. Factors and anchor persist for verification.
Assessor Note: Evidence integrity independently verified using SHA-256 recomputation per SWT3 Protocol Specification v1.3, Section 7.1. No trust in the issuing system was required for verification.

15.3 Bulk Verification (Full Assessment Period)

For assessments covering hundreds or thousands of anchors, use enclave-level verification rather than verifying each anchor individually:

# Request the JSON ledger export for the assessment period
# Then verify all anchors in one command:
swt3-verify --enclave --from 2026-01-01 --to 2026-06-30

# Output: Enclave Integrity Signature (64-char SHA-256)
# If even one anchor in the period has been altered, the signature changes.
# Compare against the system's claimed signature to confirm integrity.

This approach verifies the entire assessment period in a single operation. The Enclave Integrity Signature can be recorded in the assessment report as aggregate evidence of ledger integrity.

15.5 OSCAL Assessment Results

For assessments producing OSCAL-formatted results, use the mapping in Section 9 to embed SWT3 anchors directly into the Assessment Results document. Each anchor becomes an observation with props containing the factor values, and each verdict maps to an OSCAL finding status.

15.6 What Makes SWT3 Evidence Different

Traditional compliance evidence (screenshots, log exports, configuration dumps) requires the assessor to trust that the evidence has not been altered between collection and review. SWT3 evidence does not require this trust. The assessor independently recomputes the fingerprint from the factors and confirms the match. If the evidence has been altered, the fingerprint breaks. This is a mathematical guarantee, not an organizational one.

16. Reference Implementations Informative

The following open-source reference implementations are available:

PackageLanguageRegistryCapabilitiesLicense
swt3-ai Python PyPI Full SDK: OpenAI, Anthropic, Bedrock, LiteLLM adapters, clearing engine, OTel exporter Apache 2.0
@tenova/swt3-ai TypeScript npm Full SDK: ES6 Proxy adapters, streaming, Vercel AI SDK, OTel exporter Apache 2.0
swt3-ai Rust crates.io Core: fingerprint minting, verification, HMAC signing Apache 2.0
swt3-ai C# NuGet Core: fingerprint minting, verification, HMAC signing Apache 2.0
swt3-ai Ruby RubyGems Core: fingerprint minting, verification, HMAC signing Apache 2.0
@tenova/swt3-mcp TypeScript npm MCP Server for AI compliance witnessing via Model Context Protocol Apache 2.0
@tenova/libswt3 TypeScript npm Protocol reference: mint, parse, verify, enclave verification, CLI Apache 2.0

All implementations share a common set of test vectors ensuring cross-language fingerprint parity. The same anchor minted in Python produces an identical fingerprint in Rust, C#, Ruby, and TypeScript. Community implementations in additional languages (Go, Java, Swift) are welcome; see the contribution guide for conformance requirements.

17. Citation Informative

When referencing this specification in academic papers, assessment reports, regulatory filings, or standards submissions, use one of the following formats:

Plain Text

TeNova. "SWT3 Protocol Specification v1.3: Sovereign Witness Traceability Protocol."
Proposed Standard. Tenable Nova LLC, April 2026.
https://tenova.io/specs/swt3-v1.3

BibTeX

@techreport{swt3-v1.3,
  title     = {SWT3 Protocol Specification v1.3:
               Sovereign Witness Traceability Protocol},
  author    = {{Tenable Nova LLC (DBA TeNova)}},
  year      = {2026},
  month     = {April},
  type      = {Proposed Standard},
  url       = {https://tenova.io/specs/swt3-v1.3},
  note      = {Apache 2.0. Patent pending.}
}

OSCAL Back-Matter

See Section 9.3 for the canonical OSCAL back-matter resource entry.

Related documents: Design Rationale (why each protocol decision was made) | MCP Compliance Binding (SWT3 + Model Context Protocol)

Appendix A: Version History

VersionDateChanges
1.0.02026-02-26Initial specification. Core anchor format, fingerprint algorithm, verification, clearing protocol.
1.1.02026-03-15Canonical fingerprint formula with WITNESS: domain separator. Legacy fallback defined.
1.2.02026-03-29AI Witnessing Profile (Section 10). UCT Extended codes. Cross-framework portability table.
1.3.02026-04-17RFC 2119 notation. ABNF grammar. Conformance levels. OSCAL integration. Test vectors. Section numbering standardized. Proposed Standard status.