Hi Aaron and Ori,
A registration token alone is insufficient to send a message to the corresponding device. The HTTP request used to send the messages must be authenticated with Service Account so while it is recommended to keep device tokens secret it is more important to ensure that your Service Account credentials are kept safe since tokens are not the only way that devices can be targeted to send messages.
A leaked token on its own cannot be used to send messages to your users. A leaked token cannot be used to receive messages meant for a particular token. Storing the token within your application's storage space is a safe approach.
I hope this helps,
Arthur.