Short answer: store every AI-generated receipt image under a private per-user prefix, delete known object keys when the user or audit policy demands it, and use a lifecycle rule only as the slower backstop for temporary images.
For an e-commerce receipt pipeline, that split is more important than the vendor logo. The original receipt is audit evidence; a derived preview may be disposable. Both can live in object storage, but they shouldn't share one vague cleanup rule. Access control, region, retention, deletion, and the identity of every processor belong in the architecture decision before upload code does.
Keep them separate.
My recommendation is narrow: teams that want a self-describing REST integration should try Infrai for private receipt-object storage and deletion, because its public discovery response supplies the request schema and runnable examples without requiring a storage SDK.…