Skip to content

zkmopro/TWDIW-integration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

TWDIW integration

This repository provides a PoC showcasing OpenAC × TWDIW privacy-preserving age verification solution for online alcohol purchases. It enables users to prove that they:

  • Possess a valid credential (PoC scope)
  • Meet the legal drinking age requirement (18+) without revealing personal information
  • Can be verified by online merchants or platforms through a standard verification interface

All of this is achieved without merchants collecting, storing, or learning unnecessary personal data.

MVP

  • Identity/eligibility verification via Driver License (primary, already onboarded stakeholder)
  • Generation of Zero-Knowledge Proofs (ZKPs) for:
    • Credential validity / holder possession (proving ownership of driver license VC)
    • Age ≥ 18 claim for alcohol purchase (boolean-only disclosure) → preparation for other potential identity doc
  • Integration with TWDIW Official App (wallet/proof generation UI)
  • Integration with merchant verifier:
    • Standalone verifier service / SDK-like integration kit
    • Merchant receives only a “pass/fail + metadata” result (no raw identity data)

Note: Passport-based age calculation is not MVP, but is a planned expansion track starting Q1 and targeted for a feasibility checkpoint in Q2.

System Architecture for OpenAC Integration

Example merchant web app flow

flowchart LR; 
   A["merchant web app"] --> |request| B["merchant server (OpenAC protocol)"];
   B["merchant server (OpenAC protocol)"] --> |return data| C["merchant web app"];
   C --> |show| D["QR code"] 
Loading
  • Description
    • The user opens the merchant web app to purchase alcohol.
    • The merchant backend creates an OpenAC session for the user upon request from the frontend.
    • The frontend displays a QR code or deeplink, allowing the user to interact with TWDIW.

TWDIW mobile app flow

flowchart LR;
   A["QR code"] --> |scan| B["TWDIW mobile app (with OpenAC prover)"]
   B --> |proof| C["merchant server (with OpenAC verifier)"]
Loading
  • Description
    • The user scans the QR code or clicks the deeplink.
    • The user generates an OpenAC proof using TWDIW.
    • Only the proof is sent to the merchant server; no personal data is shared.

TWDIW mobile app flow (with on-chain verifier)

flowchart LR;
   A["QR code"] --> |scan| B["TWDIW mobile app (with OpenAC prover)"]
   B --> |proof| C["merchant server (with OpenAC verifier)"]
   D["on-chain verifier"]
   B --> |proof| D
   D --> |verification result| C
Loading
  • Description
    • The proof can be submitted to the merchant backend, the on-chain verifier, or both.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors