id: 1e88d3d246c24973ad692b1a1d0e8fdc
parent_id: 
item_type: 1
item_id: a6768b6c7d2d4dbb855399468b9db6fa
item_updated_time: 1786726778702
title_diff: "[{\"diffs\":[[1,\"Project Status: Key Fob Dev Station (2026-08-04)\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":48}]"
body_diff: "[{\"diffs\":[[1,\"# Project Status: Key Fob Dev Station (2026-08-04)\\\n\\\n## Commit: `5ed9d05` - Add real PC/SC NFC reader support with SCP03 authentication\\\n\\\n## What Works\\\n\\\n### NFC Reader (Info tab)\\\n- Detects ACR1281U-C1 PICC reader, auto-polls at 100ms\\\n- Reads chip UID, ATR on card placement\\\n- SELECT ISD (`A000000151000000`) -> GET DATA -> OEF ID (B252)\\\n- INITIALIZE UPDATE -> SCP03 C-MAC handshake (verified on real hardware)\\\n- Card cryptogram verification as safety gate before EXTERNAL AUTHENTICATE\\\n- Shows: OEF ID, key version, SCP ID, I-parameter, sequence counter, SCP03 status (green \\\"Authenticated\\\")\\\n\\\n### Provisioning (Provision tab)\\\n- Mock transport mode (safe, no hardware risk)\\\n- Reads container folder -> personalization items (DGI A001-A006)\\\n- SCP03 C-MAC auth with B252 static keys\\\n- STORE DATA personalization (no FACTORY transition)\\\n- Device certificate (A002) provisioned last\\\n- B252 keys in `dev_keys()` (shared static, not per-card derived)\\\n\\\n### Infrastructure\\\n- `scripts/configure-windows.ps1` - Windows registry fix for 23s delay\\\n- `kf-transport/src/pcsc.rs` - PcscTransport (raw pcsc_sys FFI)\\\n- `kf-dev-station/src/key_profiles.rs` - OEF ID -> keys lookup\\\n- `kf-dev-station/src/scp03_session.rs` - Standalone SCP03 session module (for future GUI buttons)\\\n- `kf-provision/src/lib.rs` - `skip_lifecycle_transition` config flag\\\n- JCShell reference scripts in `reference/jcshell/`\\\n\\\n## What's Next\\\n\\\n1. **Cert read-back verification**: After provisioning A002, read it back to verify\\\n2. **Test container fixtures**: Generate dummy container data for flow testing\\\n3. **Hardware provisioning**: Switch from mock to PcscTransport when ready\\\n4. **FACTORY transition**: Separate explicit operation (not during personalization)\\\n5. **NFC Pairing** (Script 03): Separate, implement if needed\\\n\\\n## Fob Status\\\n\\\n| Fob | Chip UID | Status |\\\n|-----|----------|--------|\\\n| #1 | `04468c7ae11d90` | LOCKED (GP counter exhausted - \\\"auth exceed\\\") |\\\n| #2 | `04478c7ae11d90` | Fresh, SCP03 verified, counter reset |\\\n| #3 | `044b8c7ae11d90` | Fresh, SCP03 verified |\\\n\\\n## Key Numbers\\\n\\\n- 91 tests pass (0 fail)\\\n- SCP03 handshake: ~80us card cryptogram verification, ~50ms INITIALIZE UPDATE\\\n- Monitor poll interval: 100ms (card removal detection)\\\n- GP auth counter: ~15 (resets on successful auth)\\\n\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":2270}]"
metadata_diff: {"new":{"id":"a6768b6c7d2d4dbb855399468b9db6fa","parent_id":"beb251c3b3f9490285e6cb68942a5145","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1785830164489,"markup_language":1,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-08-14T17:00:00.744Z
created_time: 2026-08-14T17:00:00.744Z
is_locked: 0
type_: 13