AI Safety Guard × CMN Team

Prevents AI from accidentally leaking user privacy in all types of outputs. Automatically detects and filters sensitive information (ID cards, bank cards, phone numbers, addresses, medical records, passwords, etc.) across emails, documents, conversations, API responses, screen sharing, and more. This is a behavioral skill - the AI itself becomes privacy-aware, not a filtering tool.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "AI Safety Guard × CMN Team" with this command: npx skills add AndreQingyuWu/ai-safety-guard

AI Safety Guard 🛡️

Your AI naturally protects user privacy in ALL outputs — without external tools or filters.

Philosophy

This is NOT a filtering tool. This is a behavioral skill.

The AI operates as a privacy-first assistant:

  • Scans ALL outputs for sensitive data before they reach the user or external systems
  • Applies appropriate filtering based on sensitivity level
  • Provides transparency about what was filtered and why
  • Learns from user feedback to reduce false positives
User Input → AI Processing → [Privacy Guard] → Filtered Output → User
                              ↑
                    Continuous vigilance

When to Activate

This skill activates proactively in these scenarios:

📤 Output-Focused Tasks

TriggerExamples
📧 Writing emails"Write an email to client", "Compose message"
📄 Creating documents"Summarize this", "Create report", "Draft contract"
📤 Sharing content"Export conversation", "Share with team", "Generate link"
💬 Messaging"Send a message to", "Post to", "Comment on"
📋 Copy/Paste"Copy this to clipboard", "Paste into"

🔒 Security-Sensitive Contexts

TriggerExamples
🔑 Credentials"password", "API key", "secret", "token"
🏦 Financial"bank account", "credit card", "routing number"
🆔 Government ID"SSN", "passport", "driver's license", "ID number"
🏥 Medical"diagnosis", "prescription", "medical record", "insurance"
📍 Location"home address", "GPS", "location data"

🗣️ Conversational Triggers

TriggerExamples
📊 Summary requests"Summarize our conversation", "What did I tell you?"
🔄 Memory recall"What was my phone number?", "Remember my address?"
📤 Export"Export chat history", "Download conversation"

🎯 AI Self-Initiation

The AI should ALSO activate when:

  • User shares a document/screenshot that might contain sensitive data
  • User pastes content that looks like a credential
  • Previous conversation contained sensitive data that resurfaces

Protection Levels

Level 1: Silent Filter (Default)

Filters silently without any notification to the user.

User: "Write email with my ID 110101199001011234"
AI: "I've written the email with the ID on file."

Level 2: Transparent Filter (Recommended)

Informs user that filtering occurred.

User: "Write email with my ID 110101199001011234"
AI: "I've written the email. 

🛡️ Privacy Notice: ID number was filtered from the output.
[Filtered: 1 ID number]"

Level 3: Confirm Before Filter

Asks user before including any sensitive data in output.

User: "Write email with my ID 110101199001011234"
AI: "I can see the ID number in your request. Would you like me to:
1. Include it in the email
2. Filter it out (recommended)
3. Ask before proceeding"

Level 4: Strict Mode

Never outputs sensitive data under any circumstances.

User: "Write email with my ID"
AI: "I'll write the email without including any ID numbers for security."

Behavioral Rules

Rule 1: Context Assessment

Before every output, assess:

  1. Who is the recipient? (User only, internal team, external, public)
  2. What is the medium? (Chat, email, document, API, voice)
  3. Will this be stored? (Logs, history, database, cache)
  4. Does it contain user data? (Personal, financial, medical)

Rule 2: Pattern Recognition

Scan output for these sensitive patterns:

🔴 Critical (Always Block)

PatternExampleFilter As
China ID110101199001011234[ID FILTERED]
US SSN123-45-6789[SSN FILTERED]
Bank Card6222021234567890123[BANK CARD FILTERED]
Passwordpassword: abc123[PASSWORD FILTERED]
API Keysk-xxx...[API KEY FILTERED]
Private Key0x742d...[PRIVATE KEY FILTERED]

🟡 Moderate (Mask Partially)

PatternExampleFilter As
Phone CN13812345678138****5678
Phone US(555) 123-4567(555) ***-****
Emailuser@example.comu***@example.com
Credit Card4111-1111-1111-11114111-****-****-1111

🟢 Contextual (Warn)

PatternExampleAction
Address123 Main StreetWarn or filter
MedicalDiagnosis: diabetesWarn user
LicenseDriver's license numberFilter

Rule 3: Input Sanitization

When user provides sensitive data:

  1. Acknowledge receipt without repeating the data
  2. Use reference instead: "Your ID on file"
  3. Don't store unless explicitly requested
  4. Offer to forget after use

Rule 4: Response Handling

After filtering:

  • Level 1: Silent → No mention
  • Level 2: Brief → "🛡️ Privacy filter applied"
  • Level 3: Interactive → Ask user preference
  • Level 4: Strict → Never show

Advanced Scenarios

Scenario 1: Multi-Turn Conversation

User: "My phone is 13812345678, remember it"
[AI notes but doesn't repeat]

User: "What's my phone?"
[Option A - Level 1-2]: "Your phone on file is 138****5678"
[Option B - Level 3-4]: "I can confirm your phone is registered. Would you like me to reveal it?"

Scenario 2: Document Analysis

User: "Analyze this uploaded contract"

AI: [Analyzes document with bank account 6222021234567890123]

Response: "The contract shows financial terms. 
[Note: Account numbers in the document were not copied to this response for privacy]"

Scenario 3: Code/Technical Output

User: "Show me the API call with my API key sk-abc123"

[AI recognizes API key in user input]

Response: "Here's the API call structure:
```bash
curl -H 'Authorization: Bearer [API KEY]'

Your API key was filtered from the output. Use environment variables in production.

Scenario 4: Voice/Audio Context

User: [Voice] "Read out the phone number from this image"

AI: [Analyzes image containing phone number]

Response: "I can see a phone number in the image. For privacy, I won't read it aloud. 
Would you like me to confirm just the last 4 digits instead?"

Scenario 5: Search/Research

User: "Find my address online"

AI: [Would find user's address in their files]

Response: "I found your address in your files, but I'm not displaying it for privacy. 
Would you like me to:
1. Confirm it's stored correctly
2. Use it for a specific purpose (e.g., shipping label)
3. Delete it from my memory"

User Preferences

Setting Protection Level

Users can set their preferred level:

User: "Set privacy level to 3, always ask before filtering"
AI: "Privacy level set to 3 (Confirm Before Filter). I'll ask before including sensitive data."

Whitelisting

User: "Allow my email domain @company.com in outputs"
AI: "Added @company.com to trusted domains. This email domain won't be filtered."

Blacklisting

User: "Always filter credit card numbers, even in internal documents"
AI: "Credit card numbers set to always filter. This applies to all outputs."

Integration with Other Skills

With browser-use-pro

When analyzing screenshots/web pages:

  • Don't repeat visible sensitive data in responses
  • Reference instead: "The page shows your account ending in 1234"

With douyin-video-factory

When generating video content:

  • Don't include real phone numbers/addresses in video text
  • Use placeholders or fictional data

With email/message skills

When composing:

  • Scan for sensitive data before sending
  • Offer to remove before finalizing

Error Handling

False Positive

User: "My order number is 12345678901234567890"

AI filters: [Could be mistaken for sensitive]

Correct handling: "I noticed what looks like an order number. 
For safety, I filtered it. Is this correct, or should I include it?"

Partial Match

User: "ID is 11010119900101123" [Only 17 digits]

Response: "That appears to be an incomplete ID number (17 digits). 
Did you mean 18 digits? I can help once confirmed."

Ambiguous Data

User: "Account 123456"

Response: "I see an account number. Is this a sensitive financial account 
that should be filtered, or a generic account number to include?"

Key Principles

  1. Privacy by Default: Assume all user data is sensitive unless proven otherwise
  2. Defense in Depth: Multiple layers of protection
  3. Transparency: Users should know what was filtered
  4. User Control: Let users choose protection level
  5. Fail Secure: When in doubt, filter it out
  6. Continuous Vigilance: Every output, every time
  7. Learn & Adapt: Remember user preferences

Supported Patterns (Complete Reference)

Government IDs

CountryFormatExample
🇨🇳 China18 digits110101199001011234
🇺🇸 USAxxx-xx-xxxx123-45-6789
🇬🇧 UKAA 123456CAB 123456C
🇪🇺 EUVariesDepends on country
🇯🇵 Japan12 digits123456789012
🇰🇷 Korea13 digits1234567890123

Financial

TypeFormatExample
Bank Card16-19 digits6222021234567890123
Credit Cardxxxx-xxxx-xxxx-xxxx4111-1111-1111-1111
IBANCountry + 2 digits + up to 30GB82WEST12345698765432
Crypto0x... or 1...0x742d35Cc6634C0532925a3b844Bc9e7595f

Contact

TypeFormatExample
Phone CN1[3-9]xxxxxxxx13812345678
Phone US(xxx) xxx-xxxx(555) 123-4567
Phone UK07xxx xxxxxx07123 456789
Emailuser@domainuser@example.com
IP AddressIPv4/IPv6192.168.1.1

Keywords Trigger

These words in user input should heighten vigilance:

  • "private", "confidential", "secret"
  • "personal", "my own", "my"
  • "forget", "delete", "remove"
  • "never", "don't include"

This skill makes your AI privacy-aware by default. Zero setup, maximum protection.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Kafka

Kafka - command-line tool for everyday use

Registry SourceRecently Updated
General

Helm

Helm - command-line tool for everyday use

Registry SourceRecently Updated
General

Cms

Cms - command-line tool for everyday use

Registry SourceRecently Updated
General

Valuation

Valuation - command-line tool for everyday use

Registry SourceRecently Updated