Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 15 additions & 13 deletions app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -228,30 +228,32 @@
font-size: 0.92rem;
}

/* The four Notary screens on /signer. Two up on a wide page, one up on a
phone, because a screenshot of a window is unreadable at half a phone's
width. The caption carries the meaning, so it stays with its picture
rather than being collected into a paragraph underneath. */
/* Notary's cards on /signer: one wide lead image, then three portrait panels
side by side. Below 640px the panels stack, because a 1000x1400 card at a
third of a phone's width is unreadable. */
.zn-shot-hero {
width: 100%;
height: auto;
border-radius: 0.7rem;
display: block;
margin: 1.25rem 0;
}
.zn-shots {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.25rem;
margin: 1.5rem 0;
}
.zn-shots figure {
margin: 0;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1rem;
margin: 1.25rem 0;
}
.zn-shots img {
width: 100%;
height: auto;
border-radius: 0.7rem;
display: block;
}
.zn-shots figcaption {
margin-top: 0.55rem;
.zn-shot-note {
font-size: 0.875rem;
line-height: 1.5;
opacity: 0.8;
opacity: 0.75;
}
@media (max-width: 640px) {
.zn-shots {
Expand Down
34 changes: 16 additions & 18 deletions content/signer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,27 @@ the NIP-46 "bunker" protocol, so your `nsec` lives in a local daemon on a machin
you control. Nothing gets signed quietly: you see what a client is asking for
before it happens, and the key never leaves the daemon.

## The whole app
<img
src="/notary/hero.jpg"
alt="Notary: a native home for your key. Zig and Metal, no Electron. Your key stays in the signer."
className="zn-shot-hero"
/>

Four screens, which is all of it.
## What it does

<div className="zn-shots">
<figure>
<img src="/notary/setup.jpg" alt="Set up your signer: create a new key or import one you already have" />
<figcaption><strong>Set up.</strong> Create a key or bring one you have. The key is generated and stored by the daemon; the app only ever sends the passphrase.</figcaption>
</figure>
<figure>
<img src="/notary/unlock.jpg" alt="Unlock your signer with your passphrase" />
<figcaption><strong>Unlock.</strong> The key is encrypted at rest. Nothing serves until you unlock it.</figcaption>
</figure>
<figure>
<img src="/notary/serving.jpg" alt="Serving: the bunker URL to copy, and live per-relay status" />
<figcaption><strong>Serve.</strong> Copy the <code>bunker://</code> URL into any Nostr client. Each relay reports its own state, so you can see where you are reachable.</figcaption>
</figure>
<figure>
<img src="/notary/request.jpg" alt="A signing request naming itself, waiting for approve or deny" />
<figcaption><strong>Approve.</strong> Every request names itself and waits. Nothing is signed while you are not looking.</figcaption>
</figure>
<img src="/notary/panel-setup.jpg" alt="The key never arrives: it is created and held by the signer, and this window only forwards your passphrase" />
<img src="/notary/panel-serving.jpg" alt="One URL, any client: paste the bunker link into any Nostr app and you are connected" />
<img src="/notary/panel-request.jpg" alt="Nothing signs quietly: every request names itself, and waits, before anything is signed" />
</div>

<p className="zn-shot-note">
Real windows, photographed from the running app. Every pixel inside the window
is the app's own, so nothing here shows a screen the app cannot draw. The signer
pubkey and <code>bunker://</code> URL come from a stub daemon; no real key
appears in any of them.
</p>

## How it works

- A headless **daemon** holds the key (encrypted at rest with NIP-49) and speaks
Expand Down
Binary file added public/notary/hero.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/notary/panel-request.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/notary/panel-serving.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/notary/panel-setup.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed public/notary/request.jpg
Binary file not shown.
Binary file removed public/notary/serving.jpg
Binary file not shown.
Binary file removed public/notary/setup.jpg
Binary file not shown.
Binary file removed public/notary/unlock.jpg
Binary file not shown.
Loading