Channel Bridge

ReviewAudited by ClawScan on May 10, 2026.

Overview

Channel Bridge is mostly a simple in-memory router, but its fail-open filter behavior could forward more messages across platforms than the user intended.

Review route filters carefully before using this with real messaging adapters. Avoid unsupported filters such as `channel:` unless you implement them, test routes in dry-run mode first, and add limits for buffered digest messages.

Findings (2)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Messages meant to stay in one channel or workspace could be forwarded to other platforms such as Discord, Telegram, email, SMS, or Signal if a filter is unsupported or mistyped.

Why it was flagged

The router fail-opens for unsupported filters. SKILL.md documents a route using `filter: "channel:#announcements"`, which this implementation does not recognize, so a user following that example could forward all messages from the source platform instead of only the intended channel.

Skill content
// Unknown filter types pass through (don't silently drop messages)
if (!filter.includes('contains:') && !filter.includes('from:')) return true;
Recommendation

Fail closed on unknown filters, implement the documented `channel:` filter, and provide a dry-run or matched-message preview before enabling cross-platform forwarding.

What this means

Private message contents may remain in the running process memory longer than expected, especially if digest retrieval is delayed.

Why it was flagged

Scheduled digest routes keep full message objects in an in-memory buffer until `getDigest` is called and clears the buffer.

Skill content
this.buffer = {};
...
this.buffer[routeName].push(message);
Recommendation

Use digest routes only for content you are comfortable buffering, and add retention limits or maximum buffer sizes in any production adapter.