> For the complete documentation index, see [llms.txt](https://docs.taco.build/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.taco.build/reference/architecture/protocol-flow.md).

# Protocol Flow

This document details the operational flow of the TACo protocol - how information and operations move through the system. For an overview of the actors involved and their roles, see the [UML Use Case Diagram](/reference/architecture/uml-usecase-diagram.md).

The TACo protocol operations follow several distinct but interconnected flows:

## Cohort Formation

* Adopting developers (`cohortAuthority`) initiate and manage a one-time cohort formation network setup
* The initialization produces a logical group of nodes with each node maintaining its own private material
* The `cohortAuthority` manages parameters for the cohort
* A minimum of one honest party is required during cohort formation to ensure that private material is not spoofed

## Condition Configuration

* Programmable conditions define who can execute a successful TACo operation (decryption/signing). Conditions are either associated with encrypted payloads (encryption) or configured for a signing cohort.

## TACo Services

* Nodes independently verify that the consumer satisfy the requisite conditions before servicing any request
* For each node that validates the conditions, a response fragment is provided to the consumer
* Once a threshold of nodes have provided their fragments, the consumer can locally combine these fragments to complete the operation

## Cohort Management

* Node participation is secured through economic staking in the TACo Nodes Network
* Cohorts can rotate members according to predefined rules set by the `cohortAuthority`
* The rotation rules can be tailored to balance security, availability, and decentralization needs

For a more detailed explanation of the protocol operations, see [How TACo Works](https://github.com/nucypher/taco-docs/blob/main/reference/readme/key-concepts.md).

## Integration Points

The protocol flow integrates with various TACo components:

* **User applications** interact with the TACo protocol through the Client SDK (taco-web)
* **Programmable Conditions** enables the definition and validation of conditional execution of operations
* **TACo Nodes Network** provides the economic staking mechanism for node operators
* **Coordinator contracts** manage cohort formation on-chain

For details on how these components relate to each other architecturally, see [Protocol Architecture](/reference/architecture/protocol-architecture.md).

For conceptual explanations of the protocol's design principles, see [How TACo Works](https://github.com/nucypher/taco-docs/blob/main/reference/readme/key-concepts.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.taco.build/reference/architecture/protocol-flow.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.
