I am using Firebase App Hosting as a backend for a NextJS app that I am developing. I am also using the Firebase CLI to configure and manage my Firebase project. One of the many challenges along the way was how to manage secrets within the app. Secrets can be anything you determine to be sensitive information such as:
API Keys: Tokens used to authenticate requests to an Application Programming Interface (API). They grant access to services and should be kept confidential.
Passwords: Credentials used for user authentication to access systems or services. These should be stored securely, usually hashed.
Private Keys: Cryptographic keys used for encryption, signing, or authentication processes. These should be kept confidential at all times.
Encryption Keys: Keys used to encrypt and decrypt data. These must be securely stored to prevent unauthorized access to sensitive data.
Access Tokens: Tokens that grant access to specific resources or systems, often used in OAuth and other authentication protocols.