> For the complete documentation index, see [llms.txt](https://cvnnt.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cvnnt.gitbook.io/documentation/security-model/layered-architecture-model.md).

# Layered architecture model

Covenant system utilizes layered architecture concept implementation with layers’ isolation (closed layers).

Layered approach allows the Covenant system to provide multilayered security, maintain clearly defined access to data and implement highly deterministic flows.

Additionally, layered approach reduces dependencies in the Covenant system, increases the system modularity, allows Covenant to ensure data access and functionality isolation thus ensuring security of the Covenant system.&#x20;

#### Isolated granular data access

Layered isolated approach allows Covenant to implement pre-determined transaction logic where a request is strictly proceeded step-by-step through all layers with cryptographic signature operation on each stage resulting in onion-type transaction that not only provides verifiable correctness of the message handling at each step of message flow, but also provides multi-layered message security as it is hard to tamper.

Covenant tracks messages (transactions) that are related to Covenant addresses on Bitcoin to catch and revert (send back) incorrect transactions (transactions that a Bitcoin user had sent by mistake).

The only way to initiate a covenant is to invoke the Covenant smart contract program on the Covenant blockchain and to execute a special transaction provided by Covenant. So every arbitrary BTC sent on valid (active) Covenant addresses is to be automatically reverted (net revert fee).&#x20;

Covenant is designed in such a way that each step in each process is strictly predetermined. This approach allows Covenant to provide clear operations and reduce attach surfaces while operating in a decentralized, high-entropy and non-optimistic environment.

While Covenant provides a variant of service operations to a user, a user has limited number of entry and exit points for each operation. All entry/exit points are located only on Covenant system, ensuring a user can’t manipulate the Covenant system from outside the system. Unexpected operations are passed / revert in an automatic way.

For Covenant users that means that no one can change their covenant state and trigger their covenant logic.&#x20;

\ <br>
