I'm developing an enterprise application for internal users of a business. Our application has multiple "filings" with unique filing IDs. As part of this application, we're building a detailed audit system that will track events that can happen in a filing (such as uploading documents, changing information, reassigning, etc) and their event timestamps.

One of the features that the application will provide is storage and categorization of emails; instead of people emailing the users of the system, people can email the system itself so that all communication is logged and audited. Communication received by the system will become part of the larger audit history.

There are generally two timestamps associated with an email message; the time and date it was sent, and the time and date it was received. Email is practically instantaneous in the general sense, but there are cases where emails can be delayed for multiple reasons.

When building a user interface that allows a user to view audit history, including emails received by the system, which date should be used as the canonical event date? Should it be the sent time, or the received time? Why?

1 Answer 1


Communication received by the system will become part of the larger audit history.

I think you answered your own question right there. If the email hasn't been received by the system, it isn't even considered part of the audit history. Use the received timestamp.

  • Fair point, but in some businesses the sent date matters more than the received date. (For instance, sometimes, postmarking correspondence or a bill can count as the canonical date, even if it's received after the fact.)
    – user8889
    Oct 17, 2016 at 18:33
  • Sure but we're not talking about correspondence being physically shipped. There should never be an instance in which it takes days for an email to reach its destination.
    – mtv.vac
    Oct 17, 2016 at 19:32
  • You might be surprised, actually. Bounces can and do happen. Mail servers will generally retry a send over a specific period of time (whatever the server itself is configured for) and will report a non-delivery after that time. That can be a day, sometimes more, depending on how servers are configured.
    – user8889
    Oct 17, 2016 at 20:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.