VichUploaderBundle is a Symfony bundle for attaching uploaded files to Doctrine-managed entities (ORM, MongoDB ODM, PHPCR). In production, it listens to Doctrine lifecycle events, pulls UploadedFile objects from form-bound properties, runs them through configurable namers, stores them via pluggable storage backends (local filesystem, Flysystem, Gaufrette), and keeps file metadata in sync on the entity/embeddable. It also provides the vich_uploader_asset Twig function, VichFileType/VichImageType form widgets, and console commands for mapping introspection and orphaned-file cleanup. The core data flow is: HTTP upload -> form type -> UploadHandler -> namer -> storage -> Doctrine listener metadata -> Twig URL resolution. The bundle is interface-driven: StorageInterface, NamerInterface, DirectoryNamerInterface, MetadataReaderInterface, and AdapterInterface let integrators swap implementations. It is a library, not an application or data-research repo; the only data-like artifact is the cleanup command that reconciles stored files against database references. It remains actively maintained with support for modern Symfony (6.4-8.0) and PHP 8.3, though it still carries legacy Gaufrette support and a deprecated ConfigurableInterface for backward compatibility.