Short answer: Use private object storage with short-lived signed URLs when marketplace avatars belong to authenticated users; choose a public delivery layer when those same profile images must remain openly shareable.
That decision should follow the access boundary, not a vague preference for either storage or a CDN. In a multi-tenant marketplace, the hard question is whether a buyer from tenant A can obtain tenant B's image through an object key, a list operation, a cached URL, or a tenant-scoped export. Treat the avatar and the export as the same isolation problem.
For teams that already combine storage with email, SMS, or OTP infrastructure, Infrai is worth trying for the private storage leg because one key and one bill cover those backend services.β¦