Nostash is a NIP-07 compatible Safari extension for signing Nostr events that works on iPhone, iPad, and Mac.
- Login with Nostr (
getPublicKey
). - Post Nostr event (
signEvent
). - Encryption and decryption (
nip44.encrypt
,nip44.decrypt
,nip04.encrypt
,nip04.decrypt
). - Multiple profiles.
- iOS 18+
- iPadOS 18+
- macOS 15+
- Safari 18+
Download on the App Store for stable releases and TestFlight for beta releases.
Click the Nostash extension icon in the Safari toolbar, there should be a default profile with a new, random private key.
Feel free to change the name and edit the key with your personal Nostr key. Create additional profiles as desired. Whichever key profile is selected under Profile is the currently "active" profile for Nostr events.
Thanks to ursuscamp for creating Nostore, which this project was forked by tyiu at version 1.2.0
(c8458140e69dd30b35a31043daedcb88872a270e
) and has since been archived.
Thanks to fiatjaf for envisioning Nostr, but also for creating nostr-tools and the nos2x extension, which was referenced liberally when stumped during development of this extension.
This extension does not collect any user data, or transmit any data over a network connection. All private key data is sequestered in the extension's separate browser storage.
- Open the project in Xcode.
- Open project folder in terminal.
- Run
npm install
to install the dependencies. - Run
npm run watch
to watch and build the necessary extension files. - Run
npm run watch-tailwind
to watch and build the pages with tailwinds CSS. - After every rebuild, execute Run in Xcode to deploy the latest changes to Safari.
If you do not see the Nostash extension in your Safari toolbar, you need to activate unsigned extensions and Nostash:
- Safari menu -> Settings -> Advanced -> Show features for web developers.
- Click the Developer tab in Settings, select Allow unsigned extensions.
- Click the Extensions tab in Settings, activate Nostash.