I read the November 6 announcement of PyPI’s redesigned project pages with some concern about the implications for projects that don’t use one of PyPI’s approved Trusted Publishing providers.
I appreciate the work to improve package security and make provenance information more accessible. However, the new interface gives greater visibility to positive provenance indicators and introduces prominent warnings about missing or changed provenance. This raises a question:
Should PyPI present stronger security signals for publishing workflows that only a limited set of approved infrastructure providers can currently support?
I’m aware of the ongoing efforts to expand the pool of supported Trusted Publishers, including the specific request to support Codeberg. I also appreciate the legitimate security concerns involved in deciding which identity providers PyPI can trust. I don’t mean to minimize those concerns or suggest that PyPI is deliberately favoring commercial providers. Nevertheless, I had assumed that the limitations on supported providers would be substantially addressed before PyPI introduced more prominent security indicators that favor workflows using those providers.
For example, a project migrating from GitHub Actions to Codeberg could acquire a “Loss of Provenance” warning, not because its maintainers had adopted an inherently less trustworthy development process, but because PyPI doesn’t yet support their chosen infrastructure.
There are also legitimate reasons to use local publishing workflows rather than hosted CI/CD. As Glyph explains in this recent discussion, different projects have different threat models, and some maintainers deliberately prefer locally secured release credentials and explicit user confirmation.
I recognize that attestations provide meaningful, independently verifiable information about package origins. But they don’t establish that the code itself is safe, and their absence doesn’t necessarily imply a less secure publishing process.
I was particularly interested in Donald Stufft’s comments in March, explaining that Trusted Publishing and attestations had deliberately been presented neutrally in the UI to avoid creating community pressure to use particular platforms. That seems directly relevant to the recent changes.
I also appreciate William Woodruff’s recent clarification that PyPI has no intention of requiring attestations. However, the way PyPI presents security information could make attestations a de facto requirement, even if they remain officially optional.
My concern is that PyPI may unintentionally create a two-tier system in which projects using approved, predominantly commercial infrastructure receive stronger positive security signals, while projects committed to independent infrastructure or alternative release-security practices are placed at a disadvantage.
I’m curious whether these implications were considered when designing the new interface, particularly given the still-limited pool of supported providers.
Was there a change in thinking about the earlier decision to present attestations neutrally? And might there be ways to communicate the availability and limitations of provenance information without implying that projects lacking PyPI-supported attestations are necessarily less trustworthy?

