About this project

TandemClip keeps the clipboard in sync across Macs you own over the local network. Copy on one Mac, paste on another; text, rich text, images, files and folders are supported. There is no cloud, relay, account or remote control — any Macs sharing a pairing code discover each other on the LAN and nothing leaves it. It runs as a menu-bar background agent. Installation is via a signed, notarized DMG from the project site or a Homebrew cask (Homebrew 6+ requires `brew trust` for the third-party tap). It targets macOS 13+ on Apple Silicon and self-updates through Sparkle. Key capabilities described in the README: - Mirror mode (copy anywhere, appears everywhere, deduped, loop-safe, relayed) and Manual mode (pull a specific Mac's clipboard on demand). - Per-Mac roles: Send + Receive, Receive-only, Send-only. - Settings window covering mode, role, preview level, max size, device name, pairing code, trusted-device allowlist, Wi-Fi network guard and launch-at-login. - Clipboard picker (⇧⌘V): visual browser with search and preview of recent clips, keyboard navigation, ⌘1–9 quick-pick, and a shared fleet timeline in Mirror mode. - Privacy handling: content marked ConcealedType, TransientType or AutoGeneratedType by password managers is never synced (best-effort, depends on the source app setting the marker). - Echo-loop prevention via baseline changeCount and content-hash keying; a 5s reconcile loop re-dials advertised peers to survive sleep/wake and Wi-Fi roams. - Security model: the pairing code is stretched with PBKDF2-HMAC-SHA256 (600,000 iterations) into a 256-bit PSK-TLS key, so connections are authenticated and encrypted; LAN-only, no internet relay. An optional trusted-device allowlist pins devices by signing key. The code is stored in the login Keychain. - Roadmap items already shipped include rich text, images, files, folders as zip, drop-to-share, delete-everywhere, clipboard history, pinned clips, on-device semantic search over history and OCR'd screenshot text, quick actions, a secret guard, AI text cleanup with OpenAI-compatible endpoints (including local Ollama/LM Studio), AI summarize/smart titles/translation and retrieval-grounded "Ask your clipboard", chunked transfers up to 100 MB, AirDrop of a clip, and a Services menu entry. Planned items include a share-sheet extension and per-device public-key identity pinning. Development uses Swift Package Manager with `swift build --build-system native` (the default engine reportedly hangs on the Sparkle-linked build). Scripts package a .app bundle, sign and notarize it, and a release script prepares signed releases with an appcast and Homebrew cask sync. Crash reporting is opt-in, off by default, and uses a small Sentry-compatible ingest surface with no PII or identifiers. The project is MIT-licensed and accepts issues and pull requests.