> why not just switch accounts at the extension level and the nip07 is called with the active key?
The problem is that I want clients to support multiple accounts. In fact I did start implementing such a client but could not keep up with the other emerging clients. Think about how Twitter works. You can add multiple accounts to your app/website and then switch with a click in the app. You would not want to mirror that click with a click in the plugin. So either the client has to tell the plugin with each function the pubkey it wants to act on behalf or - and I guess that's inferior - it has to tell the plugin when to switch accounts. The latter is problematic as I might be working on multiple tabs and the plugin would have to maintain state per tab to not encrypt messages from the wrong user for example.