# Privacy Model

The privacy model of the MetaID protocol is designed by the application developers. If application developers do not want their users' data to be public, the following methods are recommended:

### On-chain Data Encryption

* **Set the node's `encryption` to `1`**: Use ECIES encryption. This ensures that only the user can view the data. For detailed information on ECIES encryption and decryption, please refer to the [Integrated Encryption Scheme](https://en.wikipedia.org/wiki/Integrated_Encryption_Scheme).
* **Set the node's `encryption` to `2`**: Use the ECDH key agreement method. This ensures that only the user and the application can view the data. Users can also authorize or delegate the application to grant access to third parties. For detailed information on ECDH encryption and decryption, please refer to [Elliptic-curve Diffie–Hellman](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman).

### Link Mode

The data structure relationship of the MetaID tree is transparent. Some users do not want their MetaID tree data structure relationship information to be exposed. In this scenario, the link mode can be used. By setting the **`operation`** to **`link`**, the node is set as a link node, pointing to another dataset, which can be another MetaID or another anonymous dataset. This way, users can selectively use anonymous nodes and MetaID protocol nodes.

### Hide Mode

It is also worth mentioning that when the **`operation`** in the PIN transaction is **`hide`**, it is also a way of privacy model. At this time, the PIN will declare not to be indexed and referenced by applications, which can be used in scenarios where local applications are used and do not want to be referenced by indexers and third-party applications.


---

# 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.metaid.io/metaid-specification/privacy-model.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.
