> For the complete documentation index, see [llms.txt](https://functor.gitbook.io/functor-network-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://functor.gitbook.io/functor-network-docs/use-cases/access-control.md).

# Access Control

Moving far beyond simple wallet ownership, Functor Network introduces a sophisticated, **programmable access control** layer. Using **dynamic**, **rule-based logic** and **session-based permissions**, developers and users can define granular, context-aware parameters for any onchain operation.

This moves security and permissions from a binary "all or nothing" model to one of nuanced, temporary, and **scoped access.** A "[session key](/functor-network-docs/core-concepts/glossary.md#session-key)" can be generated to grant an application or agent a specific set of permissions for a limited time, dramatically enhancing security and user experience.

This unlocks a new tier of onchain interactions and primitives:

### **Granular Access Management**

Define exactly what actions a third party (like a new DeFi protocol or a gaming application) can perform on your behalf. \
\
\&#xNAN;*For example, approve a protocol to swap a specific token up to a certain amount, but nothing else.*

### **Time-Based and Streaming Approvals**

Grant permissions that are only valid for a specific duration or allow for continuous "streaming" of approvals for applications like recurring payments or subscriptions, without needing to sign a new transaction each time.

### **Context-Aware Operations**

Set rules that only permit transactions under specific onchain conditions.&#x20;

*For instance, an operation might only be approved if a specific asset’s price is within a certain range or if a DAO governance vote has passed.*
