# Nostr Compass #23 — Magyar Összefoglaló

**Dátum:** 2026. május 21.
**Forrás:** https://nostrcompass.org/en/newsletters/2026-05-21-newsletter/

---

## Top Stories

### Primal 3.5 Android: Újraépített shell és Explore

A Primal, a saját caching relay infrastruktúrával rendelkező szociális kliens, 3.5.9-es verziót adott ki ezen a héten egy teljesen újratervezett alkalmazás shell-lel. A redesign új navigációs struktúrát és dedikált Explore képernyőt hoz. Audio lejátszás link előnézetekhez érkezett (inline lejátszás a feed-ben). NIP-05 verifikációs badge-ek profile-okon inline megjelennek. A notification szűrés n event type-ra szűkíthető. Az editor jobb event-link kezelést kapott, az adatbázis réteg stabilitási javításokat.

### White Noise: Markdown, deep link-ek és audió metaadat

A White Noise, a Marmot MLS-alapú titkosított csoportos üzenetküldő app, az egyik legforgalmasabb hetét zárta a frontend és backend repo-kon.

Frontend: PR #665 teljes markdown rendering chat üzenetekhez (bold, italic, code block-ok, linkek). PR #675 leave-group flow nem-last admin-ok számára. PR #661 native deep link support `whenoise://` és `whenoise-staging://` URI-khoz user-ek, chat-ek és settings nélkül HTTP redirect infrastruktúra nélkül.

Backend (whitenoise-rs): PR #835 key package rotation javítás — a d_tag slot újrahasználata kind:30443 publish-ökhoz, így NIP-33 replaceable event semantics-szel a relay csak a legutolsó key package-t őrzi. PR #833 FileMetadata `duration_ms` és `waveform` mezők audió csatolmányokhoz, koordinálva MDK PR #300-al (ugyanez MIP-04 media tag-ekhez). Új `whitenoise-markdown` crate (PR #836) a korábbi nostr-sdk token parser helyett.

A Marmot protokoll spec biztonsági javítást kapott: PR #68 explicit HKDF-SHA256-at specifikál image key derivációhoz MIP-01-ben, eltávolítva a kétértelműséget. MDK PR #307 welcome failure reason szanitizálás és hosszlimit.

### Amethyst v1.10.0: Onchain Bitcoin Zap-ek

Az Amethyst négy kiadást adott ki, a v1.10.0 a fő újdonság. A release hozzáadja a NIP-BC onchain Bitcoin zap támogatást: felhasználók küldhetnek, fogadhatnak és megjeleníthetnek onchain Bitcoin tranzakciókkal rendezett zap-eket. A v1.09.2 Blossom blob detection javítás (non-compliant filenames elutasítása), PR #2977 onchain zapperek dedikált ₿ sorként jelennek meg a reactions gallery-ben. PR #2974 folyamatban lévő on-chain tranzakció történet screen pagination-nel.

### AgentNoise: Kódoló ágensek irányítása White Noise-on keresztül

Az AgentNoise (nvk-tól) egy Rust-native desktop helper, amely a telefonon futó White Noise-t vezérlőfelületként használja lokális Codex és Claude kódoló agent session-ökhöz. A tool egy vagy több White Noise chat-re figyel, first-pairing PIN flow-val autentikál, és lokális kódoló ágenseket indít. A `/claude <prompt>` küldése a telefonról új White Noise work session-t nyit a machine hostname és rövid prompt summary alapján, majd stream-eli a progress és final output-ot vissza a chat-be. Rust-first, Node nincs a trusted bridge path-ben. v0.1.24: rövidebb phone-readable repliek, job reference short unique prefix-szel, opt-in local session watcher.

### Keycast: Security audit kész

A Keycast, a csapat-orientált NIP-46 remote signing server (privát kulcsok SQLite-ban titkosítva), 2026 májusában biztonsági audit-ot zárt. A hardening: NIP-98 HTTP auth szigorúbb (pontosan egy u és method tag, stale timestamp elutasítás, payload hash validálás), ALLOWED_PUBKEYS allowlist pontos parsing és server-side enforcement, empty policy default-deny, SQLite foreign-key enforcement, nested route védelem. A projekt még korai, az audit residual item-eket is megemlít.

### Scramble: Marmot kliens desktop-ra és Androidra

A Scramble (korábban OpenChat) egy .NET/Avalonia desktop és Android kliens a Marmot Protocol-hoz, implementálva MIPs 00-04: KeyPackage publishing (kind:30443), group metadata NostrGroupData MLS extension-nel, NIP-59 gift-wrapped welcome event-ek (kind:444), ChaCha20-Poly1305 titkosított üzenetek (kind:445), Blossom titkosított média csatolmányok. Teljesen interoperábilis White Noise-szal. 13 release ezen a héten, fő funkció a multi-device support: minden device egyedi KeyPackage slot-ot generál, auto-felismeri peer device slot ID-kat, és automatikusan hozzáadja őket meglévő MLS csoportokhoz staged commit flow-val. Forward-secrecy banner: régi üzenetek nem elérhetők új device-on. External signer reconnect fix: IsConnected guard eltávolítva mind a 9 call site-on.

### Hostr: P2P szállásfoglalás Nostr-on

A Hostr egy peer-to-peer szállásfoglaló platform, amely teljes egészében Nostr-on épül. A teljes Airbnb-style flow-t lefedi (keresés, listázás, foglalás, fizetés) néhány draft NIP-pel. Az accommodation NIP a NIP-99-et terjeszti ki H3 geospatial cell index-ekkel és accommodation-specific tag-ekkel (type, check-in/check-out, minimum stay). A reservation NIP kind:32122 replaceable reservation event-eket, kind:1327 structured message rumor-okat (NIP-59 gift wrap privát tárgyaláshoz), és kind:1326 append-only transition event-eket definiál. Buyer privát per-trade temporary key-ken keresztül. Az escrow NIP kind:30303 escrow service hirdetéseket és kind:17388 user trust deklarációkat definiál — a referencia implementáció EVM smart contract-okat használ Rootstock-on. A marketplace listing NIP generic tag-eket definiál (instantBook, negotiable, quantity, securityDeposit, cancellationPolicy, maxDisputePeriod). A projekt ezen a héten app store beküldést készített elő és MCP client identity support-ot mergelt.

---

## Shipping This Week

### ngit v2.4.4: Trust-server flag

Az ngit v2.4.4 hozzáadja a `ngit sync --trust-server (-t)` flag-et, amikor a git server fast-forward-ben előrébb jár a Nostr state-nél. A `nostr.trust-server-domains` git config setting pontosvesszővel elválasztott allowlist-ot ad a szerverekhez, amelyek automatikusan megbízhatók.

### Amber v6.1.0-pre3: PSBT signing

Az Amber v6.1.0-pre3 jobb layout-ot kapott new app connection-ökhöz, crash fix-eket és select/deselect all opciót a permissions screen-en. PR #438 PSBT signing támogatás mind Intent-alapú mind NIP-46 relay-alapú path-okon, lehetővé téve Partially Signed Bitcoin Transaction aláírását az nsec expose-álása nélkül.

### Wisp v1.1.0: Private repliek és Amber support elhagyása

A Wisp v1.1.0 private repliek NIP-17 gift wrap-pel (PR #540), gift-wrapped reakciók és DIP-03 zap-ek private replikre (PR #543), auto-translate note-okra (PR #523), fiat input a zap dialog-on. PR #541 private zap-ek migrálása homegrown DM-relay plaintext-ről DIP-03-ra. Ugyanez a release cycle eltávolította a NIP-55 remote signer supportot (PR #531) és a bundled local relay-t (PR #533).

### Calendar by Formstr v1.5.4: Gift wrap fix új participant-okhoz

A Calendar by Formstr v1.5.4: PR #160 fix — privát naptár-esemény szerkesztése új participant-okkal nem küldött gift wrap meghívót az új pubkeys-nek. PR #156 error handling privát esemény dekódoláshoz. PR #138 recurring event időzóna drift fix.

### Applesauce v6.1.0: NIP-34 git cast-ek és NIP-51 lookup relay-ek

Az Applesauce v6.1.0 jelentős NIP-34 supportot kapott: GitRepository, GitGraspList, FavoriteGitRepos cast-ok, reactive property-k (favoriteGitRepos$, gitAuthors$, graspServers$). NIP-51 kind 10086 lookup relay list support. PR #73 pool manual method offline relay fix.

### Sprout v0.0.16: Sprig binary és huddle protocol v2

A Sprout (Block self-hosted team workspace) v0.0.16 desktop app + új Sprig all-in-one binary (PR #605): ACP harness, agent és developer MCP egyetlen busybox-style binary-ben. PR #611 `--no-memory` flag a NIP-AE core memory injection kikapcsolására. PR #609 huddle voice protocol v2 frame header, akár 10 egyidejű peer-rel.

### Nostrord v1.0.3: OS keychain és multi-account

A Nostrord v1.0.3: OS keychain-alapú lokális kulcstárolás passphrase fallback-bel, multi-account support, és tappable bunker QR code ami megnyitja a signer app-ot Androidon.

### Angor: NIP-44 migráció és biztonsági hardening

Az Angor Bitcoin crowdfunding app három unstable release-t adott ki. PR #860 NIP-04-ről NIP-44-re migrál (XOR-based → ChaCha20-Poly1305). PR #861 Blossom media upload ephemeral Nostr auth key-el. Biztonsági sorozat: PR #854 type safety és mnemonic memory protection, PR #856 protokoll-szintű validáció (timelock, fee rate, dust threshold, penalty), PR #851 nyolc medium/low severity hardening, PR #859 GrapheneOS kompatibilitás (AOT compilation), PR #855 wallet loss megelőzése Android swipe-kill-nél.

### Alby js-sdk v8.0: NWC multi-relay reconnect

Az Alby js-sdk v8.0 (v8.0.1–v8.0.3): PR #516 nostr-tools frissítés és native auto-reconnect több relay-en, a korábbi polling megközelítés helyett. PR #542 console.debug helyett injectable logger interface. WebSocket polyfill elhagyva, Node.js 22+ szükséges.

### KeyChat v1.41.1: Forward secrecy fix

A KeyChat (Signal + Nostr relay transport) v1.41.1+6513: Signal one-time prekey-ek azonnali törlése sikeres dekódolás után, bezárva a gap-et, ahol egy megtartott prekey múltbeli üzenetek dekódolására használható volna. URL preview single-link üzenetekhez, centralized media auto-download (20 MB threshold), NIP-11 relay info force refresh cold start-on.

---

## In Development

### Citrine: NIP-70 enforcement és AUTH

A Citrine PR #151 implementálja a NIP-70 enforcement-et: az Android relay blokkolja a protected event content-et beágyazó repost-okat. PR #149 több connection address (localhost, Wi-Fi, Tor) display és copy. PR #141 NIP-42 AUTH challenge handling external signer-en (Amber) keresztül.

### Mostro: Anti-abuse bond Phase 2

A Mostro PR #737 solver-directed dispute slash logic: admin handler-ek a BondResolution payload-ból dolgoznak, admin vágja bármelyik fél bond-ját dispute megoldásakor. PR #736 Phase 1.5: dedikált PayBondInvoice action és WaitingTakerBond status. A mobil kliens PR #592 Phase 1.5 UX.

### Damus: Relay signal indicator restore

A Damus PR #3773 visszaállítja a relay signal indicator-t. PR #3775 fix: relay-k amik nem reconnect-eltek első connection failure után.

### rust-nostr: Event finalization és NIP-46 race fix

A rust-nostr PR #1358 event finalization trait-ek és NIP-specifikus event builder-ek. PR #1363 NIP-46 signer subscription fix: a signer a notification-ökre feliratkozik a connect response küldése előtt, bezárva a race condition-t.

### dart-nostr: Namecoin .bit resolver

A dart-nostr PR #44 Namecoin .bit relay resolver és TLSA pin record-ek: Flutter app-ek `wss://example.bit/` relay URL-eket oldhatnak fel Namecoin DNS-en keresztül.

### Dart NDK: NIP-77 és web signer

A Dart NDK PR #464 implementálja a NIP-77 offline event signing protokollt. PR #602 és PR #601 web-specific event signer és PlatformEventVerifier abstraction — Flutter web app-ok platform signert használhatnak külön code path nélkül. PR #608 `getDmRelays()` a NIP-17 DM relay list-hez. PR #600 NIP-46 signed field preservation fix.

### Pages by Form*: Encrypted attachment fix export-ekhez

A Pages by Form* PR #37 hiányzó képek fix DOCX/HTML/PDF export-okban: `<encrypted-file>` blob-ok letöltése Blossom-ról, AES-GCM 256-bit dekódolás, MIME validálás, base64 data URL konverzió. PR #39 lokális dokumentum keresés, PR #38 rename flow cleanup, PR #40 shared backup fix.

### Zap Cooking: Feed overhaul phase 1

A Zap Cooking PR #396 a feed overhaul első fázisa: NIP-92 imeta tag parser (url, m, dim, blurhash, alt, x, fallback slot-ok) és egy kézi canonical blurhash decoder (~200 LOC), PNG data URL-ekkel canvas-on, SSR-safe null fallback-el. Ha nincs imeta, raw image/video URL extraction a content-ből.

### Nurunuru: Native → Web sync v1.5.0

A Nurunuru Nostr kliens v1.5.0 sync-eli a Native feature-eket Web-re: birthday notification, mutual-follow zap detection, custom-emoji reaction notification, reaction picker custom emoji center, recommendation engine filter (icon/display name nélküli user-ek kizárása). Voice input a Web-ben már ElevenLabs Scribe streaming-et használ; a Native oldali Scribe integration v1.6-ra halasztva.

---

## Protocol and Spec Work

- **PR #2251 — NIP-70 protected events szigorítás:** Explicit kimondja, hogy a protected event teljes content-ét beágyazó repost-okat a relay-eknek el kell utasítaniuk. Citrine PR #151 implementálja ezt a hét.
- **PR #1653 — Drafts NIP:** Replaceable event-ek draft status-szal és NIP-44 titkosítással az author saját kulcsára. A draft event a teljes tervezett publikációs event-et titkosított content-ként hordozza.
- **PR #2279 — Snapshots:** Immutable snapshot event replaceable Nostr event-ek egy pontos verziójának megőrzésére. a tag link vissza a replaceable event-hez, így minden történelmi verzió együtt query-hez.
- **Namecoin NIP-05 wave:** Koordinált push `.bit` NIP-05 feloldásra — PR-ek nyíltak Aegis (#14, sign-time verification a signer oldalon), nostter (#2128), dart-nostr (#44), és upstream NIP draft (PR #2349) ellen. Az Aegis PR a producer oldalon ellenőriz: a signer a Namecoin chain-t ellenőrzi kind:0 event aláírása előtt.

---

## NIP Deep Dive: NIP-07 (window.nostr web böngészőknek)

A NIP-07 definiálja a `window.nostr` interface-t, amelyet böngészőbővítmények (Alby, nos2x, Flamingo, horse) tesznek elérhetővé web app-oknak. Két kötelező method: `getPublicKey()` (pubkey hex visszaadása a privát kulcs expose-álása nélkül) és `signEvent(event)` (partial event beérkezik, teljes aláírt event jön vissza). Opcionális encrypt/decrypt method-ok a NIP-04 (deprecated) és NIP-44 sémákhoz. A spec ajánlja a `document_end` script loading-ot, hogy a `window.nostr` szinkron elérhető legyen. A Keycast web frontend például NIP-07-et használ NIP-98 HTTP auth event-ek aláírására — a SvelteKit app sosem kezeli az nsec-et, a kulcs a bővítményben marad.

---

## NIP Deep Dive: NIP-39 (Külső identitások profile-okban)

A NIP-39 definiálja, hogyan deklaráljon egy Nostr felhasználó kontrollt külső platform identitások felett. Minden deklaráció egy `i` tag a kind:10011 event-ben: `["i", "platform:identity", "proof"]`. GitHub-nál a proof egy Gist ID — a felhasználó egy publikus Gist-et készít a Nostr pubkey-jével, a kliens a Gist-et fetch-eli és ellenőrzi. Twitter-nél tweet ID, Mastodon-nál post ID, Telegram-nál message reference. A platform név csak a-z, 0-9, `._-/` karaktereket tartalmazhat. A Namecoin .bit NIP-05 hullám mutatja a NIP-39 szerepét a szélesebb identitás stack-ben: standardizált, relay-agnostic módja annak, hogy egy Nostr kulcsot külső identitással kereszthivatkozzunk centralizált verifikációs hatóság nélkül.