> For the complete documentation index, see [llms.txt](https://docs.ethosis.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ethosis.org/compliance/model.md).

# How compliance is enforced

{% hint style="info" %}
This section explains the mechanics of compliance enforcement inside the protocol. Nothing here is legal advice.
{% endhint %}

## Starting point

Stock Tokens carry no restrictions on-chain. They are ordinary ERC-20s: Robinhood checks eligibility in its own interface and at KYC'd issuance and redemption, but on-chain anyone can hold them. A protocol that takes them as collateral therefore has to decide for itself who is allowed in. Ethosis, which is non-custodial, makes that decision at the **protocol boundary**, applying the [access registry](/architecture/eligibility.md) at every point of entry.

## The rule at each boundary

| Boundary                      | Requirement                                                               |
| ----------------------------- | ------------------------------------------------------------------------- |
| Borrowing                     | `BORROWER` attestation: KYC'd and in a non-restricted jurisdiction        |
| Lending                       | `LENDER_PROFESSIONAL`; `LENDER_RETAIL` where permitted                    |
| Taking delivery of collateral | `LIQUIDATOR` attestation, for auction buyers and in-kind recipients alike |
| Transferring a slice token    | The recipient must hold a lender attestation                              |
| Using the front-end           | Geo-fencing for restricted jurisdictions                                  |

## Mechanisms

1. **Attestations rather than allowlists.** After identity, sanctions and residency checks, a KYC provider issues an EAS attestation to the wallet. It records a role, a jurisdiction class and an expiry, and nothing personal.
2. **Ongoing re-screening.** Attestations expire and must be renewed. Revocation takes effect immediately.
3. **Screening in two places.** The KYC provider screens when it issues and when it renews; the sequencer runs its own sanctions screening (TRM Labs is integrated on the chain).
4. **Swappable policy.** Because the registry is an adapter, the policy engine (EAS, ONCHAINID, Chainlink ACE) and the set of accepted issuers can be changed through the timelock without redeploying the core. Rules can be tightened quickly if a regulator demands it.
5. **Open reads.** All view functions remain public so that explorers and aggregators can index the protocol.

## What the protocol never does

* Hold user funds anywhere other than the escrow contracts.
* Convert fiat.
* Exercise discretion over a loan. Origination, repayment, refinance and liquidation follow rules and can be triggered by anyone who is eligible.

These three properties underpin the money-transmission and "managerial discretion" analyses set out in [Jurisdictions](/compliance/jurisdictions.md).

## Personal data

Personal data stays with the KYC provider and is never written to the chain. An optional zero-knowledge credential route allows a wallet to prove it is eligible without disclosing which provider performed the check or any underlying attribute.

## Alignment with the issuer

For borrowers, Ethosis mirrors the Stock Token eligibility list. Should Robinhood narrow that list, the attestation issuer's rules move with it. Should Stock Tokens later acquire on-chain transfer hooks (ERC-7943 or ERC-3643), the escrow contract will respect them and will itself be added to the allowlist. See [Collateral roadmap](/assets/future-collateral.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.ethosis.org/compliance/model.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
