- Without user interaction (that means can't use "optional_permissions")
- Don't use "identity" and "identity.email" permissions
- No any new warning permissions
- Only some organizations need this
It's really hard to meet all these!
One way I thought is let the domain administrator set a key-value in chrome.storage.managed. For example, "getUser" -> "A URL to get email". In the extension, fetch('that url') to get the current user's email. The organization should deploy this backend service (and allow CORS, so no new host permissions).