gree/jose
gree/jose is a PHP JOSE library for securely signing and encrypting data with JWS and JWE. It supports JWK key management and JWT workflows, making it useful for token-based authentication and interoperable JSON security in PHP applications.
JOSE (JWT, JWS, JWE, JWK) is the plumbing under nearly every modern authentication and API-authorization story. A PM rarely buys a JOSE library directly, but it silently underpins decisions like:
jwks.json endpoint for partners.The PM-relevant output of evaluating this package is a risk-and-roadmap decision, not a feature. The package itself delivers capability; the decision it informs is "what identity features are safe to commit to on this stack, and at what maintenance cost?"
Reasonable to consider only when most of these are true:
gree/jose, and the question is whether to keep it for now — not whether to adopt it fresh.Serious adoption blockers — treat each as a gate, not a footnote:
| Signal | Why a PM should care |
|---|---|
| Archived: yes | No upstream security patches. In a security-critical dependency, this is a standing liability on the roadmap, not a code-quality nit. |
| License: NOASSERTION | License is not machine-verifiable from metadata. Shipping this into a commercial or redistributed product without legal review is an avoidable legal risk. |
| ~139 stars, single-maintainer profile | Bus-factor and community-support risk. No vendor to escalate to. |
| Low overall score (~2.8) | Weak signal on maintenance health and ecosystem momentum relative to peers. |
Look elsewhere when: you are starting greenfield, you need long-term support, or you have no appetite for owning a crypto fork. Mature PHP alternatives exist and cover JWS/JWT/JWK well — lcobucci/jwt, firebase/php-jwt, and web-token/jwt-library (formerly web-token/jwt-framework, which also handles JWE) are the standard comparison set. The honest default recommendation for new work is: evaluate those first, and only land on gree/jose if JWE coverage or an existing dependency forces it.
For executives — one paragraph:
We're assessing a PHP library that handles the token formats behind login, API access, and partner integrations. It's capable and covers encrypted tokens, which not every alternative does, but it is no longer maintained upstream and its license isn't automatically verifiable. That means no security patches and a legal review before we ship it. My recommendation is not to adopt it for new work; if it's already in the codebase, we should scope a migration and put it on the risk register with a named owner. Cost of migration is a bounded engineering task; cost of an unpatched auth library is an incident.
For engineering — the ask:
TokenService interface, pin the version, add test vectors for signing/verification/encryption, and document the fork/patch procedure.Framing that lands with both audiences: this is not "is the library good?" — it's "how much of our identity roadmap are we willing to build on a dependency nobody is patching?" That reframes a technical evaluation as a risk-appetite decision, which is the PM's actual job here.
How can I help you explore Laravel packages today?