Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Url Encryptor Bundle Laravel Package

nzo/url-encryptor-bundle

Symfony bundle for encrypting and decrypting URL parameters, helping hide sensitive IDs and create tamper-resistant links. Integrates with Symfony routing so you can generate and resolve encrypted URLs with minimal configuration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature: opaque identifiers in URLs. Replacing sequential/guessable IDs (/invoice/1001) with encrypted, authenticated tokens. Directly reduces enumeration scraping and IDOR-style access — a security bug class that shows up in pen-test reports and bug bounties.
  • Feature: self-contained links. Email verification, password reset, magic-login, invitation, unsubscribe, and signed-download links where the payload (user ID, expiry, tenant) is carried in the URL rather than in server session state. This lets us drop session/staging tables and makes links work across app instances and stateless workers.
  • Privacy/compliance roadmap item. Keeps customer identifiers and emails out of URLs, browser history, Referer headers, CDN and access logs, and analytics tools — supports GDPR data-minimization and log-retention arguments.
  • Build vs. buy. This is a buy/wrap call, not a build call: authenticated encryption must never be hand-rolled, but the value is in the key-management and token-shape conventions around it, not the cipher. Treat the package as a thin, replaceable wrapper (libsodium/OpenSSL under the hood) behind an internal interface, not as platform architecture.
  • Use cases to prioritize: multi-tenant deep links, shareable-but-not-guessable report/dashboard links, redirect-state payloads, partner/affiliate reference codes.
  • Decision it should not drive: adopting a low-adoption dependency (98 stars, 0 dependents) as a strategic bet. That's a maintenance-risk decision, and it should be logged as such.

When to Consider This Package

Adopt when:

  • The service is Symfony — this is a Symfony bundle, not a Laravel package. Container wiring, config-based keys, and param-converter integration are the actual benefit.
  • You need round-trippable encryption (decrypt back to the original value), not just integrity. Hashing and HMAC signatures don't give you this.
  • You want authenticated encryption (confidentiality and tamper detection) rather than base64 or a bare signature.
  • Key configuration and rotation can live in framework config instead of bespoke bootstrap code.
  • The team accepts auditing and pinning a small, single-maintainer library.

Look elsewhere when:

  • Laravel. Use first-party encrypt()/decrypt(), Crypt::encryptString(), URL::signedRoute(), and temporarySignedRoute(). Zero new dependencies, first-party support, guaranteed upgrade path. Adding this bundle to a Laravel app is the wrong trade on every axis.
  • You need publicly verifiable tokens (third party validates without your secret) — use JWT/JWS or PASETO instead.
  • You need revocation, expiry enforcement at scale, or audit trails — that's a token store or an identity provider (Auth0, Cognito, Keycloak), not a cipher.
  • You need FIPS-validated crypto, KMS/HSM-backed keys, or a formal third-party security review — a 98-star, zero-dependent dependency will not clear procurement.
  • Key rotation and blast radius are unsolved. Symmetric encryption gives no forward secrecy: a leaked key exposes every token ever issued. If we can't commit to rotation and re-issuance, don't adopt.

Non-negotiables if adopted: pin the version, vendor or mirror the source, wrap it behind an internal TokenCodec interface, cap payload size (ciphertext inflates URLs), and keep decrypted values out of logs.

How to Pitch It (Stakeholders)

Executives: "A small, MIT-licensed library that turns IDs in URLs into unreadable, tamper-proof tokens. It closes an easy and embarrassing hole — anyone can walk /invoice/1001, /1002, /1003 and harvest customer data, and today those identifiers land in our analytics and CDN logs. This fixes it without changing the data model or standing up a new service. Cost is low, but it's a single-maintainer dependency, so we pin it and keep an exit to native framework crypto. Net: a cheap, contained win on a real privacy exposure — not a platform commitment."

Engineering: "It's a Symfony bundle wrapping authenticated symmetric encryption for URL parameters. On Laravel, don't take it — encrypt()/decrypt() plus signedRoute/temporarySignedRoute already does this and is first-party. Adopt it only in Symfony services where the alternative is hand-rolled crypto. Integration rules: put it behind an internal TokenCodec interface so we can swap to sodium or PASETO later; load keys from config/secret manager with a documented rotation path; reject oversized payloads; never log decrypted values; exclude encrypted URLs from analytics sampling. It's 98 stars with no dependents — treat it as audited vendor code, pin the version, and budget half a day to read the source before the first merge."

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator