Googstr/extension/prompt.html
Jason Tudisco fcfaec675a Add NIP-46 signer, optional NIP-07 extension, passkey protection, backups
- NIP-46 remote signer in the page (bunker:// and nostrconnect:// pairing)
- Chrome extension (NIP-07) with per-site permission prompts, unlocked by
  the site via externally_connectable; downloadable from the page
- Passkey (WebAuthn PRF) encryption of the Drive key file
- NIP-49 backups: download or save to Drive; reveal nsec
- Fix: oldest key file wins when two devices sign up at once
- Fix: never overwrite an existing kind-0 because a relay was slow
- Fix: EOSE tracking; relays reconnect with backoff; verify event signatures
- One-click re-sign-in (consent only the first time)
- Vendored, pinned nostr-tools; CSP; no third-party scripts but Google's

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 08:33:02 -06:00

25 lines
806 B
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Goostr — permission request</title>
<link rel="stylesheet" href="ext.css" />
</head>
<body>
<main>
<h1>Allow this site?</h1>
<p class="mono" id="origin"></p>
<p id="what"></p>
<pre id="details" class="hidden"></pre>
<div id="locked-box" class="box hidden">
<p class="muted">Goostr is locked. Unlock it first, then choose below.</p>
<button id="unlock" class="primary">Unlock with Goostr</button>
</div>
<button id="once" class="primary">Allow once</button>
<button id="always">Always allow this site</button>
<button id="deny" class="danger">Reject</button>
</main>
<script type="module" src="prompt.js"></script>
</body>
</html>