gdbots/crypto-bundle
Symfony bundle that integrates Gdbots crypto services into your PHP application, providing configuration and dependency injection for encryption, signing, and key management. Simplifies wiring secure crypto components and related services.
defuse/php-encryption injectable through Symfony's DI container and configurable (active key, legacy decrypt-only keys). v5.0.0 does not change that job; it only raises the platform floor.defuse/php-encryption, an independently maintained library. This bundle is a thin configuration layer. v5.0.0 sharpens the answer: the wrapper now imposes a Symfony 8.x + PHP 8.5 constraint in exchange for ~30 lines of service wiring, which pushes the trade decisively toward "write the wiring ourselves."base64(openssl_encrypt(...)). Note that the evidence value lives in defuse/php-encryption, not in this bundle — so the compliance argument survives dropping the wrapper.Illuminate\Encryption\Encrypter covers it, and Laravel's Symfony component constraints make a Symfony 8.x bundle an outright Composer conflict). For a Symfony product on 6.x/7.x LTS, v5.0.0 is not installable, so adoption means pinning to 4.x with no stated backport or security-fix policy.Consider it when:
defuse/php-encryption's properties: authenticated ciphertext, a self-describing versioned format, explicit key separation, no nonce-reuse footguns.Look elsewhere when:
Crypt::encryptString() or the encrypted cast. v5.0.0 widens the gap: requiring Symfony 8.x means this cannot coexist cleanly in a Laravel dependency graph at all.aws/aws-encryption-sdk.Default recommendation (unchanged, now stronger): read the bundle's config, copy the ~30-line service definition, and depend on defuse/php-encryption directly. v5.0.0 makes this the clear default for anyone not already on Symfony 8.x/PHP 8.5: you keep the crypto, you keep your current framework and PHP versions, you drop the transitive bundle risk, and you own the key-handling code your auditors will actually ask about.
To executives: This is a small Apache-2.0 Symfony bundle that wires a reputable encryption library into an application's config. Its new v5.0.0 release is a breaking change with no new functionality — it only requires Symfony 8.x and PHP 8.5. Practically, that means it is now usable only by teams already on the newest framework and language versions; everyone else must pin to the older 4.x line with no stated support window. It remains cheap to evaluate and cheap to remove, and should still not be presented as a compliance solution on its own — the strategic value sits in the underlying library, not this wrapper. Given negligible community adoption, single-vendor maintenance, and a release cadence tied to the vendor's own upgrades, treat it as a pattern to borrow rather than a dependency to standardize on. Effort either way is under a day; the new constraint is a reason to borrow, not a reason to block anything.
To engineering: The bundle contributes DI wiring and key configuration over defuse/php-encryption; v5.0.0 changes only the floor to Symfony 8.x and PHP 8.5. On Symfony 8.x with container-managed keys and rotation, it's a reasonable shortcut. On Symfony 6/7 or PHP 8.2–8.4 it is not installable, and on Laravel Encrypter already covers this — do not introduce a Symfony bundle there, and expect Composer conflicts if you try. For a security-relevant dependency, an unpublishable-on-your-platform major bump with no backport policy is a reason to vendor the ~30-line service definition rather than constrain against it. Either path, settle three things before code: key custody (env vars vs. secrets manager), the rotation story, and exactly which columns are encrypted. The wrapper shouldn't be allowed to mask those design questions, and the version bump shouldn't be allowed to force a framework upgrade on its schedule.
How can I help you explore Laravel packages today?