Cross-Channel Identity
One person should have one memory graph, regardless of how many messaging platforms they use.
The Problem
Without identity unification, the same person chatting via Telegram and Zalo creates two separate memory silos. Facts learned in one channel are invisible in the other.
Owner Aliases
The ownerAliases configuration maps multiple platform IDs to a single identity:
{
"ownerId": "telegram:123456",
"ownerAliases": [
"zalo:789012",
"discord:345678",
"matrix:@user:matrix.org"
]
}How It Works
- When a message arrives, the sender ID is checked against
ownerIdandownerAliases - If matched, the claim's
subjectis normalized to"user"(the unified owner identity) - The
channelIdis still recorded for audit purposes - On recall, owner queries search across all channels unified under the same identity
Interaction with Channel Isolation
Channel isolation and identity unification work together:
| Scenario | Behavior |
|---|---|
| Owner in DM | Full access to all memories across all channels |
| Owner in Group | Full access (owner privilege bypasses isolation) |
| Non-owner in DM | Only sees memories from that specific channel |
| Non-owner in Group | Only sees memories from that specific group |
Third-Party Subjects
For memories about other people (e.g., "My friend Lan works at Google"), the subject is stored as a separate entity. These memories follow standard channel isolation rules unless the owner explicitly shares them.