Skip to content

Podkey 0.0.8: general-signer signing, refreshed docs, popup fit, key icons#23

Open
jjohare wants to merge 2 commits into
JavaScriptSolidServer:mainfrom
jjohare:fix/general-signer-trusted-origins
Open

Podkey 0.0.8: general-signer signing, refreshed docs, popup fit, key icons#23
jjohare wants to merge 2 commits into
JavaScriptSolidServer:mainfrom
jjohare:fix/general-signer-trusted-origins

Conversation

@jjohare

@jjohare jjohare commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Brings Podkey to a coherent 0.0.8: the general-signer fix, documentation that matches the current capability and security model, a popup that fits the browser surface, and real extension icons.

Signing — trusted origins sign without a prompt

handleSignEvent only auto-signed kind 27235 (Solid auth) for a trusted origin; every other kind re-prompted on each request. A normal client publishes kind 0 / 10002 / 22242 on each page load, so users saw three approval popups every time. Signing now honours trust like getPublicKey and nip44.{encrypt,decrypt} already do:

let shouldSign = trusted;

A trusted origin signs any kind with no prompt. An untrusted origin always prompts, and approving it grants revocable per-origin trust. No silent first-use.

Docs

README, USAGE and CHANGELOG rewritten to describe the current behaviour: session-only key storage, per-origin consent, trusted-origin signing, NIP-98 with a fresh nonce and body/URL binding, and the getPublicKey / signEvent / nip44 provider surface. UK English; the removed getRelays stub is no longer documented.

Popup

The trusted-sites list is capped and section spacing tightened so the Export / GitHub footer stays inside the browser popup height instead of scrolling off; width is 400px.

Icons

16 / 48 / 128px key icons (icons/icon.svg master) wired into manifest.icons and action.default_icon, so the toolbar shows the Podkey key.

Verification

npm run build ✓ · npm test → 133 pass / 0 fail ✓ · npm run lint → 0 errors ✓. CI uploads the sideloadable podkey-extension zip on every run.

🤖 Generated by Claude Code

…igner)

handleSignEvent gated auto-signing on `trusted && autoSign && isSolidAuth`,
so a trusted origin only signed kind-27235 (Solid auth) silently and
re-prompted for every other event kind. A normal Nostr client — the forum
publishes kind 0 / 10002 / 22242 on every load — therefore raised three
approval popups on each page load, making Podkey unusable as a single
general-purpose signer.

Align signing with the trust model already used by GET_PUBLIC_KEY and
nip44.{encrypt,decrypt}: a trusted origin is sufficient to skip the prompt
(decrypting DMs is strictly more sensitive than signing, and is already
silent for trusted origins). An untrusted origin still ALWAYS prompts, and
approving it establishes revocable trust — no silent first-use.

    let shouldSign = trusted && autoSign && isSolidAuth;
    ->  let shouldSign = trusted;

Tests updated to the general-signer contract (133 pass, lint clean).

Co-Authored-By: jjohare <github@thedreamlab.uk>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Claude Code seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

…ey icons

- README/USAGE/CHANGELOG: rewrite to match the current capability and security
  model (session-only key, per-origin consent, trusted-origin signing, NIP-98
  with fresh nonce + body/URL binding, honest window.nostr surface). UK English.
- popup: cap the trusted-sites list and tighten section spacing so the Export /
  GitHub footer stays within the browser popup height instead of scrolling off;
  widen to 400px.
- icons: add 16/48/128px key icons (icons/icon.svg master) and wire them into
  manifest icons + action.default_icon so the toolbar shows the Podkey key.

Co-Authored-By: jjohare <github@thedreamlab.uk>
@jjohare jjohare changed the title fix(signing): trusted origins sign without a prompt (general NIP-07 signer) Podkey 0.0.8: general-signer signing, refreshed docs, popup fit, key icons Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants