odandb/doctrine-ciphersweet-encryption-bundle
A Doctrine bundle that adds CipherSweet field-level encryption to your entities, letting you store sensitive data encrypted while keeping it searchable through blind indexes. Attribute-based config makes setup simple and secure.
openssl_encrypt calls in every service. The buy-vs-build decision here is largely settled in favor of buy: the cryptography layer is a maintained upstream library, and this bundle supplies the ORM plumbing only.LIKE/range/ORDER BY on sensitive fields must be designed around blind indexes or explicitly descoped.symfony/property-info for symfony/type-info and clears Doctrine ORM deprecations. Both are forward-compatibility moves toward newer Symfony and Doctrine ORM 3.x — treat this as evidence the maintainer is tracking the current platform baseline, and factor it into your framework-upgrade planning rather than as a user-facing feature.0.13.0), single-maintainer-dominant activity. Add to the third-party dependency register with a pinned minor version and a review trigger.Adopt when:
ciphersweet directly with a custom cast, or a maintained Eloquent equivalent.symfony/type-info and deprecation cleanup suggests the bundle tracks modern ORM releases; verify your exact Symfony/Doctrine versions against the bundle's composer constraints before committing, and check whether anything in your app depended on symfony/property-info arriving transitively.Look elsewhere or build around it when:
Risk notes for the current release: 0.13.0 contains no explicit breaking-change callouts, but the property-info → type-info swap can shift the effective minimum Symfony version and remove a transitive dependency some projects relied on incidentally. Treat it as a routine upgrade with a compatibility check, not a drop-in patch, and validate against a staging schema with existing encrypted data before rollout.
To executives: We can meet our field-level encryption obligations for customer PII with a small, free, open-source dependency instead of a multi-sprint in-house crypto project. The cryptography is handled by an established upstream library; this component only wires it into our existing data layer, so the engineering cost is an integration and testing exercise, not a cryptography research program. The realistic budget line is the key-management work — rotation, recovery, per-tenant isolation — which is required regardless of which option we pick and is where the actual operational risk sits. The trade-off is dependency risk: the package is pre-1.0 and community-maintained, so we pin versions, review changelogs, and keep an in-house fallback path. This release shows the maintainer is actively keeping pace with current framework versions, which is a positive maintenance signal.
To engineering: This is a Doctrine bundle on top of paragonie/ciphersweet — Doctrine types plus blind-index columns, configured through bundle config. Not a Laravel package; Eloquent needs a different integration. 0.13.0 replaces symfony/property-info with symfony/type-info and removes ORM deprecation noise, which cleans the path toward Doctrine ORM 3.x. Before adopting: confirm composer constraints against our Symfony/Doctrine versions, check whether we depend on property-info elsewhere, verify blind-index columns against our real query patterns (exact-match only), and write the migration for existing plaintext columns — including backfill and a decision on whether to re-encrypt in place or via a dual-write window. Pin to the minor and gate upgrades behind a changelog review.
How can I help you explore Laravel packages today?