Shipyard, the team maintaining Kubo and much of the software and public infrastructure around IPFS, will stop its IPFS work on September 30, 2026. Protocol Labs did not renew the team's funding. Shipyard says it will no longer provide dedicated maintenance for Kubo, Helia, Boxo, Rainbow, IPFS Desktop, IPFS Companion, or several related services after that date. It will also stop operating public infrastructure that includes ipfs.io, dweb.link, delegated routing, network bootstrap nodes, AutoTLS registration, and IPFS Check.
That is not the same as switching off the IPFS protocol. The repositories were active, current public endpoints were responding, and recent releases were available when checked on August 25. The immediate risk is less dramatic and more operational: an unusually large maintenance and infrastructure boundary is losing its current operator before a successor and transition plan have been published.
The OpenSourceChoice verdict is therefore split. Existing Kubo operators should upgrade exposed nodes to 0.43.0 promptly because it contains important denial-of-service fixes, then freeze discretionary changes and audit every external dependency. New production adopters should pause until release ownership, security response, signing authority, and public-infrastructure stewardship are named and demonstrated after September 30.
This is a researched technical analysis of official announcements, repositories, release notes, security advisories, configuration documentation, and public project state observed on August 25, 2026. OpenSourceChoice did not install Kubo, run a private IPFS network, benchmark retrieval, or perform a failure drill. Maintainer statements and our editorial conclusions are identified separately.
Executive verdict
| Question | OpenSourceChoice assessment |
|---|---|
| Best fit today | Existing teams that require IPFS interoperability, control their own nodes and gateways, retain the underlying data, and can own routing, monitoring, incident response, and migration |
| Poor fit today | New teams expecting a durable public gateway, a managed persistence guarantee, or a low-operations replacement for object storage |
| Why this matters now | Shipyard's IPFS work ends September 30 without a published successor for the maintenance and infrastructure scope it currently covers |
| Immediate action | Upgrade exposed Kubo nodes to 0.43.0, inventory external endpoints and pinning, preserve CAR or source data, and test operation without Shipyard-run services |
| Real adoption cost | Node resources, replicated storage, bandwidth, abuse controls, gateway operations, observability, security response, and an independent recovery path |
| Main risk | Operator and security-maintenance continuity, amplified by hidden dependencies on public bootstrap, routing, gateway, AutoConf, AutoTLS, and telemetry services |
| Parallel alternative | Test ordinary S3-compatible object storage when application-controlled blob delivery matters more than public content-addressed interoperability |
| Adoption gate | Named maintainers, a documented release and signing process, a functioning security contact, explicit service owners, and a successful dependency-loss drill |
Why this matters now
Shipyard published its exit announcement on August 24. The scope is wider than one repository. The company identifies Kubo, Helia, Boxo, Rainbow, desktop and browser clients, delegated routing components, gateway software, and go/js-libp2p contributions among the work losing dedicated Shipyard maintenance. It also lists public services whose operation it will cease on September 30. Protocol Labs owns the relevant domains and infrastructure and, according to Shipyard, will determine their future.
The announcement immediately became the leading Hacker News discussion when observed on August 25, reaching 335 points and 165 comments. A separate discussion appeared in the IPFS community on Reddit. Those are independent attention signals, not evidence about the software's technical state. The primary evidence is the maintainer's dated announcement, the current release history, repository activity, configuration defaults, and security advisories.
This is also a security-timing issue. Kubo 0.43.0 shipped on August 3 with several resource-exhaustion fixes. A high-severity Kubo advisory published on August 11 says versions before 0.43.0 can be terminated or driven into memory exhaustion by an unauthenticated remote peer sending a malformed block. The advisory identifies upgrading as the only complete mitigation. Shipyard then described 0.43 as the final Kubo release containing its new feature work, with security and bug-fix support only through September 30.
The combination is what creates the editorial urgency: a current stable release needs adoption for security reasons, while confidence in the release after it depends on a maintenance transition that has not yet been documented.
What is ending—and what is not
IPFS is a set of protocols and data formats for identifying and moving content, not a single cloud service. A CID is derived from content. Nodes can retrieve blocks from peers, verify that received bytes match the requested identifier, and serve content through IPFS-aware clients or HTTP gateways. Kubo is the main Go implementation; Helia provides a JavaScript implementation; Boxo supplies reusable Go libraries; libp2p provides networking components.
Shipyard is ending its funded maintenance and operational role. It is not revoking existing open-source licenses, changing existing CIDs, deleting every third-party node, or making locally retained blocks unreadable on September 30. Repositories remained unarchived and showed recent releases and commits when checked. Kubo's latest commit on August 25 removed an individual Shipyard maintainer from a specific CODEOWNERS entry while retaining the @ipfs/kubo-maintainers team as the default owner. That is evidence of an active transition, not proof that the transition has succeeded.
The distinction prevents two bad decisions:
- Panic migration: abandoning a functioning, self-controlled deployment before mapping data, clients, and exit paths can create more risk than the announcement itself.
- Passive waiting: assuming the protocol's openness guarantees continued patching, release signing, routing infrastructure, or gateway availability ignores the work an operator must actually perform.
The code can remain available while operational assurance declines. A license permits a fork; it does not appoint maintainers, transfer credentials, staff an embargoed vulnerability response, pay infrastructure bills, or keep a public endpoint within an availability objective.
The dependency map most teams need to audit
A nominally self-hosted Kubo node can still consume shared services by default. Kubo's current configuration documentation identifies an AutoConf manifest at https://conf.ipfs-mainnet.org/autoconf.json. The manifest supplies bootstrap peers, DNS resolver information, delegated routing endpoints, and IPNS publishing settings. Kubo caches the manifest and includes fallback bootstrap addresses, but that does not make every dependent workflow independent of its operator.
Current configuration and Shipyard's announcement expose at least six continuity boundaries:
- Bootstrap: a new or isolated node needs known peers. Shipyard lists public bootstrap nodes among the services it will stop operating.
- Delegated routing: clients and gateways may query
delegated-ipfs.devrather than performing every lookup themselves. - Public gateways:
ipfs.ioanddweb.linkconvert IPFS retrieval into ordinary HTTPS, but are best-effort shared infrastructure rather than an application SLA. - AutoConf and DNS: centrally published network defaults influence how software discovers and uses the network.
- AutoTLS: Kubo's direct-connectivity feature can use public registration infrastructure operated by Shipyard.
- Telemetry: Kubo telemetry is documented as enabled by default and currently points to
telemetry.ipshipyard.dev; operators can disable it withIPFS_TELEMETRY=offorDO_NOT_TRACK=1.
All five public endpoints we probed—ipfs.io, dweb.link, IPFS Check, the mainnet AutoConf manifest, and the libp2p direct-registration health endpoint—responded on August 25. That observation is intentionally narrow. It proves they were reachable during the check, not that they have a post-September operator, support commitment, or future availability.
An inventory should therefore record the endpoint, why it is used, which component calls it, the current owner, the authentication and privacy implications, the failure behavior, and the replacement. Searching only application source code is insufficient; operators must inspect Kubo configuration, container environment, reverse proxies, DNS, browser integrations, deployment templates, and monitoring.
Current software and security state
Kubo 0.43.0 is the current stable release. Official installation documentation provides binaries for Windows, macOS, Linux, FreeBSD, and OpenBSD, while the project repository documents the ipfs/kubo:v0.43.0 container image. Preview container tags are explicitly not intended for production.
The release fixes multiple denial-of-service paths across pubsub, WebTransport, HTTP/3, tracing, and libp2p resource handling. The most concrete Kubo advisory, GHSA-jrj5-c86r-47x2, affects all versions before 0.43.0. An unauthenticated remote peer can send a malformed block that triggers process termination or memory exhaustion. Configuration workarounds can reduce exposure, but the advisory says only the upgrade fully addresses the issue.
That leads to a deliberate sequence for existing operators:
- back up configuration, identity, pin metadata, and the underlying content;
- validate 0.43.0 against a representative node or staging copy;
- upgrade internet-exposed nodes promptly;
- confirm routing, pin availability, gateway behavior, and resource ceilings;
- pin the version and avoid unrelated topology changes until the maintenance transition is clear.
Freezing at an older version would misunderstand the risk. The continuity concern is real, but remaining on a known vulnerable build is not a safer response.
Other core components were current at observation time. Helia 7.1.10 was released August 22, Boxo 0.42.2 on August 17, Rainbow 1.24.1 on August 17, IPFS Desktop 0.50.0 on August 3, and IPFS Companion 3.4.0 on July 21. These dates show recent engineering activity. They do not establish who will review, release, and support the next security fix.
Kubo's security page still directs reports to a human-maintained email address and lists current advisories. Before production adoption, a team should verify that the contact acknowledges a test report after the transition, that an embargoed-response group exists, that release signing authority is documented, and that downstream packages can receive a fix. A static SECURITY.md without a responding team is not an incident-response process.
Persistence is an operator responsibility
Content addressing verifies what was retrieved. It does not guarantee that someone will continue storing or serving it.
The official IPFS persistence documentation is explicit: content must be pinned on one or more IPFS nodes to remain available, and third-party storage services can disappear. A CID can survive in a database while its blocks no longer exist on reachable peers. Filecoin can add contracted storage, but it is a separate system and does not replace an IPFS gateway, local retrieval design, or application availability plan.
For critical data, retain at least:
- the canonical source objects outside the node repository;
- an exportable CAR representation when appropriate;
- two independently operated storage or pinning locations;
- a verified list of root CIDs and recursive reachability expectations;
- a periodic retrieval test from outside the primary network;
- a restore procedure that creates a new node from retained data rather than trusting the old datastore alone.
Portability is strongest at the content layer. If the bytes and CID parameters are retained, another compatible implementation can verify the same content. Application portability is harder. IPNS names, peer identities, delegated-routing assumptions, gateway URLs, pinning APIs, DNSLink records, browser behavior, and operational scripts can bind a deployment to a particular implementation or service. Treat each as a separate migration object.
The real operational cost
The command-line installation page lists a practical Kubo starting point of two CPU cores and 6 GiB of memory. It also notes that repository storage and egress grow with the content the node stores and serves. That resource floor is only the visible part of the cost.
A production operator also owns:
- replicated storage and integrity checks;
- internet bandwidth and potentially unpredictable gateway egress;
- connection, file-descriptor, memory, and block-size limits;
- reverse proxying, TLS, logging, metrics, alerts, and upgrades;
- abuse reports, illegal-content procedures, rate limiting, and deny policies;
- bootstrap and routing reliability;
- backups for configuration, identity, pins, and original data;
- on-call response for both application incidents and upstream vulnerabilities.
An open recursive gateway is especially expensive. Kubo's gateway documentation warns about resource abuse and content-management obligations. A gateway serving only operator-controlled content can use Gateway.NoFetch=true so requests cannot cause retrieval of arbitrary network content. That is a useful boundary, but it changes the product: it becomes a verifiable HTTP delivery service for content already on that node, not a general entrance to the public IPFS network.
The Kubo RPC API is a separate and more dangerous surface. It controls the node and must not be exposed to untrusted networks. Put it on loopback or a private management network, authenticate at an appropriate proxy if remote administration is unavoidable, and test that public gateway routes cannot reach it.
Privacy and data-flow limits
IPFS transport encryption protects peer-to-peer connections, not the confidentiality of published content. Official privacy documentation says CIDs, PeerIDs, and provider information can be visible to network participants. A recipient that learns a CID can request the corresponding public content; the CID itself is not an access-control token.
Sensitive content must be encrypted before it is added, with keys distributed through a separate access-control system. Even then, metadata such as object size, retrieval timing, peer identity, and provider announcements can remain observable. A private IPFS network can narrow participation, but introduces its own membership, bootstrap, key-distribution, and availability obligations.
The August transition adds a data-governance question: which default services receive node or request metadata, and who will operate them next? Teams should decide explicitly whether telemetry is appropriate, where delegated-routing queries go, which gateway sees client IP addresses, and how logs are retained. Replacing one endpoint with another without updating the data-flow register is not a completed migration.
License, governance, and bus-factor reality
Kubo's license file distinguishes older and newer contributions. Code originally contributed before May 6, 2019 remains MIT-licensed; later contributions are offered under MIT or Apache 2.0. Helia is similarly published under permissive open-source terms. Those licenses support continued use, audit, modification, and forks, including commercial work subject to the relevant notices and terms.
The practical governance question is not whether a fork is legally possible. It is whether a credible group has accepted the work: triage, reviews, coordinated disclosure, release notes, reproducible artifacts, signatures, dependency updates, interoperability testing, documentation, and public-service operations.
It would be irresponsible to assign a numeric bus factor from public contribution counts alone. Shipyard's announcement does establish concentration: one funded team names a broad set of core repositories and shared services that it currently maintains. The August 25 CODEOWNERS change confirms individual ownership is already moving. Until named successors publish their scope, the responsible classification is transitioning governance with unproven post-transition capacity, not abandoned software and not business as usual.
Existing deployment versus new adoption
Existing deployments
Stay temporarily if IPFS interoperability is materially valuable, the deployment already controls its data and gateway, and the team can complete a continuity drill before September 30. Upgrade to 0.43.0, remove reliance on public gateway URLs from critical paths, and create an exit plan while the current maintainers are still available to answer transition questions.
Start migration now if the application cannot operate without Shipyard-run endpoints, no one owns node security, original data is not retained elsewhere, or the deployment assumed that a CID provided durability. These are structural failures, not reasons to wait for a new logo on the maintenance team.
New deployments
Pause production adoption. A lab evaluation remains reasonable because the code and formats are available, but set a short expiration date and avoid building irreversible dependencies. Require a named post-September maintenance group, working security intake, documented release credentials, and clear ownership for every shared service the design uses.
For a new application whose core requirement is controlled blob storage and HTTPS delivery, IPFS now adds a governance transition without necessarily adding user value. Start with ordinary object storage unless cross-organization content verification, public CID compatibility, offline transfer, or peer-to-peer retrieval is a tested product requirement.
Alternatives to evaluate in parallel
| Requirement | Candidate | Advantage | Migration cost or limitation |
|---|---|---|---|
| Preserve IPFS compatibility | Kubo 0.43 with self-controlled gateway, bootstrap fallback, and retained content | Keeps CIDs, APIs, and network interoperability | Your team assumes more infrastructure and security ownership while governance changes |
| Application-controlled blobs | SeaweedFS or another S3-compatible self-hosted store | Familiar permissions, replication, lifecycle, and HTTP integration | No public IPFS routing, IPNS, or native CID-based interoperability |
| App-native peer-to-peer transfer | Iroh | Content-addressed transfer with an application-oriented API and active Rust ecosystem | Not an IPFS-compatible drop-in; identities, APIs, routing, and clients must change |
| Durable storage contracts | Filecoin plus an independent retrieval path | Adds economic storage commitments for selected data | Does not replace Kubo, gateway availability, client integration, or recovery testing |
Do not select an alternative because it is newer or currently fashionable. Re-run the same governance, security, persistence, privacy, and operator-cost analysis. The transition is an opportunity to clarify the actual requirement, not merely to exchange one dependency graph for another.
A practical continuity drill before September 30
Days 1–3: establish the inventory
Record every node and client version, root CID, pinning location, gateway hostname, DNSLink record, bootstrap peer, delegated-routing endpoint, AutoConf behavior, AutoTLS dependency, telemetry setting, container tag, package source, and security contact. Identify which entries are defaults rather than deliberate choices.
Export or reconstruct critical content outside the running node. Verify that retained objects generate the expected CIDs. Save configuration and identity material through the team's normal secret and backup controls; do not place private keys in the article's runbook or source repository.
Days 4–10: patch and reduce dependency
Upgrade a representative node to Kubo 0.43.0, then roll out with a rollback point. Move production links from shared public gateways to a controlled hostname. For an own-content gateway, evaluate Gateway.NoFetch=true, rate limits, resource ceilings, and an abuse policy. Confirm that the RPC API is unreachable from the public internet.
Create at least one storage copy outside the primary node. Preserve source objects or CAR files and verify retrieval from that independent copy.
Days 11–20: simulate service loss
In an isolated test environment, make the Shipyard-run public gateways, AutoConf URL, delegated-routing endpoint, and AutoTLS registration unavailable. Do not disrupt the public services themselves. Start a node with documented bootstrap fallbacks, retrieve representative content through the controlled gateway and direct peers, publish and resolve required names, and measure recovery time.
The test passes only if the team can explain every remaining external request and can restore service from retained data. A cached response on a warm node is not proof of cold-start continuity.
Days 21–30: prove reversibility
Dual-publish critical application assets through a conventional origin or other selected alternative. Put the switch behind DNS or application configuration that can be rolled back. Test a client with IPFS unavailable and verify that integrity, access control, caching, and observability still meet requirements.
Set written decision gates for October:
- a named maintainer group owns each adopted repository;
- security reports receive a human acknowledgment within the team's required window;
- release creation, signing, and artifact publication are documented;
- each shared endpoint has a named operator and status channel;
- critical content remains retrievable after the dependency-loss drill;
- a tested alternative can serve the workload within the recovery objective.
If those gates fail, execute the migration rather than extending an indefinite pilot.
Final recommendation
IPFS remains technically useful when verifiable, content-addressed interoperability is the requirement and the operator is prepared to own storage, routing, gateways, and recovery. Shipyard's exit does not invalidate that architecture. It reveals how much of the convenient production experience depended on a funded team and a set of shared services.
Existing operators should treat August 25 through September 30 as a controlled transition window: patch Kubo to 0.43.0, make hidden dependencies explicit, retain the data independently, and run a cold-start failure drill. New adopters should wait for evidence of post-transition maintenance rather than accepting a promise that open code will organize itself.
The decisive question is not “Will IPFS still exist?” It is: Can this specific application remain secure, retrievable, and reversible when every Shipyard-operated dependency is unavailable? Adopt only when the answer has been demonstrated.
Sources and verification notes
Primary sources:
- The End of IPFS at Shipyard — Shipyard, published August 24, 2026; maintenance scope, funding change, September 30 end date, and infrastructure handoff. Accessed August 25, 2026.
- Kubo v0.43.0 release notes — IPFS Kubo maintainers, released August 3, 2026; current stable version, security fixes, and Shipyard maintenance note. Accessed August 25, 2026.
- Kubo malformed-block denial-of-service advisory — GitHub Security Advisory, published August 11, 2026; affects Kubo before 0.43.0. Accessed August 25, 2026.
- Kubo security policy and advisories — current reporting route and advisory list. Accessed August 25, 2026.
- Kubo installation documentation — IPFS Docs; current packages, supported operating systems, and resource guidance for Kubo 0.43.0. Accessed August 25, 2026.
- Kubo configuration reference — current AutoConf, delegated routing, AutoTLS, bootstrap, gateway, and API settings. Accessed August 25, 2026.
- IPFS mainnet AutoConf manifest — current bootstrap and delegated service configuration. Accessed August 25, 2026.
- Kubo telemetry documentation — current default endpoint and opt-out controls. Accessed August 25, 2026.
- Kubo gateway documentation — gateway modes, abuse considerations,
NoFetch, and RPC boundary. Accessed August 25, 2026. - Replace public gateways with a self-hosted gateway — IPFS Docs; public-gateway limitations and self-hosting patterns. Accessed August 25, 2026.
- IPFS persistence — IPFS Docs; pinning, availability, third-party services, and Filecoin distinction. Accessed August 25, 2026.
- IPFS privacy and encryption — IPFS Docs; public metadata and content-encryption responsibilities. Accessed August 25, 2026.
- Trustless Gateway specification — IPFS Specifications; verifiable HTTP retrieval model. Accessed August 25, 2026.
- Kubo license — MIT-only terms for older contributions and MIT/Apache-2.0 choice for later contributions. Accessed August 25, 2026.
- Kubo CODEOWNERS transition commit — IPFS Kubo repository, committed August 25, 2026; individual ownership removed while the maintainer team remains. Accessed August 25, 2026.
- Helia releases — current JavaScript implementation release history; Helia 7.1.10 observed August 22, 2026. Accessed August 25, 2026.
- Boxo v0.42.2 — current Go component release, August 17, 2026. Accessed August 25, 2026.
- Rainbow v1.24.1 — current delegated-routing release, August 17, 2026. Accessed August 25, 2026.
- IPFS Desktop v0.50.0 — current desktop-client release, August 3, 2026. Accessed August 25, 2026.
- IPFS Companion v3.4.0 — current browser-extension release, July 21, 2026. Accessed August 25, 2026.
- SeaweedFS repository — official S3-compatible distributed-storage implementation and documentation. Accessed August 25, 2026.
- Iroh documentation — official content-addressed peer-to-peer application documentation. Accessed August 25, 2026.
- Filecoin overview — official distinction between the storage network and retrieval/application layers. Accessed August 25, 2026.
Trend and community context:
- Shipyard IPFS maintenance announcement discussion — Hacker News, observed August 25, 2026; used only as an independent attention signal.
- Protocol Labs defunded IPFS maintenance team discussion — r/ipfs, observed August 25, 2026; used only as community context, not technical evidence.
Dynamic repository versions, commits, endpoint responses, and discussion counts in this analysis are observations from August 25, 2026. They should be rechecked before an adoption decision.
Build a stack for this use case.
Answer nine practical questions and compare three transparent architectures with costs, free limits, lock-in, and migration paths.
Build my stack


