This is in preparation for moving the hashing to the frontend, which requires us to handle the incoming data before passing it to the backend's stream.