NIP-260 ======= Shared Account -------------- `draft` `optional` This NIP introduces a standard way to share account signing privileges without revealing its privkey. It uses time-released delegation events to get around the irrevocability property of [NIP-26](26.md) delegation tokens. ### "Share Account Access" Feature The `delegator` user should be able to inform the `delegatee`'s `pubkey` to the client through a "Share Account Access" feature. The `delegator`s client then pre-generates a set of "Delegation Delivery" events to be released on their `write` relays by a "cron-like" (scheduler) service at each event's `.created_at` moments. Each of these events holds one NIP-26 `delegation token` and a corresponding `condition string` covering a *very narrow* `created_at>A&created_at", "tags": [ [ "delegation_delivery", "kind=1&created_at>1702711000&created_at<1702721800", "6f44d7...e5f524" ], ["p", ""], ["k", "1"], ["expiration", "1702721800"] ], "content": "", "created_at": 1702711000 // future time when the delegation starts to count // ...other fields } ``` ### Relay Support A relay may act as a scheduler service by allowing the publishing of `kind:1026` events with future `.created_at` values while also never sending such events with future timestamps to users other than the author. ### Use Cases - Enable employees to publish `kind:1` events on behalf of an enterprise account. `Delegatees` should publish to the `delegator` relays. Reading client's interface should display the `delegator` as the delegated `kind:1` events' author (e.g.: show just the `delegator`'s avatar picture); - Enable employees to publish `DM`s on behalf of an enterprise account. `Delegatees` should publish to their own relays. Reading client's interface should display the `delegatee` (**not the delegator**) as the author of the delegated `DM` events and indicate it is speaking on the company/`delegator`'s behalf (e.g.: show both accounts' avatar pictures).