pull down to refresh

TL;DR: We turned your Mac’s Secure Enclave into a Bitcoin signing device, with Touch ID as the “are you sure?” button. No dongles. No cloud. No USB firmware roulette. No “where’s my Ledger PIN?” panic. Just run the app (or build from source), pair it with your own node, and your laptop becomes the safest multisig cosigner you already own.
MetaMask isn’t Bitcoin. Ledger is fine… until it’s not. If you’re a self-custody maximalist on macOS, you’ve probably been stuck between hot-wallet convenience and hardware-wallet security. Not anymore. Specter Enclave is a free, open-source wallet that transforms your Mac into a part of your Bitcoin cold storage setup – without any third-party infrastructure or “cloud” anything. It’s fully offline and uses the Secure Enclave chip (the same vault that holds your Touch ID data) to keep your private key sealed off from the world.

What Makes Specter Enclave Different?

  • 100% Offline & Cloudless: No accounts, no servers, no phone-home. Your keys never leave your Mac’s Secure Enclave, and all transactions are signed locally. (Pair it with your own Bitcoin Core node for broadcasting – trust no one else’s infrastructure.)
  • Secure Enclave Key + Touch ID: The private key is generated and stored inside the Secure Enclave chip, where it’s non-extractable. Every spend requires your fingerprint via Touch ID – just like pressing the button on a hardware wallet, but in your laptop.
  • Default 2-of-3 Multisig: It ships with multisig by default. That means one key lives in your Mac’s Enclave, and you’re prompted to combine it with two other keys (for example, one on a hardware wallet or mobile signer, plus a third as a backup). No single key (or device) can ever spend your coins alone. Daily spending can be done using your Mac’s key + one other signer, so you don’t need to fish out specialized hardware for every little transaction.
  • Slim, Open Source Code: The entire signing path is written in Swift using Apple’s CryptoKit – around ~1,700 lines of code handling all the key and PSBT logic. Nothing hidden, no black-box firmware; you can read or compile it all yourself.
  • Air-gapped PSBT Workflow: No USB cables needed. Transactions (PSBTs) can be passed through animated QR codes or even NFC taps with an iPhone. This means your signing MacBook can be kept offline, yet still easily receive and return signed transactions. No more juggling SD cards or random file transfers.

But… Can You Trust Apple’s Enclave?

Let’s address the elephant in the room: “Closed-source secure hardware”. Yes, Apple’s Secure Enclave is a proprietary black box. If you’re thinking “how is this any better than a closed-source Ledger secure element?”, it’s a fair question. Here’s the deal:
  • Battle-Tested Security: Apple’s Secure Enclave has secured billions of devices for years. It’s seen far more attacks and scrutiny than the chips in boutique hardware wallets. If there were easy ways to extract data from it, we’d likely know by now.
  • No Vendor Backdoors: Unlike some hardware wallets that surprised us with opt-in backdoor features (cough Ledger Recover cough), your Mac’s enclave isn’t going to randomly export your keys. Apple literally cannot see inside it. And because Specter Enclave is open-source, you can audit that we aren’t doing anything sneaky either.
  • Trust Model: In both cases (Ledger vs. Secure Enclave) you’re ultimately trusting a secure chip. The difference is we’re not asking you to trust us. We wrote the code, but you (or anyone) can review it, reproduce the build, and verify that the only thing handling your key is Apple’s well-documented enclave API. No part of Specter Enclave phones home or relies on trust in our infrastructure – there is none. You’re leveraging hardware you already have, under your control.
  • Your Call: If your threat model says “never trust anything with a closed chip”, that’s fine – stick to a fully open-source hardware wallet. But consider this a new option in the self-custody toolbox: one that balances strong security with convenience, using devices you already own. We think the trade-off makes sense for a lot of use cases (and adds diversity to your key management). If you disagree, we want to hear why – let’s hash it out. 💬

How It Works (Under the Hood)

  • Step 1: specter-enclave init — Generates a new BIP32 master key inside the Secure Enclave (never accessible in plaintext). Essentially, your Mac creates a hardened secret that even macOS itself can’t read out.
  • Step 2: specter-enclave export-xpub — Exports the XPUB (extended public key) from the Enclave. You use this to set up a watch-only wallet on Bitcoin Core or Specter Desktop, so you can receive funds and generate addresses without ever exposing the private key.
  • Step 3: When you’re ready to spend, you construct a PSBT (Partially Signed Bitcoin Transaction) on your online wallet (e.g. Specter Desktop connected to your node). Specter Enclave intercepts the PSBT, prompts you to confirm via Touch ID, and the Secure Enclave signs it internally. The signed PSBT can then be broadcast through your node. At no point does the private key leave the chip – it’s all done internally and the signed result is handed back.
  • Multisig in Practice: By default, Specter Enclave assumes you’ll use it as one key in a 2-of-3 setup. For example, you might combine (a) your Mac’s Enclave key, (b) a key on a hardware wallet or TapSigner card, and (c) a third key (perhaps a seed phrase kept on paper or an offsite backup). The app will help enforce that you’ve configured multiple keys before use. Optionally, you can add a signer like Coldcard or Tapsigner at wallet creation; the Enclave will then refuse to sign unless the transaction includes the required co-signature. This means your laptop alone can’t move funds, even if it’s stolen or malwared – an attacker would still need the other key. Yet for everyday spending, you can just Touch ID to sign with the Mac and combine it with your secondary signer (say, a key on your phone or a readily available device), keeping your most secure key offline until needed.

250k Sat Bounties for Breakers & Makers 🔥

This project is for Bitcoiners, by Bitcoiners, so we’re putting our sats where our mouth is. If you can improve or break Specter Enclave, we’ll pay you in lightning:
  • 10,000 sats for any quality improvement or bug-fix Pull Request merged.
  • 50,000 sats for a thorough code review or security analysis write-up. Tear apart our code and document what you find – we appreciate it.
  • Up to 250,000 sats for any critical vulnerability discovered. If you manage to pwn the Secure Enclave setup or find a flaw that risks funds, you deserve a bounty (and a beer 🍻, if we ever meet).
No closed bug bounty program, no NDAs – just straight-up incentives to make this tool more robust. Come at us. The harder you hit, the stronger we get.
GitHub (source & notarized .dmg): https://github.com/CryptOpenDevelopment/specter-desktop (MIT License, forked from Specter Desktop on 2025-05-16)
WARNING: this has all the signs of being malware.
If you download this specter-desktop fork and run it, it will likely steal all of your funds.
No source has been provided that implements the alleged functionality.
The only changes the fork implements are to markdown files
reply
100 sats \ 3 replies \ @anon 18 May
WARNING! We should review the source code first, the repo only edited the Readme.md and swapped out the download link with some malicious code i think we might be fucked
reply
Hey, thanks for pointing that out, but don’t worry, nothing malicious going on.
The main Specter Desktop repo you're looking at only had its README updated because that's just a fork reference. The actual Secure Enclave integration code is entirely in our dedicated specter-enclave repository:
Everything there is open source and MIT-licensed, and the binaries we distribute are reproducible from that code. Definitely take a look yourself, we encourage reviews, audits, and any scrutiny!
Let me know if you have more questions or find anything unclear - I’m happy to walk you through it!
reply
The fee subtraction logic in create_psbt incorrectly always subtracts from the first recipient, ignoring the subtract_from parameter. This can lead to misconfigured transactions.
and
Command Injection via subprocess.Popen with shell=True
reply
The fee subtraction logic in create_psbt incorrectly always subtracts from the first recipient, ignoring the subtract_from parameter. This can lead to misconfigured transactions. and Command Injection via subprocess.Popen with shell=True
Good catch, thanks for bringing these up.
Fee subtraction logic: You're right; the current implementation overly simplifies and defaults to the first recipient. We're tracking this and are actively working on a patch to correctly respect the subtract_from parameter across multiple recipients.
subprocess.Popen with shell=True: We're aware of this. Although our current usage sanitizes inputs thoroughly, using shell=True isn't ideal from a security perspective.
Really appreciate the scrutiny. If you're open to it, we'd welcome a PR or a deeper security review from your side - happy to discuss a bounty for quality fixes too!
reply
244 sats \ 5 replies \ @k00b 17 May
Can you point me to the specter-enclave source code you mention here?
I went searching for it again and can't find it.
(It's strange that your repo links to a forked build that I can't find all the source for.)
reply
It seems there was an issue with the repo visibility, I've re-uploaded it to https://github.com/CryptOpenDevelopment/specter-enclave
reply
This code is identical to https://github.com/cryptoadvance/specter-desktop/tree/master/src/cryptoadvance/specter with the exception of your readme, license and requirements.txt...
Looks like a pretty obvious phishing scam...
reply
Just pushed the full v1.0.1 “Enclave-Merge” release a few minutes ago, if you refresh the repo you’ll see the Secure Enclave code baked into the main tree, not just the README tweaks you diff-ed earlier.
reply
The repo is gone now, so combined with the flags on virus total it seems to confirm that this was malware...
This is fun and interesting (but also very malicious and serious). You are good at reassuring people that this is legitimate despite being confronted with the fact that you forked a project, use their logo and try to impersonate the legitimate cryptoadvance github profile as the "CryptOpenDevelopment" profile. Same logo, etc.
CryptOpenDevelopment/specter-enclave is just the original source code
CryptOpenDevelopment/specter-desktop is just some edits to to some documentation where you announce a new non-existing feature and then link to a dmg file that is reported as malware.
The comment above saying that v1.0.1 "Enclave-Merge" is released does not exist.
No doubt you will also do this soon push the "Enclave-Merge" branch and will refute this very comment, but that doesn't change the fact that you are linking to a malicious dmg executable file.
So well played, but you are still a scammer and hopefully people will see this warning and make and not run the dmg or anything else that you publish.
100 sats \ 1 reply \ @sox 18 May
Didn't know that third parties could use Apple's Secure Enclave, interesting.
What's with the release link pointing at https://downloadmacos.com Is it yours?
reply
Yep, that’s ours.
We host the .dmg on https://downloadmacos.com to keep the file delivery fast and signed from a domain we control (GitHub's CDN had some issues with visibility in certain regions). The build itself is fully open-source and reproducible - the exact source code is on GitHub.
As for the Secure Enclave - yeah, Apple actually exposes a really nice interface for it through CryptoKit. It’s limited (by design), but more than enough to generate and safely seal a Bitcoin key inside the chip. You just can’t get the key back out, which is kind of the point :)
Let me know if you want a walkthrough or want to poke at the code - happy to dive deeper.
reply
🚀 v1.0.1 “Enclave-Merge” released – Secure Enclave signer now in main tree.
Key points
  • Mac Secure Enclave key + Touch ID = 1 cosigner
  • 2-of-3 multisig wizard (add Coldcard, SeedSigner, etc.)
  • No cloud, no telemetry – PSBT via QR/NFC
reply
inb4 unaudited source
reply
Specter is open source but the Specter brand is owned by Swan. This is an unlicensed and unsanctioned release trying to use the Specter name. Extremely likely this is a SCAM. BEWARE.
reply
This is a fork from original Specter Desktop repository 🤦
reply
0 sats \ 1 reply \ @anon 23h
Forks of the software are permitted, but using the brand name is not. We have to assume any forks using the name are planning to engage in malicious behavior.
reply
So how do you see it: we take the Specter's codebase to build on top of it, but it's not a Specter anymore or what? The original repository is under MIT license, I don't see an issue here.
reply
This code is identical to https://github.com/cryptoadvance/specter-desktop/tree/master/src/cryptoadvance/specter with the exception of your readme, license and requirements.txt...
Looks like a pretty obvious phishing scam... (And should be treated as such until some known community members can create a reproducible build that matches the distributed binaries)
reply
Just pushed the full v1.0.1 “Enclave-Merge” release a few minutes ago, if you refresh the repo you’ll see the Secure Enclave code baked into the main tree, not just the README tweaks you diff-ed earlier
reply
100 sats \ 0 replies \ @95575884_ 23h
deleted by author
reply
deleted by author
reply
We haven’t published a formal roadmap yet. We’re still collecting early feedback before locking down priorities. If there’s something specific you want to see, let us know (or open an issue/feature request). We’ll post a proper roadmap to the GitHub repos and Wiki soon. Thanks for the nudge!
reply
deleted by author