Then the browser is the signer, and that is the right side of the line: the page asks, the shell signs, the key never enters the tab. What decides whether it actually holds is the shape of the API you expose. If a page can request a signature on any event without the user seeing what is being signed...