Independent engineering review · 12 September 2026

TrustWeave + SaaS

A fresh review of source, working-tree state, locally executed checks and current GitHub Actions evidence. The score measures production readiness, not the percentage of earlier findings closed.

Joint score 8.5 / 10 · neither repository is currently a promotable release candidate.

SDK and library
8.9 / 10

trustweave

Strong source, broken release gate

The core build, Kotlin tests, lint, ABI check, docs, Android app and reference wallet passed in hosted CI. A wrong evidence path then stopped conformance verification and skipped every later release gate.

Hosted product
8.1 / 10

trustweave-saas

Promising working tree, no candidate

Substantial security, durability and operations work exists locally. It spans 156 changed paths and has a failing qualification-harness test, while hosted runners are blocked by billing.

Category scoring

CategoryTrustWeaveSaaSAssessment
Security and access control9.48.8Fail-closed protocol checks and tenant controls are strong; deployed custody and the final authorization matrix lack retained evidence.
Correctness and protocols9.18.2Core suites are broad. Partial SDK surfaces and the SaaS load-harness defect prevent a clean qualification claim.
Architecture and maintainability9.08.4Clear modules and provider boundaries; SaaS reviewability is impaired by a very large, mixed, uncommitted change set.
Testing and documentation9.17.8TrustWeave ran its main suites. SaaS has 125 Kotlin test files, but its local Python gate fails and current hosted execution is absent.
Supply chain and CI8.07.0Immutable action pins and planned SBOM/attestation gates are good; neither current pipeline supplies complete green evidence.
Operations and providers8.78.1SoftHSM recovery and a deployed qualification workflow now exist. No successful Accountly staging run or production-equivalent KMS exercise is retained.

Release-blocking findings

TW-R14-01 · High

CI reads Verifiable Intent evidence from the wrong directory

Runs 34712013396 and 34712122792 completed the build and primary tests, then failed with FileNotFoundError for build/credentials/plugins/verifiable-intent/reports/vi-kotlin-immediate.json. The module writes into its own Gradle build directory. Coverage, alert validation, SBOM generation and commit binding were consequently skipped.

Acceptance: derive or copy the output from the module build directory, assert all expected files immediately after their producer task, and obtain one green main-branch run through every downstream gate.

SA-R14-01 · High

The SaaS result cannot be reproduced from Git

The reviewed checkout has 98 modified and 58 untracked paths. They include tenant administration, rate limiting, migrations V25 and V30–V39, usage delivery, observability, KMS wiring, frontend administration and CI. The committed candidate remains e2d1c474. A reviewer or deployment runner cannot reconstruct the implementation scored here.

Acceptance: split the work into coherent commits, rebase the SDK pin to the accepted TrustWeave commit, run all gates from a clean checkout and preserve the resulting source-pair manifest.

SA-R14-02 · High

The load qualification harness fails its own contract

The 20-test Python suite reports one failure: test_load_budget_uses_all_configured_request_types. A short configured exercise reaches its deadline before issuing a first request and raises “load exercise produced no requests.” This makes a required acceptance tool timing-sensitive.

Acceptance: schedule at least one request of every configured type before deadline-based repetition, validate positive duration and concurrency, and pin deterministic tests for minimal and normal budgets.

SA-R14-03 · High

Accountly is not committed against the custody-qualified SDK

SaaS main pins TrustWeave 6c62fa0e; its dirty tree pins dbec32c0; current TrustWeave main is 8190a9ab. The SaaS build therefore has no immutable evidence for the SDK version reviewed here.

Acceptance: update both revision and source digest together, verify them in CI, and attest the exact pair used to build the runtime image.

Important gaps to reach 10

TW-R14-02

Qualify a named KMS resource

SoftHSM proves PKCS#11 logic and restart persistence, which is valuable. A perfect production score requires an identified Accountly staging KMS/HSM resource and retained create, sign, rotate, revoke, loss, restore and audit evidence.

TW-R14-03

Finish or narrow partial surfaces

Multi-pair Verifiable Intent, PAdES, ServiceNow issuance/verification and host-adapter-dependent DIDComm encryption are explicit partial implementations. Complete them or publish a versioned support matrix that excludes them from the stable API promise.

SA-R14-04

Restore hosted and deployed evidence

SaaS run 34712022688 executed no steps because GitHub reported failed payments or an exceeded spending limit. After runner access is restored, the staging workflow must demonstrate load, cross-tenant denial, KMS rotation, restart/restore and alert acknowledgement.

JOINT-R14-01

Promote one attested source pair

Build once, attach SBOM and vulnerability results, deploy the same digest to SIT, qualify it, promote that digest to production, and retain rollback plus database/KMS recovery evidence.

Evidence executed

CheckResultMeaning
TrustWeave hosted build/test/lint/ABI/docsPassedPrimary source and compatibility gates passed on 8190a9ab.
TrustWeave local Python contracts130 passedValidation, evidence and documentation helper contracts are green.
TrustWeave hosted release tailFailed/skippedVI path failure prevented coverage, operations and SBOM gates from running.
SaaS local Python contracts19 passed, 1 failedQualification load scheduling is currently defective.
SaaS backend suiteIncompleteCompiled and many tests passed, but the run stopped producing progress and was terminated without a final result.
SaaS frontend302 passed + buildAll 66 Vitest files passed; the production bundle stayed within its 500 KB initial-JavaScript budget.
SaaS GitHub ActionsNo steps ranAccount billing/spending limit blocked both jobs; this does not prove a source failure.
SaaS candidate cleanliness156 changed pathsThe assessed working tree is not an immutable release candidate.

Scoring method and limits

Each repository is the arithmetic mean of six equally weighted categories. A 10 requires a clean, reproducible commit; all claimed capabilities implemented and tested; a green hosted release chain; a production-equivalent deployment exercise; and retained recovery, alert and supply-chain evidence. Scores are engineering judgments, not a certification.

The TrustWeave assessment is based on committed main. The SaaS source assessment includes the current working tree, while release and reproducibility scoring is based on committed main. Hosted status was checked on 12 September 2026. No destructive, production or credential-bearing operation was performed.