# Composability

When someone submits data to EtherEthos, that data is public, and a record of it exists in the blockchain's immutable history. No PII should ever be submitted to this contract.

Retrieval of data from EtherEthos contract can be controlled by the data owner\* by toggling off their data's composability. No data is deleted, but all calls to the the contract for accounts that are not composable return empty arrays. This is to empower account owners and maintain functionality for apps that rely on EtherEthos data (including other smart contracts).

Every account has a public 'permissions' mapping, which houses the following structured data:

```solidity
    struct Perms {
        bool composable; // Whether or not the account has an active composable EtherEthos.
        bool accountIsBlocked; // Whether or not the account is blocked.
        bool moderator; // Whether or not the account is a moderator. *
        string verificationResponse; // The response to a verification request.
    }
```

Querying the contract for an account's permissions can help the app to avoid building structures with empty values if the account is not composable.

### Composability is checked in every public view function on the contract, and app developers should only retrieve blockchain data from these public view functions, ideally live. This will ensure that the account owner's data is respected.

\*The contract supports the creation and management of privileged 'Moderator' accounts, which can control the composability of other accounts. At launch, there are no moderators, but if they are needed, they can be added. Moderators will be empowered to deny service to individuals who misuse or abuse the application.


---

# 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.etherethos.com/composability.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.
