yakeing/php_jwsign
yakeing/php_jwsign is a lightweight PHP library for creating and verifying JSON Web Signature (JWS) tokens. It provides straightforward APIs for signing payloads, validating signatures, and adding JWS-based authentication or data integrity checks to PHP applications.
Adoption criteria are deliberately narrow, because the signals here are uniformly negative: archived repository, last release August 2019, ~35 stars, zero dependents, and a one-line description ("a class of data encryption and decryption") that doesn't specify supported algorithms, key types, or the JWS serializations it handles.
Consider it only when all of the following hold:
Signer/Verifier interface, and treat the underlying code as frozen.Look elsewhere in essentially every other case — and specifically when you need:
kid handling. Verify this yourself before assuming coverage — the README won't tell you.Viable replacements to evaluate: web-token/jwt-framework (most complete, algorithm-agile), firebase/php-jwt (simple, widely deployed), lcobucci/jwt (clean API, well-maintained). For new designs where you control both ends, consider PASETO or libsodium instead of JWS entirely. Whatever you pick, score it against the same checklist that disqualified this one: release recency, open advisories, algorithm support, dependents, and license.
License note: MPL-2.0 is file-level copyleft. Consuming it unmodified is fine for commercial products; any modifications to covered files must be published. Acceptable, but worth a legal line-item if forking is ever proposed — and forking an abandoned crypto library is a decision to own permanently.
For executives (30 seconds): We evaluated an open-source library for signing and verifying data — the mechanism behind API tokens and webhook authenticity. It has been archived by its author, last shipped in 2019, and has no meaningful user base. Using it would mean putting signature verification and key material on code nobody maintains and nobody patches. Signing is a solved, commodity problem; the cost of using a maintained library instead is negligible, and the cost of a signature-verification defect is not. Recommendation: do not adopt; standardize on a maintained alternative and add a dependency policy that blocks archived packages on security boundaries.
For engineering: The disqualifiers are structural, not fixable by us. Archived repo → no CVE response path. Last release 2019-08-06 → unverified against PHP 8.x and six years of crypto-library fixes. ~35 stars / 0 dependents → no ecosystem exercising it in production. Vague description → algorithm support, key handling, and serialization coverage are all undocumented and must be verified by reading source, which is a poor use of time when maintained alternatives exist. MPL-2.0 means any fork we create becomes a permanent maintenance obligation — avoid.
The ask: Approve a ~2–3 day switch to web-token/jwt-framework or firebase/php-jwt (choice depends on whether we need multi-algorithm and JWKS support), plus a written dependency guardrail. If this package is already in production, approve the containment-and-migration ticket separately so it doesn't sit on the risk register indefinitely.
How can I help you explore Laravel packages today?