Skip to content

Verify exact names offline with SD-JWT-VC and ZKP - #60

Draft
mashbean wants to merge 4 commits into
mainfrom
codex/offline-verification
Draft

Verify exact names offline with SD-JWT-VC and ZKP#60
mashbean wants to merge 4 commits into
mainfrom
codex/offline-verification

Conversation

@mashbean

@mashbean mashbean commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

The field government credentials available for this test do not expose a supported birth-date claim, so the age matrix could not exercise both credential families. The offline verifier now asks whether the signed full name is exactly 黃彥霖, using either a phone-number verification card or a self-issued derivative of the MyData digital ID.

The verifier offers two distinct formats. SD-JWT-VC discloses the signed name with holder binding for direct comparison. The OpenAC ZKP path uses a new UTF-8 format-5 circuit that hashes all name bytes plus their length and binds the verifier's exact target as a public input; the proof package does not contain the credential name. The UI records the four comparable field cells N1–N4, and the request QR remains scannable in compact iPad windows.

Validation completed:

  • 7 Rust predicate tests passed, including the reviewed 128-bit disclosure-salt shape.
  • The linked fixed vector accepted 黃彥霖 and rejected 王小明; build-Mac proof time was 10,031 ms Prepare plus 131 ms Show.
  • 31 focused Swift tests passed for request/package binding, SD-JWT-VC signatures, Unicode byte equality, legacy age compatibility, and N1–N4 timing classification.
  • The earlier full app run passed 1,623 tests before the final compatibility-only UI branch; the affected suites were rerun afterward.
  • A signed device build containing the rebuilt XCFramework was installed successfully on the paired iPhone 14 and iPad mini.

The branch remains experimental. The seven openac-field-v2 release assets are staged locally but are not published yet, so the remote SwiftPM dependency cannot resolve in CI. Paired airplane-mode N1–N4 acceptance and QR-to-judgment measurements are also pending; an installation alone is not device-flow evidence.

@mashbean mashbean changed the title Prepare offline age verification and two-device measurement Verify exact names offline with SD-JWT-VC and ZKP Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant