> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sageprotocol.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Social Graph and Identity

>  

Sage Protocol manages decentralized user identities entirely onchain through a **dual-object architecture**. This design balances user privacy, data ownership, and social connectivity—empowering users with complete control over their digital identities, while ensuring seamless interoperability across Sage-compatible applications.

### **Dual-Object Identity Architecture**

Sage identities consist of two clearly defined onchain components:

<Card title="UserOwned Object (Private Data)" icon="square-1" iconType="solid">
  The `UserOwned` object securely stores private identity data and analytics, under the exclusive control of each user:

  * **Ownership:** Directly controlled by the user's own wallet.
  * **Data Contents:** Profile metadata (avatar, banner, description), private engagement metrics, earnings analytics, and personalized bookmarks (favorite posts, channels, users).
  * **Access Control:** Only the user's wallet can modify data.
  * **Key Functions:** Private profile management, personal analytics tracking, favorites management, earnings monitoring.
  * **Storage Pattern:** Uses dynamic fields to handle app-specific data, such as epoch-based analytics and indexed favorites per application.
</Card>

<Card title="UserShared Object (Public Interactions)" icon="square-2" iconType="solid">
  The `UserShared` object handles public-facing interactions and relationships, making social data transparent and available across the ecosystem:

  * **Ownership:** Publicly shared onchain object, accessible by all Sage-compatible applications.
  * **Data Contents:** Social connections (follows, memberships), public user-generated posts, and interaction analytics.
  * **Access Control:** Protected explicitly by protocol rules and clearly defined operations to ensure secure access and prevent unauthorized modifications.
  * **Key Functions:** Facilitates social interactions, including posting content, following other users or channels, and managing interaction metrics.
  * **Storage Pattern:** Uses dynamic fields to manage app-specific data, including epoch-segmented analytics and content indexing per application.
</Card>

### **UserRegistry – Unified Identity Mapping**

The `UserOwned` and `UserShared` objects integrate via the **UserRegistry**, a decentralized mapping that links usernames, wallet addresses, and user identity objects. This integration ensures user identities remain consistent, verifiable, and fully interoperable throughout the Sage ecosystem.

### **Decentralized Social Graph Storage**

Social interactions and relationships within Sage Protocol are transparently recorded onchain through dedicated Move modules and data structures:

* **Membership** (`membership`): Captures user participation in channels and communities, including join timestamps and interaction histories.
* **Follows** (implemented within `membership`): Manages transparent user-to-user and user-to-channel relationships, providing verifiable social connections across all Sage apps.
* **Friends** (implemented within `membership`): Records friendships between users, explicitly tracking relationship changes, timestamps, and interaction details. This ensures friend connections are clear, accurate, and verifiable across the ecosystem.

### **Key Advantages of Sage’s Architecture**

* **Interoperability**: User identities, relationships, and reputation data seamlessly integrate across all Sage-compatible applications.
* **Ownership & Privacy**: Users retain complete, centralized-authority-free control over their personal identity data, enhancing privacy and autonomy.
* **Censorship Resistance**: Decentralized onchain storage ensures resilience against censorship or arbitrary restrictions, safeguarding user data integrity and ecosystem reliability.

### Practical Benefits

* **For Developers**: Easily integrate decentralized identity components (`UserOwned`, `UserShared`) and social graph structures (Membership, Follows, Favorites) without complex protocol-level modifications.
* **For End-Users**: Effortlessly maintain consistent identities, relationships, and reputations across multiple decentralized apps, maximizing autonomy and minimizing friction.
* **Ecosystem-Wide Integration**: Facilitates cohesive identity management and social interactions across diverse decentralized applications, fostering a unified, frictionless user experience.
