# Sharing maCopy with someone else ## Where the app lives on your Mac | What | Path | |---|---| | Source code | `~/Documents/code/maCopy` (this repo) | | Built `.app` (after `npm run tauri build`) | `src-tauri/target/release/bundle/macos/maCopy.app` | | Built `.dmg` installer | `src-tauri/target/release/bundle/dmg/maCopy__aarch64.dmg` | | Clipboard database (your data, never shipped) | `~/Library/Application Support/maCopy/clipboard.db` | | Vault/secrets | none — maCopy has no network calls and no accounts | The `.app` and `.dmg` are build **artifacts**: they're regenerated by `npm run tauri build` and are git-ignored. Nothing under `target/` is committed to the repo. ## Fastest way to share it today (unsigned) 1. Build it: `npm run tauri build` 2. Grab the DMG: `src-tauri/target/release/bundle/dmg/maCopy_0.1.0_aarch64.dmg` 3. Send that file (AirDrop, USB, file share — whatever). ### What the other person needs to do The build is **ad-hoc signed** (`codesign -dv` shows `Signature=adhoc`, `TeamIdentifier=not set`) — not signed with an Apple Developer ID and not notarized. macOS Gatekeeper will refuse to open it with the default "Apple could not verify… malware" dialog on a *different* Mac (your own Mac trusts it already because you built it there). This is normal for any indie app that isn't notarized — it's not a maCopy-specific bug. The recipient has two options: **Option A — right-click override (easiest, no Terminal)** 1. Copy `maCopy.app` to `/Applications`. 2. Right-click (or Control-click) the app → **Open** → confirm **Open** in the dialog. This works even when double-click is blocked, and only needs to be done once. **Option B — clear the quarantine flag (Terminal)** ```bash xattr -cr /Applications/maCopy.app ``` Removes the "downloaded from the internet" quarantine attribute that triggers Gatekeeper's warning, then the app opens normally. Either way, once it's launched once and allowed, it behaves like any other menu-bar app — including **Launch at login** in Settings. ## The "real" way — signed + notarized (for wider distribution) If you want to share this with people who shouldn't have to right-click or run Terminal commands (e.g. distributing beyond just you/family), you need: 1. An Apple Developer ID ($99/yr Apple Developer Program). 2. A "Developer ID Application" certificate in your keychain. 3. Tauri's bundler config filled in (`tauri.conf.json` → `bundle.macOS.signingIdentity`) or a manual `codesign --deep --sign "Developer ID Application: ..."` step. 4. Notarization via `xcrun notarytool submit ... --wait` (or `tauri-plugin-updater`'s signing helpers), then `xcrun stapler staple maCopy.app`. This is tracked as a ship-blocker in [docs/PRODUCT.md](PRODUCT.md) — not done yet because it requires an Apple Developer account, which is a cost/ identity decision for you to make, not something that can be automated away. ## Other distribution ideas (once signed) | Channel | Effort | Notes | |---|---|---| | Direct DMG (current) | none | Works today; Gatekeeper friction as above | | Private Gitea release / file share | low | Attach the DMG to a Gitea release on your own instance | | Homebrew cask (`brew install --cask`) | medium | Needs a signed release + a cask formula in a tap | | Mac App Store | high | Sandbox rules make background clipboard monitoring + AppleScript paste tricky; likely not worth it for this app | ## Sharing the source instead of a binary If the other person can build it themselves (has Rust + Node), just give them repo access: ```bash git clone gitea@git.levkin.ca:ilia/maCopy.git cd maCopy npm install npm run tauri build ``` No signing needed for this path since it's *their* build on *their* Mac — same Gatekeeper trust maCopy already has on yours.