Tools
Family Memory
openclaw plugin for multi-user memory security
Install
npm install
npm
README
# Family Memory Consent
Consent-gated, one-time disclosure from one isolated OpenClaw agent's private
memory into an explicitly configured group thread.
The plugin does not create shared memory or grant a group agent general access
to another agent's memory. It searches only after the configured subject
approves the exact question.
The first release supports Telegram group topics and OpenClaw's active per-agent
memory manager.
## Status
Security-focused alpha. The package is buildable and tested, but it has not
been exercised on a live family channel. Review the threat model and use a
staging group before production.
## Trust Warning
Telegram identifies the logged-in account session. It cannot prove which human
is using an unlocked or shared device. Treat the default approval flow as
account-session consent, not biometric or passkey verification.
See [ARCHITECTURE.md](./ARCHITECTURE.md) and [SECURITY.md](./SECURITY.md).
## Requirements
- OpenClaw 2026.7.1-2 or newer.
- A supported Node runtime with `node:sqlite`.
- One isolated OpenClaw agent per consent subject.
- Working durable-memory search for each subject agent.
- Telegram inline buttons enabled for the configured group.
- Each subject's Telegram account authorized to interact with the bot.
If memory search is disabled, unindexed, or unavailable, an approved request
fails closed and discloses nothing.
## Configuration
```json5
{
plugins: {
entries: {
"family-memory-consent": {
enabled: true,
config: {
subjects: {
alice: {
displayName: "Alice",
agentId: "alice",
telegramUserIds: ["123456789"],
},
},
allowedGroups: [
{
chatId: "-1001234567890",
accountId: "default",
topicIds: [42],
},
],
requestTtlSeconds: 120,
terminalRetentionSeconds: 604800,
maxResults: 1,
maxDisclosureChars: 600,
},
},
},
},
agents: {
list: [
{
id: "family-group",
tools: {
profile: "minimal",
alsoAllow: ["family_memory_request"],
},
},
],
},
}
```
Grant the tool only to a dedicated group agent. The plugin independently checks
the trusted Telegram destination against `allowedGroups`; direct messages and
other groups fail closed. `allowedGroups.chatId` accepts negative Telegram group
ids only.
## Interaction
1. Someone asks the group agent a question whose answer belongs to another
configured person's private memory.
2. The group agent calls `family_memory_request` with the subject key and exact
question.
3. The plugin posts `Share once` and `Decline` buttons in that same topic.
4. Only the configured subject account can approve.
5. After approval, the plugin searches only that subject agent's durable memory
corpus, applies output limits and policy checks, and replies in the topic.
6. The grant is consumed. Repeated, forwarded, expired, or cross-topic
callbacks disclose nothing.
The first release does not promote disclosures into shared memory.
## Build
```bash
npm install
npm run check
npm pack
```
Building and validating the package does not enable it in the gateway.
Install the resulting tarball only after reviewing its contents and your
configuration:
```bash
openclaw plugins install npm-pack:./openclaw-plugin-family-memory-consent-0.1.0.tgz
```
The package is not published yet. Installation is separate from routing and
tool-policy changes.
tools
Comments
Sign in to leave a comment