# Secret Manager

Blockflow's Secret Manager is a secure, end-to-end encrypted storage solution for sensitive information that you cannot hardcode into your codebase. It provides a safe and convenient way to store and manage secrets such as API keys, tokens, private keys, and other confidential data across your applications.

## Key Benefits

1. **End-to-End Encryption:** All secrets stored in the Secret Manager are encrypted end-to-end, ensuring that your sensitive data remains protected at all times.&#x20;
2. **Secure Storage:** Blockflow employs industry-standard security practices to safeguard your secrets. We follow best practices for key management and storage, providing a highly secure environment for your sensitive information.
3. **Easy Integration:** Integrating the Secret Manager into your Blockflow Instances and APIs is a breeze. With just a few lines of code, you can securely access your stored secrets and use them in your application logic, eliminating the need for hardcoding sensitive data.
4. **Granular Access Control:** The Secret Manager allows you to define granular access controls for your secrets. You can specify which users or roles have access to specific secrets, ensuring that sensitive information is only accessible to authorized individuals or services.
5. **Audit and Compliance:** Blockflow provides detailed audit logs for all secret-related activities, including creation, access, and updates. This helps you maintain compliance with security regulations and enables easy auditing and monitoring of secret usage

## Storing Secrets

To store your secrets securely, Blockflow offers a user-friendly interface. Follow our step-by-step guide to safely save your secrets within the Secret Manager:

{% content-ref url="/pages/RXYkPVz9imumWGA54mUg" %}
[Storing Secrets](/guides/storing-secrets.md)
{% endcontent-ref %}

## Accessing Secrets

Once your secrets are stored in the Secret Manager, you can easily access them while defining your Instance or API logic using the `secret` variable. Here's a quick example of how to use a stored secret in your code:

```javascript
const wallet = new ethers.Wallet(secret.Private_Key);
```

By referencing the secret using the `secret` variable and the secret's name (e.g., `Private_Key`), you can seamlessly incorporate secrets into your application logic without exposing them in your codebase.<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.blockflow.network/overview/secret-manager.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
