File size: 1,732 Bytes
1730163 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # AmanPay demo samples
Default biometric samples so co-authors can test the full pipeline **without
capturing their own biometrics**. Two identities:
- **alice** — enroll + authenticate pairs for **all three modalities**
(face, fingerprint, voice). Voice clips are two utterances from the same
LibriSpeech speaker (id 426), so enroll/auth genuinely match.
- **bob** — a distinct identity (face + fingerprint) for impostor / negative tests.
Layout is described in [`manifest.json`](manifest.json).
## Fastest: one-click demo in the web app
Open the app (`https://<host>:8443/`) → **Pay** tab → **▶ Load demo**. This calls
`POST /demo/seed`, which server-side enrolls the tri-modal `alice` identity, records
consent, links a token-backed Chase account, and pre-fills the pay form with alice's
*authenticate* samples. Then hit **Pay with biometrics**.
## Or: seed via the API
```bash
# Seed a demo identity + wallet; returns the account + authenticate samples.
curl -sk -X POST https://<host>:8443/demo/seed | jq .
```
## Or: drive it yourself (Python)
```python
import base64, requests, urllib3; urllib3.disable_warnings()
B = "https://<host>:8443"; S = requests.Session(); S.verify = False
def b(p, mt): return f"data:{mt};base64," + base64.b64encode(open(p, "rb").read()).decode()
fe = b("examples/alice_face_enroll.jpg", "image/jpeg")
pe = b("examples/alice_fp_enroll.png", "image/png")
ve = b("examples/alice_voice_enroll.wav", "audio/wav")
S.post(B+"/unified/enroll", json={"user_id": "alice", "face_image": fe,
"fingerprint_image": pe, "voice_audio": ve})
```
These files are small, synthetic/benchmark-derived, and safe to commit — no real
personal biometric data.
|