mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Implements per-app permission management for the internal nsec signer when webapps/napplets/nsites connect via Amethyst's built-in key: - Three trust levels on first connect (FULL_TRUST, REASONABLE, PARANOID) with a UI dialog (NappletConnectActivity) matching the design spec - Per-operation consent dialogs (NappletSignerConsentActivity) for sign-kind/encrypt/decrypt with Allow once, Don't ask again, Deny options - Per-app DataStore storage (DataStoreNostrSignerPermissionStore) using SHA-256-hashed filenames so 1000s of apps don't bloat a single file - NostrSignerPermissionLedger applies policy decisions: REASONABLE auto-allows kinds 1/6/7; FULL_TRUST auto-allows all non-payment ops - NappletBroker extended with first-connect gate and per-op signer gate, serialized by a dedicated signerConsentLock mutex - Permission management screen (NappletSignerPermissionsScreen) to review and revoke stored per-app signer permissions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013hTFpoExYYLYEGGtXBx6ZT