# Fadnote

> Create secure shareable self-destructing notes

- Skill: `dvcrn/fadnote` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add dvcrn/fadnote`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/fadnote/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/fadnote

---


# 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

| Property | Value |
|----------|-------|
| **Name** | fadnote |
| **Version** | 1.0.2 |
| **Author** | easyFloyd |
| **License** | MIT |
| **Open Source** | Yes — https://github.com/easyFloyd/fadnote |
| **Runtime** | Node.js 18+ |

---

## Installation

```bash
# 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

| Variable | Default | Description |
|----------|---------|-------------|
| `FADNOTE_URL` | `https://fadnote.com` | FadNote 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

```bash
  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:**
```json
{
  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

| Error | Cause | Solution |
|-------|-------|----------|
| `FADNOTE_URL not set` | Environment variable missing | `export FADNOTE_URL=https://fadnote.com` |
| `Empty note` | No input provided | Pipe text into fadnote: `echo "secret" \| fadnote` |
| `404 Not Found` | Server endpoint wrong | Check `FADNOTE_URL` points to a running FadNote instance |
| `Connection refused` | Server unreachable | Verify server is up or use the live service |
| `Crypto not available` | Node.js < 18 | Upgrade to Node.js 18+ |

---

## Links

- **Live Service:** https://fadnote.com
- **Source:** https://github.com/easyFloyd/fadnote
- **Issues:** https://github.com/easyFloyd/fadnote/issues

