Repository navigation
Releases: TDS-Digital-ID/credworks-integration
Release list
Retryable verification results: 30 October 2026
A lost verification-result response can now be retrieved again using the same session ID, runtime bearer and session capability. Every verified retry still checks the original evidence deadline and current permissions and credential status. The Education client permits failed reads to retry before application effects start and invokes its callback only once.
For an existing installation, download and verify credworks-result-retry-source.tar.gz, extract it, and run from the new folder:
./setup upgrade --state "$HOME/.local/share/credworks-team"
./setup doctor --state "$HOME/.local/share/credworks-team"Use your existing state path if it differs. Keep the original state directory and volumes. The upgrade installs the pinned images and preserves keys, registration and accounts. It restarts services, so in-flight verifications and browser logins must start again. No wallet update is required. Custom backends should take the updated educationClient source too.
Results remain in memory for the existing retention period, no more than 120 seconds beyond request expiry. Their evidence can expire sooner. A runtime or backend restart still requires a fresh verification. Linked issuance and application effects have their own recovery rules.
API and retry documentation · Partner API · Upgrade instructions
Both image architectures passed the packaged tests, including deliberately lost responses and account continuity. ARM64 ran in Docker's Linux VM; AMD64 ran under emulation. The standalone runtime suite passed all 134 checks with database and container tests enabled. GitHub Actions remains disabled; these checks ran locally.
Verify downloads using SHA256SUMS. release-manifest.json identifies the exact source, images, checks and dependency companions. The two historical companion archives are unchanged; the current image-notice and Debian-source archives supplement them for this update. This remains an experimental sandbox preview.
Student onboarding preview: 13 October 2026
Student onboarding preview
Run a team-owned Education app and verifier with Docker, then check eligibility without creating an account. Follow the separate guides for student sign-in, connecting your backend, issuing a custom credential and verifying selected fields.
This is an experimental synthetic-data preview. The software holder uses labelled mock platform attestation. It is not production assurance or physical consent evidence.
Download
Use the source and architecture-specific images attached to this release. Verify every download against the release manifest and SHA256 inventory before extracting or loading it. The image source remains 61c2b16b6f43dc72c0e31a8d4ee6837f04a6eccb; the newer kit source adds the guided commands and documentation without rebuilding those images.
Start with docs/education/getting-started.md in the versioned source. You need Docker with Compose, cloudflared and a domain in your team's Cloudflare account. No host Rust or Node.js installation is needed for guided setup.
Verified scope and limits
- macOS ARM64: public HTTPS Education setup, registration, eligibility and sign-in passed. A full stop/start preserved the service identity, held credentials and app account.
- Ubuntu26.04 ARM64 VM: an independent reviewer completed Education setup, eligibility, sign-in and account continuity after restart, plus custom receipt, member-only verification, restart and exact synthetic revocation. The documented verification command refused the revoked example before presentation. Two operator DNS refreshes and documented same-state recovery were required; original failures remain recorded. This used supplied public-only artifacts in a prepared VM.
- AMD64 containers: build and container checks used emulation. Native Linux AMD64 host support is unverified.
- Windows/WSL2: NOT RUN because no Windows machine was available. The instructions do not constitute verified support.
- Android: one Pixel 7 running Android 17 passed synthetic receipt, enrolment, genuine authorization cancellation, then consent and authorization with eligibility confirmed by the app backend. The exact signed wallet was already installed; installation and other phones were not tested. Earlier stale-evidence and expired-request failures remain recorded. iPhone: Coming soon.
- Custom credentials on macOS ARM64: public HTTPS issuance, member-only typed verification, stop/start continuity, exact synthetic revocation and subsequent refusal passed. An initial transport failure was preserved; its cause was not isolated.
- Independent public-only execution passed with the limits above. It tested source
4aea1c4; this release changes only qualification documentation tof65b98e, with unchanged setup/runtime/configuration and original images. Public download verification is a separate release step. A new backend implementation and a forced revoked-presentation test were not performed.
Keep protected setup directories, keys and volumes together across retries and restarts. Never publish them or repair a failure by replacing an identity. Existing Android data and hardware keys must survive any compatible update.
The two companion archives retain “review” in their names. Their manifests preserve three exact-version full-notice findings: @npmcli/agent3.0.0, err-code2.0.3 and the applicability of a later eastasianwidth notice to0.2.0. These artifacts do not claim complete notice coverage or legal clearance. Project-owned source remains Apache-2.0; dependency notices retain their own terms.
Release B physical acceptance preview — 12 October 2026
Release B physical acceptance preview for the retained POC scope.
This updates the signed wallet APK to reviewed source2d97ba0 with the #445 expired-receipt diagnostic correction. Published generic runtime images and kit source remain unchanged. The bundle includes per-step physical evidence and checksums; verify SHA256SUMS before use.
On Pixel7, Android17/API37 arm64-v8a: actual Android authorization/cancellation, scalar and structured disclosure, cross-issuer receipt, exact revocation, signing-key cutovers/withdrawal, restart recovery, interrupted renewal and urgent revocation passed. Fresh public-source/image services also passed phone receipt, presentation, durable renewal and exact revocation refusal. Exact public Education APK eligibility/sign-in passed separately.
Limitations: experimental sandbox with labelled mock platform attestation; no vendor attestation assurance, hosted OIDF certification or independent-wallet interoperability PASS. Accessibility acceptance, hosted OIDF enforcement and external-wallet acceptance were explicitly removed from POC scope. Single physical Pixel; no second-device matrix. Actions remains paused by operator direction; applicable local checks and independent candidate reviews passed. Failures/expired attempts are preserved in evidence.
Project-owned source is Apache-2.0. Download all three assets for the bundle, third-party notices and Debian corresponding source. Read ANDROID-PRIVACY.md. Preserve existing wallet data and hardware identity; compare signing certificates before compatible update. APK version remains1.0.0/code1.
Bundle SHA256: 4e903ebd69df819316d29d74e9656ad2cfdc3e60c1433e0a6083913bc87ae161.
Release A was published before Release B. Both producer repositories remain private; this release does not deploy production or merge a default branch.
Release B: generic experimental preview
Release B experimental preview
Experimental preview. Packaging was completed in private staging; this release page records public availability. Remaining physical phone tests were explicitly deferred; historical results and failures remain unchanged. This preview does not establish completed hardware acceptance or production readiness.
Download the release-b-preview-licensed-20261006.tar.gz package and both required companion archives. Verify every SHA256 below before use. Project-owned source is Apache-2.0; third-party licences and ML Kit terms remain in force. Read the package README and ANDROID-PRIVACY.md.
Source revision: abef7a310d2bf3bd2b665c705fe6fbc78611d63c. Historical image source: dcef4b7721ad024ceb9d86133dc520ee66a92a13. Signed wallet source: 17c6d60b3196c40f6500adc391c6610ba5d52a89. Images and APK bytes are unchanged from the separately inspected candidates. Their original build labels remain intact.
| Asset | SHA256 |
|---|---|
| credworks-third-party-notices.tar.gz | 5ffba4916a276d24e43c0ceee2bbef6357f127cc4e2e1c04d37d014e9263abbc |
| credworks-debian-corresponding-source.tar.gz | 28b41399801ec93f173b2b00ed0d1cc7993f0b49d56b59a3717f64ceaf48be55 |
| release-b-preview-licensed-20261006.tar.gz | afa090bfb71af4ec033fc1fed0a0d6d42fefe5c0162a3e504a4649b842a6f82b |
Known limits: startup intermittency #442 remains unresolved. Clean-device installation is NOT RUN. Fresh public-source host setup passed on 11 October 2026 using published configuration at 88bf40a6b8a608e14b87780681d44ceb373d400d. Education enrolment/sign-in and generic disclosure/exact-revocation checks used software holder keys and mock platform attestation; they do not establish Android acceptance or revalidate the frozen OCI images/APKs. Preserve existing wallet data and hardware identity; never uninstall or reset keys to bypass a signing incompatibility. Generic physical acceptance is NOT RUN.
The frozen generic wallet does not contain the later #445 expired-receipt diagnostic correction.
Release A must become available before Release B. Both producer repositories stay private. Release gates #329/#338/#348 remain open.
The public source commit is 521a6a337ffedb9ffcae435957059291769fc770. Its tree 5fe815f9c043c17952db43e3c9df98612f14af9f exactly matches the reviewed source archive revision abef7a310d2bf3bd2b665c705fe6fbc78611d63c.
Sandbox setup update, 11 October 2026
The independently authenticated public sandbox configuration is now available. SHA-256: 554b1a092b30b888b243c47ee22f526fa573f51322ac9972549774288314c096. Use the canonical setup instructions for acquisition, field mappings and key replacement rules. This documentation/configuration supplement leaves all release assets and source tags unchanged. Physical acceptance remains deferred.
Release A: Education experimental preview
Release A experimental preview
Experimental preview. Packaging was completed in private staging; this release page records public availability. Remaining physical phone tests were explicitly deferred; historical results and failures remain unchanged. This preview does not establish completed hardware acceptance or production readiness.
Download the release-a-preview-licensed-20261006.tar.gz package and both required companion archives. Verify every SHA256 below before use. Project-owned source is Apache-2.0; third-party licences and ML Kit terms remain in force. Read the package README and ANDROID-PRIVACY.md.
Source revision: 78b7bd002b25de2f5ff2c61a5d74529ae3a06790. Historical image source: ed5b8bea4322e358f802b3bdff91e0cd474b3aa0. Signed wallet source: 9130db0e727490857bebeef64b74cec19ee9297e. Images and APK bytes are unchanged from the separately inspected candidates. Their original build labels remain intact.
| Asset | SHA256 |
|---|---|
| credworks-third-party-notices.tar.gz | 5ffba4916a276d24e43c0ceee2bbef6357f127cc4e2e1c04d37d014e9263abbc |
| credworks-debian-corresponding-source.tar.gz | 28b41399801ec93f173b2b00ed0d1cc7993f0b49d56b59a3717f64ceaf48be55 |
| release-a-preview-licensed-20261006.tar.gz | 8e7603ca583153353c19132a411d5554980c94d1d5dd9917f16be1f6481456d8 |
Known limits: startup intermittency #442 remains unresolved. Clean-device installation is NOT RUN. Fresh public-source host setup passed on 11 October 2026 using published configuration at 88bf40a6b8a608e14b87780681d44ceb373d400d. Education enrolment/sign-in and generic disclosure/exact-revocation checks used software holder keys and mock platform attestation; they do not establish Android acceptance or revalidate the frozen OCI images/APKs. Preserve existing wallet data and hardware identity; never uninstall or reset keys to bypass a signing incompatibility. Generic physical acceptance is NOT RUN.
Release A must become available before Release B. Both producer repositories stay private. Release gates #329/#338/#348 remain open.
Sandbox setup update, 11 October 2026
The independently authenticated public sandbox configuration is now available. SHA-256: 554b1a092b30b888b243c47ee22f526fa573f51322ac9972549774288314c096. Use the canonical setup instructions for acquisition, field mappings and key replacement rules. This documentation/configuration supplement leaves all release assets and source tags unchanged. Physical acceptance remains deferred.