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

Signed Url Bundle Laravel Package

zenstruck/signed-url-bundle

Symfony bundle for generating and validating tamper-proof signed URLs. Create URLs with optional expiration and validate them via a request listener, keeping downloads, password resets, and other sensitive actions secure and stateless.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature delivery: Enables time-limited, tamper-proof links — password resets, email verification, magic-login/one-click auth, invite and referral links, unsubscribe links, and temporary file/asset downloads — without hand-rolling crypto.
  • Roadmap: Unblocks "secure share" epics (shareable report/dashboard links, preview links for unpublished content, expiring download URLs) with a small dependency instead of a bespoke signing service.
  • Build vs. buy: Signing looks trivial (append an HMAC) but is easy to get wrong — expiry encoding, constant-time comparison, key rotation, URL canonicalization. Adopting a maintained library shifts that risk off the team.
  • Framework fit (key PM caveat): This is a Symfony bundle, not a Laravel package. For Laravel roadmaps, the equivalent decision is the framework-native URL::signedRoute() / URL::temporarySignedRoute() or spatie/laravel-url-signer. Treat v0.1.0 as a reference for the capability, and only adopt the package directly if the team is on Symfony.
  • Use cases: B2B SaaS share links, e-commerce download links, media/asset delivery, internal tooling with expiring access.

When to Consider This Package

  • Consider it if: you are on Symfony, need HMAC-signed URLs with optional expiry, and want configuration centralized rather than duplicated across controllers.
  • Maturity gate: v0.1.0 is an initial release. Before production use, review the source, check test coverage, confirm key-rotation and expiry behavior, and pin the version. Do not place it on critical auth paths without a code review.
  • Look elsewhere if:
    • You are on Laravel — use the built-in signed routes or spatie/laravel-url-signer.
    • You need claims, revocation, or audience/issuer semantics — use a JWT/token service.
    • You need CDN/object-storage signing — use S3 presigned URLs or CloudFront signed URLs.
    • You need fine-grained authorization — that belongs in policies/gates, not URL signing.
    • You require SLA-backed, battle-tested dependencies — wait for a more mature release.

How to Pitch It (Stakeholders)

  • Executives: A low-cost (MIT, OSS) way to ship secure, expiring share and reset links faster, with less custom-cryptography risk. The capability is the win; the specific library is a small, replaceable dependency.
  • Engineering: A drop-in Symfony bundle that centralizes signing configuration and is easy to test. Caveats to flag: it is v0.1.0 (young, limited production track record) and it is Symfony-only — Laravel teams should use framework-native signed routes instead of adopting it directly.
  • Recommendation: Run a short spike. If Symfony, evaluate v0.1.0 behind a pinned version with a source review and added test coverage before any auth-critical use. If Laravel, implement the same capability with native signed routes and skip the dependency.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource