Amazon has announced that you can schedule the deletion of objects in Simple Storage Service (S3); it also warns that there can be a delay between a scheduled expiration and an actual deletion, and that if you leave an empty prefix in an expiration rule then it will expire all your objects.
Some objects that you store in an S3 bucket might have a well-defined lifetime. For example, you might be uploading periodic logs to your bucket. After a period of time, you might not need to retain those log objects. In the past, you were responsible for deleting such objects when you no longer needed them. Now you can use Object Expiration to specify a lifetime for objects in your bucket.
With Object Expiration, when an object reaches the end of its lifetime, Amazon S3 queues it for removal and removes it asynchronously. There may be a small lag between the expiration date and the date at which Amazon S3 removes an object. You are not charged for storage time associated with an object that has expired.
It begs the question whether an expiration action is reversible, since the object technically has not been deleted. This is not just important from a forensics point of view but also for sneakily avoiding charges.