惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 聂微东
Y
Y Combinator Blog
WordPress大学
WordPress大学
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
About on SuperTechFans
小众软件
小众软件
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
GbyAI
GbyAI
I
InfoQ
The GitHub Blog
The GitHub Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
C
Check Point Blog
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
量子位
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog

Show HN

GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: Generate Claude Code Workflows using Spec Driven Development approach Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal).
GitHub - Offsend/Offsend: macOS menu bar app: monitor rep...
hudishkin · 2026-06-11 · via Show HN

Prepare code, files, clipboard text, and git changes before you share them with AI tools.
Local-first privacy checks for ChatGPT, Claude, Cursor, Copilot, and CI.

CI Release License Platform Swift 5.9 Local-first

Drop a file or folder into Prepare for AI


Offsend is a local-first macOS app for developers who share code with AI tools.

It helps you catch secrets, client data, internal paths, and other sensitive details before they leave your Mac. Use it from the menu bar while you work, from the included CLI in a terminal, or from git hooks before every commit.

No cloud account. No server-side scanning. No “trust us” privacy model.

Why Offsend

AI coding tools are useful, but they make it easy to paste the wrong thing: an API key in a diff, a customer name in a document, a private endpoint in a config file, or a token from your clipboard.

Offsend adds a local review step without changing your workflow:

  • Safe Paste scans clipboard text, masks sensitive values, and pastes the prepared version.
  • Prepare lets you drop files or folders, review findings, and copy or save an AI-ready result.
  • Project checks inspect ignore rules and sensitive paths before a repository is used with AI tools.
  • Git hooks run Offsend before commits, with hook setup and status managed from the macOS GUI.
  • CLI checks are free and scriptable for terminals, hooks, and CI.

What You Can Do

1. Prepare a project

Check whether a folder is ready for AI coding tools: ignore files, sensitive paths, one-click fixes.

Works with .cursorignore, .copilotignore, .claudeignore, .aiexclude, and similar rules. Can watch folders in the background and notify you when something changes.

Directory checks use paths and ignore rules only — not file contents.

2. Prepare files

Drop a file in Prepare, review findings, mask or redact sensitive items, then copy or save an AI-ready version.

Supported formats

  • Plain text — common extensions like .txt, .md, .csv, .json, .log, .xml, .yaml, plus any other text file (e.g. .swift, .html)
  • Documents.pdf, .rtf, .doc, .docx

3. Prepare clipboard text with Safe Paste

⌘⇧V — scan the clipboard, mask sensitive values, paste or copy the prepared text.

⌘⇧R — restore masked values when you need the originals back.

Mappings are encrypted on disk; the key lives in Keychain. Hotkeys are remappable in Settings.

4. Protect commits with hooks

The macOS app includes hook management in Settings → Hooks. Add a repository, install a pre-commit hook, and see its status without editing shell scripts by hand.

The hook runs the Offsend CLI against staged changes before each commit and blocks commits that contain sensitive data such as API keys, tokens, private keys, or similar patterns.

5. Use the free CLI

The app bundle already includes the offsend CLI helper, so the GUI can run local checks and manage hooks out of the box.

You can also install the standalone offsend-cli for free when you want offsend on PATH for terminal workflows, git hooks, CI, or scripts.


Detection

Built-in detectors cover emails, phone numbers, IDs, amounts, URLs, IPs, API keys, tokens, private keys, and similar patterns. Turn individual detectors on or off in Settings → Detection.

Local AI detection

Offsend can also run local AI models alongside the built-in pattern detectors. This is useful for NER/PII cases that are harder to catch with regular expressions, such as names, addresses, organization names, and contextual personal data.

AI detection is optional and managed in the macOS app. Download or import a model in Settings → AI, select it, then enable AI detection. Supported sources include curated Hugging Face models, compatible Hugging Face model IDs or URLs, local folders, direct HTTPS model links, manifests, GGUF files, and local Ollama models.

Supported model formats include ONNX token classification, Core ML, Hugging Face Transformers assets, GGUF, and Ollama API models. Hugging Face access tokens for gated or private models are stored in Keychain. Model files and inference stay on your Mac; Offsend does not upload scanned content for AI detection.


Privacy

Everything runs on your Mac — directory checks, monitoring, clipboard detection, file preparation, masking, and restore.

Offsend does not upload content for scanning and does not store prompts, clipboard payloads, file bodies, or detected values.

Security issues: see SECURITY.md.


Install

macOS app

brew install --cask offsend/tap/offsend

Or download the latest .dmg from Releases.

The app gives you the full menu bar workflow: Safe Paste hotkeys, drag-and-drop file preparation, project checks, watched folders, settings, local AI model management, hook management UI, and the bundled CLI helper used by local checks and hooks.

Free CLI only

Use the standalone CLI for free when you need terminal, git hook, or CI checks without installing the full app:

brew install offsend/tap/offsend-cli
offsend doctor

Build from source

brew install tuist
./Scripts/bootstrap.sh
open Offsend.xcworkspace

Requirements: macOS 13+, Xcode 16, Tuist.

macOS may ask for Accessibility (to paste into the front app) and folder access (to audit and monitor directories).


App vs CLI

macOS app CLI
Best for Daily interactive work Free terminal, git hook, and CI checks
Safe Paste Yes: scan, mask, paste, restore No
File preparation Drag-and-drop UI, review, copy/save Path-based scans
Project checks UI checks, ignore files, watched folders offsend check, --staged, --policy
Git hooks Install/manage in Settings → Hooks offsend hook install/status/uninstall
AI models Download, import, select, and manage models Not used by the CLI
Automation Background watcher and notifications Scriptable text/json output

The macOS app already includes the CLI helper at:

Offsend.app/Contents/Helpers/offsend

Install the free offsend-cli separately if you want offsend available on PATH for shells, hooks, and CI.


Git Hooks & CLI

Offsend ships a free command-line tool for local checks, git hooks, and CI. The main command is offsend check.

Scan files or folders:

offsend check README.md Sources/

Scan staged git changes before a commit:

Use JSON output in automation:

offsend check --staged --format json --quiet

Install a pre-commit hook

Recommended: open Settings → Hooks in the macOS app, add a repository, and click Install Hook. The GUI also shows hook status and lets you remove hooks later.

From the terminal:

offsend hook install --path /path/to/your/repo

The hook runs offsend check --staged before each commit and blocks commits that contain sensitive data (API keys, tokens, private keys, and similar patterns).

Project config (.offsend.yml)

Commit a .offsend.yml.example as .offsend.yml in your repo to tune check behavior:

version: 1

check:
  fail_on: block
  policy: false
  exclude:
    - "*.lock"
    - "vendor/**"
  detectors:
    disable:
      - phone

hooks:
  type: pre-commit
  fail_on: block
  policy: false

Supported settings:

  • version — config schema version. Use 1; other versions are rejected.
  • check.fail_on — exit policy for offsend check. block fails only on blocking findings such as critical secrets or failed policy checks. warn also fails on warning/mask findings. none reports findings but exits successfully.
  • check.policy — when true, offsend check also runs workspace policy checks for ignore files and exposed sensitive paths. When false, it scans file contents only.
  • check.exclude — repository-relative glob patterns skipped by file scanning. Plain file globs such as *.lock match file names, path globs such as build/** match directories recursively, and slash patterns are matched against repository-relative paths.
  • check.detectors.disable — detector IDs to turn off for this project. Unknown IDs are ignored.
  • hooks.type — git hook type to install. Currently supported: pre-commit.
  • hooks.fail_on — exit policy used by installed hooks. If omitted, it falls back to check.fail_on, then block.
  • hooks.policy — whether installed hooks include workspace policy checks. If omitted, it falls back to check.policy, then false. For faster commits that check only staged files, keep this false.

CLI flags override config values when they are provided explicitly. For example, offsend check --policy enables policy checks even if check.policy is false.

Supported check.detectors.disable IDs:

email, phone, money, url, ipAddress, internalDomain, contractId, invoiceId, orderId, apiKeyGeneric, openAIAPIKey, awsAccessKeyId, githubToken, slackToken, stripeKey, jwt, privateKey, sshPrivateKey, databaseURLWithPassword, bearerToken, highEntropyString, creditCardLike, iban, customClient, customCompany, customProject, customSensitiveTerm, customInternalDomain, personName, streetAddress, governmentId.

CI snippet

- name: Install Offsend CLI
  run: brew install offsend/tap/offsend-cli

- name: Check staged changes for secrets
  run: offsend check --staged

Other useful commands: offsend check, offsend hook status, offsend hook uninstall.


Free vs Pro

The CLI is free for local checks, git hooks, and CI. Pro expands the interactive macOS app workflow for larger files, longer restore windows, editable templates, custom dictionaries, and unlimited watched folders.

Free Pro
Safe Paste & built-in detectors Unlimited Unlimited
Directory audit & one-click fixes Full Full
Free CLI for terminal, hooks & CI Yes Yes
Hook management UI Yes Yes
Watched folders 1 Unlimited
Custom ignore templates Default Editable
File size 15 MB 50 MB
Custom dictionaries Yes
Mapping TTL 1 hour Up to 24 hours

Built with

Swift macOS app. Built mostly in Cursor; signing, permissions, privacy behavior, and shipping are reviewed by hand.


License

Apache 2.0 — see LICENSE.