# File compression

Graphs saved are compressed in a specific format to assure reliability, security and authenticity. The raw json payload is converted using the gzip compression protocol:\
GZip is a form of data compression -- ie it takes a chunk of data and makes it smaller. The original data can be restored by un-zipping the compressed file.

It's then converted to base64 bytes code so that it is easily shareable to anyone. You can send your GLQ file to anyone and they will be able to execute it as part of one new Graph, and modify it.

A graph has an hash which is from a SHA256 algorithm hashed with the base b64 bytes code + your public wallet identifier which makes it unique for everyone. It means that multiple people can deploy the same graph and manage their own states separately.

SHA-256 is used in some of the most popular authentication and encryption protocols, including SSL, TLS, IPsec, SSH, and PGP. In Unix and Linux, SHA-256 is used for secure password hashing. Cryptocurrencies such as Bitcoin use SHA-256 for verifying transactions.


---

# 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/graphs/file-compression.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.
