Well, we don't have attachments right now...
For avatars, though, we currently use the Flysystem library to abstract filesystem access. And it just so happens that this library also offers drivers for accessing AWS S3 storage. So we actually had this in mind 😉
Our architecture will make it super easy to create an extension that replaces the default storage with one on S3. The only thing we still need to implement to make that possible is an abstraction that would allow us to generate URLs to these files based on their driver. I'll work on that. 🙂