styleci/storage
StyleCI Storage provides a simple, consistent abstraction for persisting and retrieving data across multiple backends. It integrates smoothly with Laravel and PHP applications, letting you swap storage drivers without changing your application code.
Illuminate\Filesystem, Flysystem adapters, the Cache facade, signed URLs). That means the capability is a thin adapter, likely a few hundred lines, which is well within our own maintenance budget.GrahamDeprecated namespace, this is a data point for our dependency policy — we should have a written rule that security-adjacent components cannot be sourced from unmaintained packages.Adopt only if all of the following are true:
Look elsewhere in essentially every other case:
league/flysystem-cached-adapter for the caching half, S3/GCS server-side encryption or Illuminate\Encryption for the secure half, and Laravel's signed URLs for access control.spatie/laravel-medialibrary for media with conversions, or a managed object store with bucket-level encryption and lifecycle policies — which removes the code entirely.To executives: We evaluated a PHP package for secure, cached file storage. Recommendation: do not adopt. It is effectively abandoned — no community, no dependents, published under a deprecated namespace — and it sits in a security-sensitive part of the stack where an unmaintained dependency is an unacceptable liability. The underlying capability is small and already well-supported by Laravel's own storage layer plus our cloud provider's encryption, so we can deliver the same outcome in-house at low cost and keep full control of the security posture. Net: no licensing spend, no vendor lock-in, modest engineering effort, materially lower risk.
To engineering: Treat this as a pattern reference only, not a dependency. The concept — a filesystem disk wrapped with a cache layer and access control — is a thin adapter over Laravel's Storage facade and Flysystem. Action: a short spike to (a) pick an encryption boundary (driver vs. Flysystem vs. bucket-level SSE-KMS), (b) confirm cache invalidation semantics for uploads and deletes, and (c) size the adapter work. Expect this to be days, not weeks, and to produce code we own outright.
How can I help you explore Laravel packages today?