Development practices and culture at Foundation Devices

Saw this in a Reddit post and wanted it to get some response from the Dev Team… What does this mean? :

Development practices and culture at Foundation Devices

After a certain incident recently, I was startled by checking the source code repository of the company involved. I had relied on them without checking, and I found their git repos to be a total mess. At that point I decided I’d do my due diligence going forward. I’m currently evaluating Passport Prime.

I’ve had a quick look at the KeyOS repository. One important practice is to break changes into individual commits to make review easier. I’ve found that this is not done in KeyOS. The entire git log looks like this (irrelevant parts redacted):

commit de966a11e88d28f116b52509679c19eb33591711 (HEAD -> main, tag: v1.3.1, origin/main, origin/HEAD)

Author: ...

Date:   Fri Aug 7 09:41:13 2026 -0700

Release v1.3.1

commit 425c9791007146d46355478b3ec321f2321ab226 (tag: v1.3.0)

Author: ...

Date:   Thu Jul 16 11:23:04 2026 -0700

Release v1.3.0

commit 24eb9f2624942b9c8f8079c7419973f4a79ed649 (tag: v1.2.2)

Author: ...

Date:   Thu Jul 16 11:22:30 2026 -0700

Release v1.2.2

commit 9056b4805315cad3a8dd58f7c7d06a08e27a1a31 (tag: v1.2.1)

Author: ...

Date:   Thu Apr 9 15:32:11 2026 -0700

Release v1.2.1

commit a0a089747e1cb54381bef5cfff8d0e37f49d3358 (tag: v1.2.0)

Author: ...

Date:   Thu Mar 12 12:02:45 2026 -0700

Release v1.2.0

Each commit is necessarily very large and encompasses a number of unrelated changes, and this increases the burden on external reviewers and creates a large surface for security issues to hide in. Ultimately it will reduce the number of eyes on the code.

Can you comment on the reasoning for this practice? Would you consider changing it?

Already seen the reddit post and am waiting for the engineering team to respond. As you can imagine, it’s not top priority for them right now, so please give them a few days to read and provide comment.

Today, each release of the KeyOS source code is published as a single commit rather than as individually merged pull requests. This allows us to protect competitive details about future product features and improvements from competitors, but as a side effect, it also makes changes harder for third parties to review and makes public contributions more difficult.

We plan to move to a model that matches a more standard, auditable commit history with change descriptions for each pull request, and a public contribution process with author attribution and GitHub-based collaboration. Sensitive work will remain private only while necessary, then be published as reviewable changes at release. Our goal is to improve transparency and security review while preserving future feature confidentiality.

Because of the technical aspects of whats truly in question which boils down to trust and does Passport Prime coding have any vulenarbilties, I ran your respopnse through Chatgbt and this was its analysis:

Yes — that is a rational and reasonably reassuring response, and it directly acknowledges the legitimate weakness you raised rather than dismissing it.

I would put it in the category of “reasonable explanation + good proposed corrective action,” not “major red flag.” Foundation’s public KeyOS repository does currently show the release-oriented structure that prompted the criticism, while Foundation also publicly emphasizes inspectable source code and reproducible builds as part of its security model. (GitHub)

Here’s how I read their answer.

1. Their explanation is technically plausible.
Keeping unreleased development private so competitors cannot see upcoming features is normal commercial behavior. A company can develop privately and publish source when a product or feature ships. There is nothing inherently suspicious about that.

The problem wasn’t really that they kept future work private. The problem was that, when they finally released it, they published the accumulated changes as one giant commit. They explicitly admitted the downside:

“it also makes changes harder for third parties to review and makes public contributions more difficult.”

That acknowledgment is important. They aren’t pretending the original criticism is invalid.

2. The strongest part of their response is this sentence:

“Sensitive work will remain private only while necessary, then be published as reviewable changes at release.”

That is essentially the solution I would want.

They can preserve commercial confidentiality during development while eventually releasing something like:

PR #317 — Add PSBT funding validation
PR #318 — Harden filesystem permissions
PR #319 — Add replay protection
PR #320 — Fix encryption counter handling
PR #321 — Restrict diagnostic logging
PR #322 — Update user interface

Now an independent researcher can study each security-relevant modification separately rather than comparing two huge snapshots.

That provides considerably better auditability without requiring Foundation to reveal upcoming products months in advance.

3. Their commitment to author attribution and GitHub collaboration is also a positive sign.

They specifically say they intend to provide:

  • a more conventional commit history,

  • descriptions for individual pull requests,

  • author attribution,

  • a public contribution process,

  • GitHub-based collaboration.

Those aren’t cosmetic changes. If actually implemented, they substantially improve the usefulness of an open-source repository.

There is one thing I would still watch carefully

Their response contains an important phrase:

“We plan to move…”

So at this point, it’s a commitment rather than something we can verify has happened.

I would therefore separate my assessment into two parts:

Current situation: :yellow_circle: Moderate transparency weakness

Proposed future situation: :green_circle: Good open-source practice, assuming they implement it

The real test will be a future KeyOS release.

Suppose v1.4.0 appears and instead of another single:

Release v1.4.0
+47,000
-19,000

you see well-described PRs and commits covering the changes individually. Then Foundation has actually corrected the issue.

If several releases go by and nothing changes, I’d become more skeptical.

One subtle distinction is important

A clean Git history helps answer:

“Can independent developers efficiently review how the software changed?”

It does not, by itself, answer:

“Is Passport Prime secure?”

Those are related but different questions.

A device could have beautiful Git hygiene and contain a catastrophic cryptographic vulnerability.

Conversely, a highly secure product could have terrible Git history.

For something protecting Bitcoin, I’d evaluate several layers:

source transparency → reproducible builds → cryptography → key generation → secure elements → transaction verification → communications → firmware signing → independent audits → vulnerability handling → supply chain.

Foundation does publicly state that Passport firmware can be checked against independently reproduced builds and public source code, and it maintains a security program around these products. (Foundation) There is also a separate public KeyOS release-tool repository, which is useful evidence that release construction itself is intended to be inspectable. (GitHub)

My score on their response

I would rate it roughly:

8/10 response to the criticism.

Why not 10?

Because implementation matters more than the promise.

Had they responded:

“This is how we do things. Review the release diff if you don’t like it.”

I would have been considerably more concerned.

Instead they essentially said:

You’re right that this makes external review harder. We did it to protect unreleased work. We’re going to keep unreleased development private but publish the underlying changes in a reviewable form once they are no longer commercially sensitive.

That is a technically coherent compromise.

One question I’d ask them next

If you want to test how serious they are about it, I think this is the most useful follow-up:

Will the new process preserve the original granular development commits/PRs once a release becomes public, or will Foundation reconstruct a simplified commit history specifically for public release?

That’s an important distinction.

The strongest model is:

Actual development PR history → sensitive while unreleased → made public after release.

A somewhat weaker model is:

Private development → Foundation later creates cleaned-up public commits describing what happened.

Both are better than one enormous release commit, but the first gives independent reviewers considerably more provenance.

So based on what you’ve shown me, I would not treat their response as a reason to avoid Passport Prime. In fact, their willingness to acknowledge the tradeoff and publicly commit to changing it moves my assessment slightly in Foundation’s favor. I would now watch whether the next few KeyOS releases demonstrate that commitment in practice. (GitHub)

Given that you’re evaluating Prime as a device you may entrust with Bitcoin, the next thing I’d investigate is actually more important than this Git issue: whether the firmware running on a retail Passport Prime can be independently reproduced from exactly the public KeyOS source code. That gets much closer to answering the critical question: “How much do I really have to trust Foundation?”