Cloudflare and Trail of Bits are now reviewing the identities of those Signal claims you are communicating with.
Here is the issue, which is simpler to explain than most people assume. End-to-end encryption encodes a message so that only the intended recipient can read it.
This system works flawlessly, provided you have the actual recipient's correct key, which the app retrieves from a server. However, if the server provides a different key, the encryption still operates as intended; it simply encrypts your message for someone else.
This vulnerability persists even with perfect encryption. Signal clearly outlines the risk: a key can be replaced without the owner’s knowledge, such as if Signal itself were compromised. Both ends appear unaffected; the padlock remains secure, the math is intact, and a third party can access everything.
Every encrypted messaging app has harbored this flaw since their inception. That’s why Signal has always displayed safety numbers—the lengthy string meant for side-by-side verification with your contact in person or via another channel. Unfortunately, very few people actually do that. A security measure requiring an in-person meeting often gets overlooked.
What Signal announced recently
On Tuesday, Signal launched automatic key verification, as noted in a post by software engineer Katherine Yen. This feature verifies that the connection between a phone number or username and its public key is globally consistent.
Underpinning this is a tamper-evident ledger. Signal maintains a record tree and prefix trees that log registrations and account modifications, with independent auditors signing each entry. Your app automatically and regularly checks your identifiers. To verify a contact, users still need to tap the safety number screen, which now displays a green checkmark along with the message “Encryption verified.”
Yen made a direct comparison, stating that these checks “provide the same assurance as manually verifying safety numbers,” but, unlike the manual method, do not require meeting in person.
Two auditors, not one
This aspect of the coverage differs from the original sources. Cloudflare announced its role in a statement portraying it as one of the external auditors, though not naming the second.
Signal specifies both entities: Cloudflare and the security firm Trail of Bits, with each signing the ledger independently. This distinction is more significant than it seems. The core principle behind the design is that no single entity can present one version of the log to one user while showing a different version to another. Having only one auditor would reintroduce the trust issues that the system aims to eliminate.
What the auditor can and cannot see
Cloudflare collects updates from Signal’s log and cryptographically verifies that each update is consistent with everything recorded prior. It then signs the update, which Signal delivers to users.
Thus, users can confirm that Signal is presenting them the same log shown to others. From there, they can check that the log contains the correct keys for themselves and their contacts. The auditor operates solely on cryptographic proofs and does not have access to phone numbers, usernames, public keys, or message contents.
Cloudflare developed the system using Rust on its own Workers platform, utilizing an append-only verification method from Meta’s open-source key directory library. It has been operating the same infrastructure for WhatsApp since September 2024 and publishes results on a public dashboard.
Meta’s encryption claims have undergone scrutiny elsewhere, including a lawsuit concerning WhatsApp privacy that was dismissed following a whistleblower's complaint.
It is more limited than the term automatic implies
Signal is refreshingly transparent about the limitations, which are essential to consider before declaring the issue resolved.
The system does not confirm who genuinely controls a phone number or username. It merely proves that the key belongs to that identifier, not that the identifier belongs to the person you assume it does.
Additionally, you need your contact’s phone number. If they only use username discovery, automatic verification will not be available. Furthermore, if a contact changes their number, the verification ceases to function. Signal advises users to follow up through a different, trusted channel, leading back to the coffee shop scenario.
Users can also disable this feature. As reported by BleepingComputer, the option is found in Settings under Privacy and then Advanced.
One company now audits both giants
Cloudflare is careful to present this as a standard rather than a product. Chief Technology Officer Dane Knecht described it as a progression, stating, “The web moved to encrypted connections by default with HTTPS. Messaging did the same with end-to-end encryption. Independent auditing is the logical next step: not just promising encryption, but making it provable.”
He is correct regarding the trend, and there is a question of concentration underlying it. Cloudflare now audits key transparency for both WhatsApp and Signal, the two largest end-to-end encrypted platforms globally. A company already managing significant web traffic and controlling access for AI crawlers is now also overseeing private messaging for billions.
Trail of Bits addresses potential concerns, serving as a solid counterbalance. The design remains robust even if Cloudflare were to act unethically, which is precisely the purpose.
Why
Other articles
Cloudflare and Trail of Bits are now reviewing the identities of those Signal claims you are communicating with.
Automatic key verification enables Signal users to confirm they possess the correct key, with Cloudflare and Trail of Bits serving as independent auditors of the log.
