Назад към всички

fadnote

// Create secure shareable self-destructing notes

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namefadnote
version1.0.2
descriptionCreate secure shareable self-destructing notes
licenseMIT
metadata[object Object]

FadNote Skill

Secure self-destructing shareable notes for OpenClaw

Create encrypted, one-time-read notes directly from OpenClaw. The server never sees your plaintext.


Overview

PropertyValue
Namefadnote
Version1.0.2
AuthoreasyFloyd
LicenseMIT
Open SourceYes — https://github.com/easyFloyd/fadnote
RuntimeNode.js 18+

Installation

# Via ClawHub
claw install fadnote

# Manual
git clone https://github.com/easyFloyd/fadnote.git
ln -s $(pwd)/fadnote/openclaw-skill/scripts/fadnote.js ~/.claw/bin/fadnote

Configuration

VariableDefaultDescription
FADNOTE_URLhttps://fadnote.comFadNote server endpoint

Usage

From OpenClaw

user: Secure this API key: sk-abc123xyz

claw: I'll create a secure, self-destructing note for that.
      [runs: echo "sk-abc123xyz" | fadnote]

      🔗 https://fadnote.com/n/abc123# decryption-key-here

      Share it with the recipient via any channel and this link will self-destruct after first view.

CLI Usage

  Usage: fadnote [options] [text]
         echo "text" | fadnote [options]

  Create secure self-destructing notes that can only be viewed once.

  Options:
    -h, --help          Show this help message and exit
        --ttl <secs>    Time until note expires (default: 86400 = 24h)
        --json          Output JSON with noteId, expiresIn, and decryptionUrl

  Environment:
    FADNOTE_URL         API endpoint (default: https://fadnote.com)

  Examples:
    # Standard
    fadnote "My secret message" # direct input
    echo "My secret" | fadnote # from stdin

    # With options
    fadnote --ttl 3600 "Expires in 1 hour" # Custom TTL
    fadnote --json --ttl 7200 "JSON output" # JSON output:
      # {noteId: string, expiresIn: number, decryptionUrl: string}

    # File and clipboard input
    cat file.txt | fadnote --ttl 86400 # from stdin with options
    pbpaste | fadnote  # macOS clipboard
    xclip -o -selection clipboard | fadnote # from clipboard (Linux with xclip)
    xsel -b | fadnote # from clipboard (Linux with xsel)

Single Output: Single line with the shareable URL.

JSON Output:

{
  noteId: string,
  expiresIn: number,
  decryptionUrl: string
}

Triggers

I (OpenClaw) will automatically use the FadNote skill when you say any of:

  • "Secure this [content]"
  • "FadNote this [content]"
  • "Create a secure link for [content]"
  • "Share this securely: [content]"
  • "One-time note: [content]"
  • "Encrypt and share [content]"

With email delivery (if email skill is present):

  • "Secure this and email to [recipient]: [content]"
  • "FadNote this to [email]"
  • "Send secure note to [email]"

Examples:

- Secure this API key: sk-live-12345

- FadNote this password for the server

- Create a secure link for these credentials

- Share this securely: my private SSH key

- One-time note: the meeting location

Security

  • Client-side encryption — AES-256-GCM with PBKDF2 (600k iterations)
  • Zero knowledge — Server receives only encrypted blobs
  • One-time read — Note deleted immediately after first fetch
  • Auto-expire — Default 24 hour TTL
  • Open Source — Server code is publicly auditable at https://github.com/easyFloyd/fadnote

The decryption key is embedded in the URL fragment (#key) and never sent to the server.


Files

openclaw-skill/
├── SKILL.md           # This file
└── scripts/
    └── fadnote.js     # Main CLI script (~160 lines)

Requirements

  • Node.js 18+ (no external dependencies)

Troubleshooting

ErrorCauseSolution
FADNOTE_URL not setEnvironment variable missingexport FADNOTE_URL=https://fadnote.com
Empty noteNo input providedPipe text into fadnote: echo "secret" | fadnote
404 Not FoundServer endpoint wrongCheck FADNOTE_URL points to a running FadNote instance
Connection refusedServer unreachableVerify server is up or use the live service
Crypto not availableNode.js < 18Upgrade to Node.js 18+

Links