Repository navigation
Cambium 0.9.0 adds connection recovery and finer control over native signing requests.
- Test or reconnect each paired signer and see its last successful contact. Supported signers can securely update the NIP-46 transport relays.
- Approve once, for an hour or day, or indefinitely; limit an app to selected operations and signing kinds.
- Read plain request summaries and bounded, temporary details. Private and encrypted content stays hidden.
- Rename identities and edit existing grants, including a confirmed identity change. Stale dialogs cannot overwrite a newer choice.
- Filter activity by app, identity and outcome, with safe failure categories and timings. Review a redacted diagnostic report before explicitly sharing it.
- Native NIP-55 batches return ordered results and per-request rejections, with caller attribution and visible one-shot consent where Android cannot identify a reused intent.
Existing approvals retain their meaning. Website consent remains one-shot. Heartwood remains the authority on what actually gets signed.
Validation: 330 JVM tests and 40 Android instrumentation tests, plus 16 UI regressions at 320 dp width and 150% text scaling, without failures or skips. Signed release build and release lint pass. Release source CI. The actual rust-nostr SDK is exercised with a two-relay local WebSocket signer fixture. The published APK also passed physical Pixel/Heartwood signing, NIP-04/NIP-44 round trips, consent/scope controls, grant duration editing, a two-request public-key batch, diagnostics review and reconnect checks on 13 October 2026. Initial signing and silent-path timeouts recovered on retry/reconnect. Physical biometric and new phone-unlock enrolment/board-unlock journeys remain unexercised. Physical acceptance receipt.
AppVerifier signing certificate:
dev.forgesworn.cambium
9E:A1:88:EF:A9:01:5F:7E:7F:90:E1:88:8F:58:6F:52:7B:2A:0E:8A:6D:CD:B3:99:1E:41:FB:4F:14:EE:EF:C6
Source: 40927a04bbb5e0efa9bf846d4d5b7f86ee07c6c4
APK SHA-256: 3510781a23ec1e3c626a9c39ee31f968f4d4ca38d85f626b85c0d617c29fc16a