# Secret String

`Secret String` blocks are functionally equivalent to regular [`String`](/dev-tooling/blocks/string.md) blocks in that both of these block types serve to allow the graph developer to enter string data into the graph.

The [Secret String](/dev-tooling/blocks/base-variable/secret-string.md) block is used to securely store sensitive data, such as API keys or passwords, within the graph's data context. Unlike regular String blocks, the contents of Secret String blocks are hidden from view to maintain security and privacy.

The difference is that the contents of `Secret String` blocks are hidden, like "••••••••••". They also cannot be copied to the clipboard.

This is useful when building graphs that others will have access to that contain sensitive information, like a Discord account token or a Binance API secret key.

<figure><img src="https://i.imgur.com/VXumtvv.png" alt=""><figcaption></figcaption></figure>

In the example above, we use a `Timer` block to check the price of Bitcoin on Binance once every minute. We then use a [`Decimal Branch`](/dev-tooling/blocks/base-condition/decimal-branch.md) block to check if the price is below $28,000; if it is, we place a market buy order for 1% of a Bitcoin with a `Place Market Buy Order` block, and then we terminate execution with a `Stop Graph` block.

The `Secret String` blocks are used here when setting up the `Binance Connector block` with its API key inputs. We could have used regular [`String`](/dev-tooling/blocks/string.md) blocks here, but since Binance API keys are sensitive (especially the "ApiSecret" parameter) it makes sense to secure our graph by using `Secret String` blocks. This way, having access to this graph file isn't equivalent to knowing our Binance access credentials.

The Secret String block is essential for protecting confidential data within the graph, keeping it hidden from prying eyes and potential security threats.

<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.graphlinq.io/dev-tooling/blocks/base-variable/secret-string.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.
