Skip to content

Signstr-app/signstr-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Signstr

Your keys. Your identity.

Signstr is a NIP-46 remote signer for Nostr. It turns your iPhone into a dedicated signing device — your private keys stay on your phone, protected by Face ID, while you use any Nostr client on any device.

How It Works

  1. Open Signstr and create or import a Nostr identity
  2. Scan a QR code from any NIP-46 compatible client (Coracle, Primal, noStrudel, etc.)
  3. The client sends signing requests to your phone over Nostr relays
  4. Safe events sign automatically. Sensitive events require your approval and Face ID

Your nsec never leaves your device. The client never sees your private key.

Features

  • Multiple identities — manage several Nostr identities from one app
  • Smart auto-approve — metadata, contact lists, and relay auth sign silently; notes and DMs require approval
  • Per-identity policies — configure which event types each identity auto-approves
  • Face ID — every sensitive signing request requires biometric authentication
  • Connection persistence — connections survive app restarts with automatic relay reconnection
  • Event history — full audit trail of every signed event per identity
  • NIP-44 encryption — all communication is end-to-end encrypted

Supported Clients

Any app that supports NIP-46 remote signing, including:

Privacy

No accounts. No analytics. No tracking. No servers. Signstr communicates only with Nostr relays specified by your connected apps.

Technical Details

  • NIP-46 remote signing protocol
  • NIP-44 encrypted communication
  • Schnorr signatures (BIP-340)
  • Keys stored in iOS Keychain
  • Face ID via LocalAuthentication framework

Building from Source

  1. Clone this repository
  2. Open Signstr.xcodeproj in Xcode 15+
  3. Build and run on an iOS 17+ device

Verify the Code

Every claim we make is verifiable in the source:

Claim Where to verify
Keys never leave your device IdentityManager.swift — nsec stored in iOS Keychain, signing via SchnorrSigner.sign()
No analytics or tracking Search the repo — only network calls are WebSocket connections to Nostr relays
NIP-44 encryption NIP44.swift — passes all official spec test vectors
Face ID for sensitive signing NIP46Service.swiftLAContext.evaluatePolicy gate on non-safe event kinds
Open source NIP-46 NIP46Service.swift — standard protocol implementation

Licence

[Choose: AGPLv3 / MIT]

Links

  • Website: signstr.com
  • App Store: [link after approval]
  • Nostr: [your npub]

Built by Gridmark Technologies Ltd

About

NIP-46 remote signer for Nostr — iOS

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages