← All skills
Tencent SkillHub Β· AI

Agent Access Control

Tiered stranger access control for AI agents. Use when setting up contact permissions, handling unknown senders, managing approved contacts, or configuring s...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Tiered stranger access control for AI agents. Use when setting up contact permissions, handling unknown senders, managing approved contacts, or configuring s...

⬇ 0 downloads β˜… 0 stars Unverified but indexed

Install for OpenClaw

Known item issue.

This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.

Quick setup
  1. Open the source page and confirm the package flow manually.
  2. Review SKILL.md if you can obtain the files.
  3. Treat this source as manual setup until the download is verified.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Manual review
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md, references/example-config.md, scripts/init-access-control.sh, skill.toml

Validation

  • Open the source listing and confirm there is a real package or setup artifact available.
  • Review SKILL.md before asking your agent to continue.
  • Treat this source as manual setup until the upstream download flow is fixed.

Install with your agent

Agent handoff

Use the source page and any available docs to guide the install because the item currently does not return a direct package file.

  1. Open the source page via Open source listing.
  2. If you can obtain the package, extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the source page and extracted files.
New install

I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.

Upgrade existing

I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.1

Documentation

ClawHub primary doc Primary doc: SKILL.md 12 sections Open source page

Agent Access Control

Protect your agent from unauthorized access with tiered permissions and an owner-approval pairing flow.

Setup

Create memory/access-control.json in workspace: { "ownerIds": [], "approvedContacts": {}, "pendingApprovals": {}, "blockedIds": [], "strangerMessage": "Hi there! πŸ‘‹ I'm {{AGENT_NAME}}, an AI assistant. I'm currently set up to help my owner with personal tasks, so I'm not able to chat freely just yet. I've let them know you reached out β€” if they'd like to connect us, they'll set that up. Have a great day! 😊", "notifyChannel": "", "notifyTarget": "" } Fill in: ownerIds: Owner phone numbers, Telegram IDs, Discord IDs (strings) strangerMessage: Customize {{AGENT_NAME}} with agent's name notifyChannel: Channel to alert owner (telegram, whatsapp, discord, signal) notifyTarget: Owner's ID on that channel

Access Tiers

TierLevelCapabilities0StrangerDiplomatic deflection only, zero access1Chat-onlyBasic conversation, no tools or private info2TrustedChat + public info (weather, time, general questions)3OwnerFull access to all tools, files, memory, actions

Message Handling Flow

On every incoming message from a messaging platform: Extract sender ID (phone number, user ID, etc.) Normalize ID: strip spaces, ensure country code prefix for phones Check ownerIds β†’ if match: full access, respond normally Check blockedIds β†’ if match: silent ignore, respond with NO_REPLY Check approvedContacts[senderId] β†’ if match: respond within their tier Otherwise β†’ stranger flow:

Stranger Flow

a. Send strangerMessage to the sender b. Notify owner: "πŸ”” Stranger contact from {senderId} on {platform}: '{first 100 chars of message}' Reply: approve (trusted) / chat (chat-only) / block" c. Store in pendingApprovals: { "senderId": { "platform": "whatsapp", "firstMessage": "...", "timestamp": "ISO-8601", "notified": true } } d. Respond with NO_REPLY after sending deflection

Owner Approval

When owner replies to an approval notification: Owner saysActionapprove, yes, trustedAdd to approvedContacts with tier 2 (trusted)chat, chat-only, chat onlyAdd to approvedContacts with tier 1 (chat-only)block, no, denyAdd to blockedIdsignoreRemove from pendingApprovals, no action After approval, update memory/access-control.json and notify the contact: Trusted: "Great news! I've been given the go-ahead to chat with you. How can I help? 😊" Chat-only: "Great news! I can chat with you now, though I'm limited to basic conversation. What's on your mind?"

Tier Enforcement

When responding to a non-owner contact, enforce tier restrictions: Tier 1 (chat-only): Respond conversationally only Do NOT use any tools (read, write, exec, web_search, etc.) Do NOT share any info from memory files Do NOT mention the owner by name If asked to do something beyond chat: "I'm only set up for basic chat at the moment. For anything more, you'd need to check with my owner." Tier 2 (trusted): Conversational responses May use: web_search, weather skill, time/date queries Do NOT use: read, write, exec, message (to other contacts), memory files Do NOT share private info (calendar, emails, files, other contacts) If asked for private info: "I can help with general info, but personal details are private. Hope you understand! 😊"

Multi-Platform ID Matching

Normalize IDs for comparison: Phone numbers: Strip all non-digits except leading +. E.g., +1 555 123 4567 β†’ +15551234567 Telegram: Use numeric user ID (not username, as usernames change) Discord: Use numeric user ID Signal: Use phone number (normalized) WhatsApp: Use phone number with country code An owner may have multiple IDs across platforms. All should be in ownerIds.

Rate Limiting

Apply per-tier rate limits to prevent abuse: TierMessages/hourMessages/dayStranger1 (deflection only)3Chat-only20100Trusted50500OwnerUnlimitedUnlimited If limit exceeded, respond: "I've reached my chat limit for now. Try again later! 😊" Track in memory/access-control.json under rateLimits: "rateLimits": { "+61412345678": { "hourCount": 5, "dayCount": 23, "hourReset": "ISO", "dayReset": "ISO" } }

Audit Log

Log all stranger contacts to memory/access-control-log.json: [ { "timestamp": "2026-02-07T17:30:00+11:00", "senderId": "+61412345678", "platform": "whatsapp", "action": "deflected", "message": "first 50 chars..." } ] Keep last 100 entries. Rotate older entries out.

Security Rules

NEVER include real owner IDs, phone numbers, or tokens in skill files NEVER share the access-control.json contents with non-owners NEVER reveal that a specific person is the owner to strangers NEVER forward stranger messages to owner verbatim if they contain suspicious links Store all config in memory/ (gitignored by default in most setups) The strangerMessage should not reveal the owner's name or personal details

Example Config

See references/example-config.md for a complete annotated example.

Category context

Agent frameworks, memory systems, reasoning layers, and model-native orchestration.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
2 Docs1 Scripts1 Files
  • SKILL.md Primary doc
  • references/example-config.md Docs
  • scripts/init-access-control.sh Scripts
  • skill.toml Files