Here is the data. On [date], three code repositories vanished from GitHub within three hours. Not a hack, not a DMCA claim, not a bug. A direct order from the Indian government. The target: Bitchat, a messaging application publicly associated with Jack Dorsey. The stated reason: the app was used for communication after internet shutdowns during protests. No prior warning. No appeal window. Three hours. That is the speed of regulatory execution when a government decides a piece of open-source code is a threat.
This is not a story about censorship. It is a story about structural dependence. If you are building a decentralized application but your code lives on a centralized hosting platform, you have already failed the first test of resilience. I have spent years auditing smart contracts and watching protocols collapse not because the code was broken, but because the distribution channel was fragile. This event is a textbook example of that failure mode.
Context: Bitchat and the Indian Internet
Bitchat is a decentralized messaging platform, reportedly developed with or under the influence of Jack Dorsey—the same person behind Twitter and the decentralized protocol Bluesky. The app targets use cases where traditional communication tools are blocked: protests, internet blackouts, authoritarian surveillance. India has a history of internet shutdowns, especially in regions like Jammu and Kashmir and during farmer protests. In this environment, any tool that enables peer-to-peer messaging without a central server becomes a target.

The Indian government invoked powers under the Information Technology Act, likely Section 69A, which allows content blocking in the interest of sovereignty or public order. The order was sent to GitHub, an American company, demanding the removal of three repositories: the main Bitchat codebase, a related library, and a documentation repo. GitHub complied within hours. No legal challenge. No public statement from Dorsey or the Bitchat team—at least not immediately.
This is where the structural analysis begins. A decentralized app that cannot defend its own code distribution is not decentralized. It is a sandcastle.
Core: The Single Point of Failure in Open-Source Distribution
Let me be very clear on the mechanics. Bitchat, if it is truly a peer-to-peer messaging app, does not require a centralized server to operate. Users run their own nodes. Messages are routed through a distributed network. The code itself is the only critical asset. If the code is gone, new users cannot download it, existing users cannot update, and developers cannot contribute. The entire project is frozen.
GitHub is not the only place to host code. But it is the default. It is the path of least resistance for discovery, collaboration, and issue tracking. The problem is that GitHub is a single company subject to the laws of the United States and any foreign jurisdiction with enough leverage. When India sends a request, GitHub must decide: comply and risk alienating the developer community, or resist and face legal consequences. In practice, compliance is nearly always the easier choice.
This is a second-order structural failure. The Bitchat team chose a distribution channel that could be attacked through law rather than through code. The Indian government did not hack the repository. They did not force-push a malicious commit. They sent a letter. That letter had more power than any exploit.
Based on my own experience auditing smart contracts, I have seen teams spend months on cryptographic security—secure multi-party computation, zero-knowledge proofs, formal verification—while storing their deployment scripts on a private GitHub repo. It is a common blind spot. Security is not just about the runtime. It is about the entire lifecycle: development, testing, distribution, upgrade. If any part of that lifecycle relies on a centralized intermediary, the whole system is vulnerable.
For Bitchat, the immediate impact is clear. New users in India cannot download the app from the official source. Existing users cannot verify they have the latest code. Developers cannot submit pull requests. The project's momentum stalls. But the deeper impact is on the broader Web3 ecosystem. Every project with a GitHub repository should ask themselves: What happens if my repo is removed? Do I have a mirror on Radicle? On IPFS via a pinned CID? On a Git server I control?
Trust is a variable I solve for, never assume. Here, trust was placed in GitHub's legal team to handle takedown requests. That trust was misplaced.

Contrarian: This Takedown Is a Net Positive for the Ecosystem
Now for the angle that most commentators will miss. This event is not a tragedy. It is a gift. It happened early, to a relatively small project, during a predictable political flashpoint. The Bitchat team now has a clear decision to make: either migrate to a censorship-resistant hosting platform, or prove that their app is not truly decentralized. Either way, the ecosystem learns something.
If they migrate—to something like Radicle, which uses Git over a P2P network, or to a simple IPFS-hosted static site with a torrent of the codebase—they will have proven that resilience is more than a buzzword. They will have shown that the project can survive a legal attack. If they do nothing, if they whine about censorship but keep their code on GitHub, then they are a marketing project, not a technical one.
Speculation is gambling with a spreadsheet. This is not a speculation event. It is a stress test. And stress tests, by definition, reveal weak points. The weak point here is the distribution layer. The fix is straightforward: fork, mirror, and decentralize. Every project should do this before the letter arrives.
Furthermore, the Indian government's action creates a legal precedent. It signals that code repositories are fair game for censorship. This will accelerate the adoption of decentralized version control. Radicle already saw a spike in interest after the tweet about the takedown. Arweave's permanent storage becomes more valuable. The regulatory overreach will inadvertently drive the very infrastructure that makes future takedowns ineffective.
Takeaway: The Market Does Not Owe You an Exit, Only a Price
I trade the structure, not the story. The structure of Bitchat is now exposed as fragile. The price of that fragility is the trust of its user base and the momentum of its development. The market—in this case, the market of ideas and adoption—will price that fragility. Either the team adapts, or the project fades.
For the rest of us, the lesson is immutable. If you are building a decentralized application, your code must be hosted on a platform that is not controlled by a single government or corporation. Otherwise, your decentralization is a fiction, and your project is one letter away from disappearing.
Security is not a feature; it is the foundation. And a foundation built on a third-party server does not hold.