You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rebrand from NostrKey to NostrKeep Signer (com.nostrkeep.signer).
Native SwiftUI v2 with identity cards, relay management, QR scanner,
deep link handling, and PKPass wallet integration. Updated entitlements,
App Groups, shared keychain, and CI workflow.
Copy file name to clipboardExpand all lines: APP-STORE-SUBMISSION.md
+42-42Lines changed: 42 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
-
# App Store Submission — NostrKey Authenticator for iOS
1
+
# App Store Submission — NostrKeep Signer Authenticator for iOS
2
2
3
-
This document contains all the information needed to submit the NostrKey Authenticator for iOS to the Apple App Store.
3
+
This document contains all the information needed to submit the NostrKeep Signer Authenticator for iOS to the Apple App Store.
4
4
5
-
> **Two-Product Strategy:** This is the standalone **Authenticator** app (`com.nostrkey.authenticator`), distinct from the Safari Web Extension companion app at `nostrkey.browser.plugin.src/apple/` (`com.nostrkey.extension`). The two apps share a Keychain via App Groups but serve different primary functions and target different App Store categories. See "Relationship to Safari Extension" below.
5
+
> **Two-Product Strategy:** This is the standalone **Authenticator** app (`com.nostrkeep.signer`), distinct from the Safari Web Extension companion app at `nostrkey.browser.plugin.src/apple/` (`com.nostrkeep.signer.extension`). The two apps share a Keychain via App Groups but serve different primary functions and target different App Store categories. See "Relationship to Safari Extension" below.
6
6
7
7
## Prerequisites
8
8
@@ -11,13 +11,13 @@ This document contains all the information needed to submit the NostrKey Authent
11
11
-[x] App Store Connect access
12
12
-[x] App icon (1024x1024px, SVG-rendered)
13
13
-[ ] Screenshots for iPhone (6.9" / 6.7")
14
-
-[ ] Privacy Policy URL live at nostrkey.com/privacy.html
14
+
-[ ] Privacy Policy URL live at nostrkeep.com/privacy.html
NostrKey is the authenticator for the Nostr protocol. Scan a QR code, and you're signed in. Your private keys live in the Secure Enclave — hardware-isolated, biometric-protected, never extractable.
37
+
NostrKeep Signer is the authenticator for the Nostr protocol. Scan a QR code, and you're signed in. Your private keys live in the Secure Enclave — hardware-isolated, biometric-protected, never extractable.
38
38
39
-
Think of NostrKey as the 1Password or Authy for Nostr. Websites and apps show you a QR code, you scan it with NostrKey, and you're authenticated — your private key never leaves your device.
39
+
Think of NostrKeep Signer as the 1Password or Authy for Nostr. Websites and apps show you a QR code, you scan it with NostrKeep Signer, and you're authenticated — your private key never leaves your device.
40
40
41
41
HOW IT WORKS
42
42
43
43
1. Create or import your Nostr identity
44
44
2. Your private key is stored in the Secure Enclave with Face ID protection
45
45
3. When a Nostr app needs you to sign in, it shows a QR code
46
-
4. Scan the QR code with NostrKey — authentication happens instantly
46
+
4. Scan the QR code with NostrKeep Signer — authentication happens instantly
47
47
5. Your key never touches the browser or the app you're signing into
48
48
49
49
KEY FEATURES
@@ -55,12 +55,12 @@ KEY FEATURES
55
55
• One-Tap Relay Management — add relays by scanning a QR code or tapping a deep link
56
56
• Identity Card — your npub as a shareable QR code with copy and share actions
57
57
• Apple Wallet Integration — add your Nostr identity as a Wallet pass for meetups and events
58
-
• Deep Link Support — nostrkey:// URLs for add-relay, connect, import-keys, and wallet-pass
59
-
• Dark Theme — Monokai color scheme matching the NostrKey browser extension
58
+
• Deep Link Support — nostrkeepsigner:// URLs for add-relay, connect, import-keys, and wallet-pass
59
+
• Dark Theme — NostrKeep teal-on-navy color scheme matching the NostrKeep Signer browser extension
60
60
61
-
WORKS WITH THE NOSTRKEY SAFARI EXTENSION
61
+
WORKS WITH THE NOSTRKEEP SIGNER SAFARI EXTENSION
62
62
63
-
NostrKey Authenticator and the NostrKey Safari Web Extension share a secure Keychain via App Groups. When both are installed:
63
+
NostrKeep Signer Authenticator and the NostrKeep Signer Safari Web Extension share a secure Keychain via App Groups. When both are installed:
64
64
65
65
• The Safari extension detects your Secure Enclave keys automatically
66
66
• Browser signing is upgraded from software keys to hardware-secured keys
@@ -71,7 +71,7 @@ You don't need both — each works independently — but together they form a tw
71
71
72
72
SECURITY
73
73
74
-
All private key material stays on your device. Keys are stored in the Secure Enclave with biometric access control — every signing operation requires Face ID or Touch ID. No data is collected, no analytics, no tracking. NostrKey is fully open source under the MIT license.
74
+
All private key material stays on your device. Keys are stored in the Secure Enclave with biometric access control — every signing operation requires Face ID or Touch ID. No data is collected, no analytics, no tracking. NostrKeep Signer is fully open source under the MIT license.
75
75
76
76
SUPPORTED NIPS
77
77
@@ -94,7 +94,7 @@ Completely rebuilt from the ground up as a native SwiftUI authenticator.
94
94
• New: One-tap relay management via QR codes and deep links
95
95
• New: Identity card with shareable npub QR code
96
96
• New: Camera permission handling with Settings redirect
97
-
• New: Monokai dark theme matching the browser extension
97
+
• New: NostrKeep teal-on-navy dark theme
98
98
• New: Shared Keychain bridge with Safari extension
99
99
```
100
100
@@ -112,21 +112,21 @@ Completely rebuilt from the ground up as a native SwiftUI authenticator.
112
112
113
113
## Relationship to Safari Extension
114
114
115
-
NostrKey exists as two complementary products on the App Store:
115
+
NostrKeep Signer exists as two complementary products on the App Store:
116
116
117
-
||NostrKey Authenticator |NostrKey Web Extension |
117
+
||NostrKeep Signer Authenticator |NostrKeep Signer Web Extension |
**Why two apps?** The Safari extension injects `window.nostr` into web pages for seamless browser-based signing. The authenticator app provides hardware-secured key storage and QR-based authentication that works with any Nostr client, not just browsers. Different app categories, different primary interfaces, different use cases — like how 1Password has both a Safari extension and a standalone app.
128
128
129
-
**Bridge behavior:** When both apps are installed, the Safari extension automatically detects Secure Enclave keys stored by the authenticator via the shared App Group Keychain (`H48PW6TC25.group.com.nostrkey`). It upgrades its signing operations from software keys to hardware-secured keys transparently.
129
+
**Bridge behavior:** When both apps are installed, the Safari extension automatically detects Secure Enclave keys stored by the authenticator via the shared App Group Keychain (`H48PW6TC25.group.com.nostrkeep.signer`). It upgrades its signing operations from software keys to hardware-secured keys transparently.
130
130
131
131
## Privacy Details (App Store Connect)
132
132
@@ -136,7 +136,7 @@ NostrKey exists as two complementary products on the App Store:
136
136
Select: **Data Not Collected**
137
137
138
138
### Privacy Policy URL
139
-
**https://nostrkey.com/privacy.html**
139
+
**https://nostrkeep.com/privacy.html**
140
140
141
141
### Privacy Nutrition Label
142
142
| Data Type | Collected | Linked to Identity | Tracking |
@@ -146,8 +146,8 @@ Select: **Data Not Collected**
146
146
## Required Assets
147
147
148
148
### App Icon
149
-
- 1024x1024px PNG (rendered from NostrKey-logo.svg)
@@ -169,13 +169,13 @@ Select: **Data Not Collected**
169
169
## App Review Information
170
170
171
171
### Demo Account
172
-
Not applicable — NostrKey generates keys locally. No account, server, or subscription needed.
172
+
Not applicable — NostrKeep Signer generates keys locally. No account, server, or subscription needed.
173
173
174
174
### Review Notes
175
175
```
176
-
NostrKey Authenticator is a native SwiftUI app that provides QR-based Nostr identity authentication with Secure Enclave key storage. It is NOT a browser extension wrapper — it is a standalone authenticator built with AVFoundation (camera), Security framework (Keychain/Secure Enclave), LocalAuthentication (Face ID), and CoreImage (QR generation).
176
+
NostrKeep Signer Authenticator is a native SwiftUI app that provides QR-based Nostr identity authentication with Secure Enclave key storage. It is NOT a browser extension wrapper — it is a standalone authenticator built with AVFoundation (camera), Security framework (Keychain/Secure Enclave), LocalAuthentication (Face ID), and CoreImage (QR generation).
177
177
178
-
This app is distinct from our NostrKey Safari Web Extension (com.nostrkey.extension). The web extension injects window.nostr into Safari for browser-based signing. This authenticator app provides hardware-secured key storage and QR-based authentication — a different app category, different primary interface, and different use case. They share a Keychain via App Groups so users who install both get upgraded security automatically.
178
+
This app is distinct from our NostrKeep Signer Safari Web Extension (com.nostrkeep.signer.extension). The web extension injects window.nostr into Safari for browser-based signing. This authenticator app provides hardware-secured key storage and QR-based authentication — a different app category, different primary interface, and different use case. They share a Keychain via App Groups so users who install both get upgraded security automatically.
179
179
180
180
Key functionality:
181
181
1. Generate or import Nostr private keys (nsec bech32 format)
@@ -185,14 +185,14 @@ Key functionality:
185
185
5. View public key (npub) as a QR code for sharing
186
186
6. Manage multiple Nostr identities with profile switching
187
187
7. Configure relay connections with NIP-11 metadata fetching
188
-
8. Deep link support for nostrkey:// and nostrconnect:// URI schemes
188
+
8. Deep link support for nostrkeepsigner:// and nostrconnect:// URI schemes
189
189
190
190
To test:
191
191
1. Launch the app — tap "Create New Identity" on the onboarding screen
192
192
2. The Home tab shows your active profile with npub QR code
193
193
3. Tap profiles in the list to switch active identity
194
194
4. Go to the Scanner tab — grant camera permission when prompted
195
-
5. Visit nostrkey.com/test-qr-codes on another device to get test QR codes
195
+
5. Visit nostrkeep.com/test-qr-codes on another device to get test QR codes
196
196
6. Scan a relay URL QR (wss://relay.damus.io) — the app offers to add it
197
197
7. Scan an npub QR — the app shows the profile view
198
198
8. View the Identity tab for your full npub QR with copy/share actions
@@ -209,17 +209,17 @@ Precedent: This two-product model (browser extension + standalone authenticator)
NostrKey iOS app — a native SwiftUI Nostr identity authenticator. QR scanner as primary interface, Secure Enclave key storage, NIP-46 remote signing, Apple Wallet integration, and deep link relay management.
4
+
NostrKeep Signer iOS app — a native SwiftUI Nostr identity authenticator. QR scanner as primary interface, Secure Enclave key storage, NIP-46 remote signing, Apple Wallet integration, and deep link relay management.
5
5
6
6
## Architecture (v2 — March 2026 Rebuild)
7
7
Complete rewrite from WebView-wrapper to native SwiftUI. No more bundled browser extension. The app is a standalone authenticator that holds keys and signs on behalf of any Nostr client.
├── Info.plist # App config (camera + Face ID permissions, deep link schemes)
20
-
└── NostrKey.entitlements # App Groups + Keychain sharing
20
+
└── NostrKeepSigner.entitlements # App Groups + Keychain sharing
21
21
```
22
22
23
-
### Legacy Source: `NostrKey/`
24
-
The original WebView-wrapper app (v1.x) is preserved in `NostrKey/` for reference. The v2 project.yml points to `NostrKey-v2/` sources but still uses `NostrKey/Assets.xcassets` for icons.
23
+
### Legacy Source: `NostrKeepSigner/`
24
+
The original WebView-wrapper app (v1.x) is preserved in `NostrKeepSigner/` for reference. The v2 project.yml points to `NostrKeepSigner-v2/` sources but still uses `NostrKeepSigner/Assets.xcassets` for icons.
25
25
26
26
## Ecosystem Position
27
-
The authenticator for Nostr. Holds keys in Secure Enclave, signs via NIP-46 for any client. Shares keys with the Safari extension via App Group Keychain (`group.com.nostrkey`).
27
+
The authenticator for Nostr. Holds keys in Secure Enclave, signs via NIP-46 for any client. Shares keys with the Safari extension via App Group Keychain (`group.com.nostrkeep.signer`).
0 commit comments