Isn’t that what your nostrignite does?

Client calls window.nostr.signEvent

Nostr ignite gets the signature via nip-46 and returns it to the client