Worried about Review Process

We made a similar thing.

Just one question:
How did you ever make the extension communicate with the streamer’s app without any EBS?

Probably this makes some things clear:
EBS is a service running somewhere in the internet where your Extension (and probably the app) connect to - mainly for exchanging data.
In our case the EBS is a NodeJS service running a socket.io based messaging proxy to route messages between extensions and the game application on streamer’s side.
The EBS can be anything. A NodeJS app, a C++ program, for some situations even a REST API or alike. But your requirements sound much like a stateful backend service would be required.

You will want to do the following on extension<->EBS side (spoken for a socket io or similar implementation):

  1. Connect Ext -> EBS
  2. Send JWT -> EBS
  3. EBS verifies JWT signature to authenticate
  4. EBS will somehow map the socket to this extension into a “room” (that groups all viewers and the streamer together)
  5. whatever you need for communication can start now.

The Streamer’s App will connect to the same service but will not send a JWT but instead send a bearer token (it needs to generate on behalf of the streamer) and the EBS will verify this and get the user ID from the API