Message Tracking Model and Requirements
A model and a list of requirements for finding out where an email has been and what happened to it.
Hansen, T., "Message Tracking Model and Requirements", RFC 3888, DOI 10.17487/RFC3888, September 2004, <https://www.rfc-editor.org/info/rfc3888>.
@misc{rfc3888,
series = {Request for Comments},
number = 3888,
howpublished = {RFC 3888},
publisher = {RFC Editor},
doi = {10.17487/RFC3888},
url = {https://www.rfc-editor.org/info/rfc3888},
author = {T. Hansen},
title = {{Message Tracking Model and Requirements}},
pagetotal = 11,
year = 2004,
month = sep,
} RFC text
Contents
Network Working Group T. Hansen
Request for Comments: 3888 AT&T Laboratories
Category: Informational September 2004
Message Tracking Model and Requirements
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2004).
Abstract
Customers buying enterprise message systems often ask: Can I track
the messages? Message tracking is the ability to find out the path
that a particular message has taken through a messaging system and
the current routing status of that message. This document provides a
model of message tracking that can be used for understanding the
Internet-wide message infrastructure and to further enhance those
capabilities to include message tracking, as well as requirements for
proposed message tracking solutions.
1. Problem Statement
Consider sending a package through a package delivery company. Once
you've sent a package, you would like to be able to find out if the
package has been delivered or not, and if not, where that package
currently is and what its status is. Note that the status of a
package may not include whether it was delivered to its addressee,
but just the destination. Many package carriers provide such
services today, often via a web interface.
Message tracking extends that capability to the Internet-wide message
infrastructure, analogous to the service provided by package
carriers: the ability to quickly locate where a message (package)
is, and to determine whether or not the message (package) has been
delivered to its final destination. An Internet-standard approach
will allow the development of message tracking applications that can
operate in a multi-vendor messaging environment, and will encourage
the operation of the function across administrative boundaries.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119
[RFC-KEYWORDS].
2. Definitions
The following terms are relevant to message tracking. The terms
Tracking User Agent and Tracking Server are new, while all other
terms have been collected here from other sources.
Originating Mail User Agent (MUA)
The originating mail user agent is the software used to
compose and originate a message. It is the software
sitting on a person's desktop.
Originating Mail Submission Agent (MSA)
The Mail Submission Agent accepts a message from a User
Agent, adds or modifies it as required for Internet
standards and/or site policy, and injects the message into
the network. The MSA may be the initial MTA or may hand
off the message to an MTA.
Message Transfer Agent (MTA)
A Message Transfer Agent accepts a message and moves it
forward towards its destination. That destination may be
local or reached via another MTA. It may use a local queue
to store the message before transferring it further. Any
MTA may generate a Non-Delivery Notification.
Intermediate Message Transfer Agent (MTA)
An Intermediate MTA is an MTA that accepts a message for
transfer somewhere else.
Final Message Transfer Agent (MTA)
A Final MTA is an MTA that accepts a message for local
delivery. It is the final place that a message is
accepted. The final MTA is what sends any Delivery Status
Notifications (DSNs). (Intermediate MTA's may also send a
DSN if it relays to a non-DSN aware MTA.)
Foreign Message Transfer Agent
A foreign MTA provides delivery of messages using other
protocols than those specified for Internet mail, such as
an X.400 mail system.
Gateway Message Transfer Agent (GW-MTA)
A gateway MTA accepts a message for transfer to a foreign
MTA outside of the Internet protocol space.
Local Delivery Agent (LDA)
The local Delivery Agent delivers the message to the local
message store. (The MTA and LDA are often combined into
the same program.)
Delivery Status Notification (DSN)
A Delivery Status Notification [RFC-DSN] is produced by an
MTA when a message is unsuccessfully delivered, either to
its next hop or the final message store, or when it is
successfully delivered, either to a foreign MTA, to a local
delivery agent, or a non-DSN aware MTA. Positive
notifications are only performed [RFC-ESMTP-DSN] when
specifically requested.
Non-Delivery Notification (NDN)
A non-delivery notification is a special form of DSN
indicating unsuccessful delivery.
Message Disposition Notification (MDN)
A Message Disposition Notification is used to report the
disposition of a message after it has been successfully
delivered to a recipient.
Tracking User Agent (TUA)
A tracking user agent wants to find information on a
message on the behalf of a user. It is the requestor or
initiator of such a request. (The MUA and TUA could be
combined into the same program.)
Tracking Server
A tracking server provides tracking information to a
tracking client. It is the repository of the information
about a message for the traversal through a particular MTA.
(The tracking server and MTA may run on the same system.)
3. Entities
The entities involved in message tracking are: message user agents,
message submission agents, message transfer agents, tracking user
agents and tracking servers.
4. Requirements
These are requirements that any message tracking solution must be
able to satisfy:
The message tracking solution:
** MUST scale to the internet.
** MUST be easy to deploy.
** SHOULD maximize the reuse of existing, already deployed
technology and infrastructure.
** If possible, SHOULD extend existing protocols and not invent new
ones.
** SHOULD have a low implementation cost. (This makes it easy to
incorporate into existing products.)
** MUST restrict tracking of a message to the originator of the
message (or a delegate).
** MUST be able to do authentication.
** MAY allow an originator to delegate this responsibility to a
third party.
** SHOULD have the property that they would allow per-message
delegation of the tracking responsibility.
** MUST require a tracking user agent to prove that they are
permitted to request the tracking information.
** MUST be able to uniquely identify messages.
** MUST require every message to have unique identification.
5. Interaction Models
There are several models by which tracking of messages can be
enabled, by which messages can be tracked, and by which information
can be requested and gathered.
5.1. Tracking Enabling Models
Either the envelope or message header must contain enough information
to track a message and securely retrieve information about the
message. Any message that does not have enough information to track
it is by definition not trackable.
If there is not enough information available in current standard
envelopes or message headers, then the current standards will need to
be extended. Either the MUA or MSA must determine the additional
information and enable the tracking by adding the additional
information to either the envelope or header.
This leads to two tracking enabling models: passive enabling and
active enabling.
5.1.1. Passive Enabling Model
The "passive enabling" model assumes that there is sufficient
information available. No UA or MSA interaction occurs to turn
tracking on; it is on by default.
5.1.2. Active Enabling Model
The "active enabling" model requires that the MUA and MSA exchange
information when the message is submitted. This exchange indicates
that logging of the message's traversal should be performed, as well
as providing enough additional information to allow the message to be
tracked. This information will need to be passed on to subsequent
MTAs as needed.
5.2. Tracking Request Models
There are several models by which tracking information may be
requested.
5.2.1. Passive Request Model
The "passive request" model requires active enabling to indicate that
some form of tracking is to be performed. The tracking information
can be sent back immediately (as a form of telemetry) or sent to a
3rd party for later retrieval.
5.2.2. Passive Request Tracking Information
Forms of passive tracking information that could potentially be
requested are as follows. Note that mechanisms already exist for
requesting the information marked with a (+). The references for
such mechanisms are listed at the end of each such entry.
** send a DSN of a message arriving at an intermediate MTA
** (+) send a DSN of a message being rejected while at an
intermediate MTA [RFC-DSN]
** (+) send a DSN of a message leaving an intermediate MTA and
going to another MTA [RFC-DELIVER-BY]
** send a DSN of a message arriving at a final MTA
** (+) send a DSN of a message being rejected while at a final MTA
[RFC-DSN]
** (+) send a DSN of a message being delivered to a user's message
store [RFC-DSN]
** (+) send a DSN of a message being delivered to a foreign MTA
[RFC-DSN]
** (+) send an MDN of a message being read by an end user [RFC-MDN]
5.3. Active Request Model
The "active request" model requires an active query by a user's user
agent to the MSA, intermediate MTAs and final MTA, or to a third
party, to find the message's status as known by that MTA. Active
request will work with either passive enabling or active enabling.
5.3.1. Server Chaining vs. Server Referrals
When a tracking server has been asked for tracking information, and
the message has been passed on to another MTA of which this tracking
server has no tracking knowledge, there are two modelling choices:
** the first tracking server will contact the next tracking server
to query for status and pass back the combined status (server
chaining), or
** the first tracking server will return the address of the next
MTA and the tracking client has the responsibility of contacting
the next tracking server (server referrals).
5.3.2. Active Request Tracking Information
Forms of active tracking information that could potentially be
requested are as follows. (Note that no mechanisms currently exist
for requesting such information.)
** the message has been queued for later delivery
** the message was delivered locally
** the message was delivered to another MTA,
** the message was delivered to a foreign MTA
** ask a different tracking server,
** I know but can't tell you,
** I don't know.
5.4. Combining DSN and MDN Information with Message Tracking
Information
The information that would be retrieved by message tracking and the
information that is returned for DSN and MDN requests all attempt to
answer the question of "what happened to message XX"? The
information provided by each is complimentary in nature, but similar.
A tracking user agent could use all three possible information
sources to present a total view of the status of a message.
Both DSN and MDN notifications utilize the formats defined by RFC
3462 [RFC-REPORT]. This suggests that the information returned by
message tracking solutions should also be similar.
6. Security Considerations
6.1. Security Considerations Summary
Security vulnerabilities are detailed in [RFC-MTRK-ESMTP], [RFC-
MTRK-TSN] and [RFC-MTRK-MTQP]. These considerations include:
** vulnerability to snooping or replay attacks when using
unencrypted sessions
** a dependency on the randomness of the per-message secret
** reliance on TLS
** man-in-the-middle attacks
** reliance on the server maintaining the security level when it
performs chaining
** denial of service
** confidentiality concerns
** forgery by malicious servers
6.2. Message Identification and Authentication
This is a security model for message identification and
authentication that could be deployed. (There may be others.)
A Tracking User Agent must prove that they are permitted to request
tracking information about a message. Every [RFC-822]-compliant
message is supposed to contain a Message-Id header. One possible
mechanism is for the originator to calculate a one-way hash A from
the message ID + time stamp + a per-user secret. The user then
calculates another one-way hash B to be the hash of A. The user
includes B in the submitted message, and retains A. Later, when the
user makes a message tracking request to the messaging system or
tracking entity, it submits A in the tracking request. The entity
receiving the tracking request then uses A to calculate B, since it
was already provided B, verifying that the requestor is authentic.
In summary,
A = H(message ID + time stamp + secret)
B = H(A)
Another possible mechanism for A is to ignore the message ID and time
stamp and just use a one-way hash from a large (>128 bits) random
number. B would be calculated as before. In summary,
A = H(large-random-number)
B = H(A)
This is similar in technique to the methods used for One-Time
Passwords [RFC-OTP]. The success of these techniques is dependent on
the randomness of the per-user secret or the large random number,
which can be incredibly difficult in some environments.
If the originator of a message were to delegate his or her tracking
request to a third party by sending it A, this would be vulnerable to
snooping over unencrypted sessions. The user can decide on a
message-by-message basis if this risk is acceptable.
7. Informational References
[RFC-822] Crocker, D., "Standard for the format of ARPA
Internet text messages", STD 11, RFC 822, August
1982.
[RFC-DELIVER-BY] Newman, D., "Deliver By SMTP Service Extension",
RFC 2852, June 2000.
[RFC-DSN] Moore, K., and G. Vaudreuil, "An Extensible
Message Format for Delivery Status Notifications",
RFC 3464, January 2003.
[RFC-ESMTP-DSN] Moore, K., "Simple Mail Transfer Protocol (SMTP)
Service Extension for Delivery Status
Notifications (DSNs)", RFC 3461, January 2003.
[RFC-KEYWORDS] Bradner, S., "Key words for use in RFCs to
Indicate Requirement Levels", BCP 14, RFC 2119,
March 1997.
[RFC-MDN] Hansen, T. and G. Vaudreuil, Eds., "Message
Disposition Notifications", RFC 3798, May 2004.
[RFC-OTP] Haller, N., Metz, C., Nesser, P. and M. Straw, "A
One-Time Password System", STD 61, RFC 2289,
February 1998.
[RFC-REPORT] Vaudreuil, G., "The Multipart/Report Content Type
for the Reporting of Mail System Administrative
Messages", RFC 3462, January 2003.
[RFC-MTRK-ESMTP] Allman, E. and T. Hansen, "SMTP Service Extension
for Message Tracking", RFC 3885, September 2004.
[RFC-MTRK-TSN] Allman, E., "The Message/Tracking-Status MIME
Extension", RFC 3886, September 2004.
[RFC-MTRK-MTQP] Hansen, T., "Message Tracking Query Protocol", RFC
3887, September 2004.
8. Acknowledgements
This document is the product of input from many people and many
sources, including all of the members of the Message Tracking Working
Group: Philip Hazel, Alexey Melnikov, Lyndon Nerenberg, Chris Newman,
and Gregory Neil Shapiro. It owes much to earlier work by Gordon
Jones, Bruce Ernst, and Greg Vaudreuil. In particular, I'd like to
also thank Ken Lin for his considerable contributions to the early
versions of the document.
9. Author's Address
Tony Hansen
AT&T Laboratories
Middletown, NJ 07748
USA
Phone: +1.732.420.8934
EMail: tony+msgtrk@maillennium.att.com
10. Full Copyright Statement
Copyright (C) The Internet Society (2004).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/S HE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the IETF's procedures with respect to rights in IETF Documents can
be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
ISO Plain Language
On this page
§1Why Message Tracking
The memo starts from a question that customers buying enterprise message systems ask: can I track the messages? Message tracking is the ability to find out the path that a particular message has taken through a messaging system and the current routing status of that message.
The comparison the memo draws is with sending a package through a package delivery company. Once you have sent a package, you would like to know whether it has been delivered, and if not, where it currently is and what its status is. The status of a package may not include whether it was delivered to its addressee, but only the destination. Many package carriers provide such services today, often through a web interface. Message tracking extends that capability to the Internet-wide message infrastructure: the ability to quickly locate where a message is, and to determine whether it has been delivered to its final destination.
The memo argues that an Internet-standard approach will allow the development of message tracking applications that operate in a multi-vendor messaging environment, and will encourage the operation of the function across administrative boundaries. It provides a model of message tracking that can be used for understanding the Internet-wide message infrastructure, and requirements for proposed message tracking solutions.
The memo answers a question that enterprise buyers keep asking: can I find out where my message is right now? It says a tracking service should be able to say which mail servers a message has passed through, whether it has reached its destination, and what its state is at each step.
§2The Parts of a Mail System
The memo gathers the vocabulary it needs, and marks two of the terms as new. The originating Mail User Agent (MUA) is the software used to compose and originate a message, the software sitting on a person's desktop. The Mail Submission Agent (MSA) accepts a message from a user agent, adds or modifies it as required for Internet standards and/or site policy, and injects the message into the network. The MSA may be the initial MTA or may hand the message off to an MTA. A Message Transfer Agent (MTA) accepts a message and moves it forward towards its destination, which may be local or reached via another MTA. It may use a local queue to store the message before transferring it further, and any MTA may generate a Non-Delivery Notification.
An Intermediate MTA is an MTA that accepts a message for transfer somewhere else. A Final MTA is an MTA that accepts a message for local delivery; it is the final place a message is accepted, and it is what sends any Delivery Status Notifications. A Foreign MTA provides delivery of messages using other protocols than those specified for Internet mail, such as an X.400 mail system, and a Gateway MTA accepts a message for transfer to a foreign MTA outside the Internet protocol space. A Local Delivery Agent delivers the message to the local message store, and the MTA and LDA are often combined into the same program.
A Delivery Status Notification (DSN) is produced by an MTA when a message is unsuccessfully delivered, either to its next hop or the final message store, or when it is successfully delivered to a foreign MTA, a local delivery agent or a non-DSN aware MTA. Positive notifications are only performed when specifically requested. A Non-Delivery Notification (NDN) is a special form of DSN indicating unsuccessful delivery, and a Message Disposition Notification (MDN) reports the disposition of a message after it has been successfully delivered to a recipient.
The two new terms are the Tracking User Agent (TUA), which wants to find information on a message on behalf of a user and is the requestor or initiator of such a request, and the Tracking Server, which provides tracking information to a tracking client and is the repository of the information about a message for the traversal through a particular MTA. The MUA and the TUA could be combined into the same program, and the tracking server and the MTA may run on the same system. Section 3 lists the entities involved in message tracking: message user agents, message submission agents, message transfer agents, tracking user agents and tracking servers.
A message usually passes through several programs before it arrives. The memo names each one: the program you write in, the program that hands it to the network, the servers that relay it, and the server that puts it in the recipient's mailbox. Two new names are added: the tracking user agent that asks the questions, and the tracking server that holds the answers.
- Message tracking The entities listed in section 3 of RFC 3888
- Message user agent Composes and originates the message
- Message submission agent Accepts the message and injects it into the network
- Message transfer agent Moves the message forward towards its destination
- Tracking user agent Asks for information on behalf of a user
- Tracking server Holds the information about the message for a particular MTA
§4Requirements for a Tracking Solution
The memo lists the requirements that any message tracking solution must be able to satisfy.
It MUST scale to the Internet, and it MUST be easy to deploy. It SHOULD maximize the reuse of existing, already deployed technology and infrastructure, and, if possible, SHOULD extend existing protocols and not invent new ones. It SHOULD have a low implementation cost, which makes it easy to incorporate into existing products.
On access, the solution MUST restrict tracking of a message to the originator of the message, or to a delegate. It MAY allow an originator to delegate this responsibility to a third party, and SHOULD have the property that it would allow per-message delegation of the tracking responsibility. A tracking user agent MUST be required to prove that it is permitted to request the tracking information.
On identification, the solution MUST be able to uniquely identify messages, and it MUST require every message to have unique identification.
Two of these rules are about privacy: only the person who sent a message, or someone they name, may ask about it, and asking has to be proved. The rest are practical: the system must work at Internet scale, must be cheap to add to products that already exist, and must not invent a new protocol if an existing one will do.
- Scale to the InternetThe solution MUST scale to the internet.
- Easy to deployThe solution MUST be easy to deploy, with a low implementation cost.
- Reuse what existsIt SHOULD maximize the reuse of already deployed technology, and SHOULD extend existing protocols rather than invent new ones.
- Originator onlyTracking of a message MUST be restricted to the originator of the message, or to a delegate.
- Prove itA tracking user agent MUST be required to prove that it is permitted to request the tracking information.
- Unique message IDsThe solution MUST be able to uniquely identify messages, and every message MUST have unique identification.
§5Turning Tracking On and Asking for the Result
Tracking has to be enabled before it can be asked for. Either the envelope or the message header must contain enough information to track a message and securely retrieve information about it. Any message that does not have enough information to track it is by definition not trackable. If there is not enough information in the current standard envelopes or message headers, then the current standards will need to be extended: either the MUA or the MSA must determine the additional information and enable tracking by adding it to either the envelope or the header. That leads to two enabling models. In the passive enabling model there is assumed to be sufficient information available, no user agent or submission agent interaction occurs to turn tracking on, and it is on by default. In the active enabling model the MUA and MSA exchange information when the message is submitted, indicating that logging of the message's traversal should be performed and providing enough additional information to allow the message to be tracked; that information is then passed on to subsequent MTAs as needed.
There are also two models for asking. The passive request model requires active enabling to indicate that some form of tracking is to be performed, and the tracking information can be sent back immediately, as a form of telemetry, or sent to a third party for later retrieval. The information that can be asked for includes a DSN of a message arriving at an intermediate MTA, a DSN of a message being rejected while at an intermediate MTA, a DSN of a message leaving an intermediate MTA and going to another MTA, a DSN of a message arriving at a final MTA, a DSN of a message being rejected while at a final MTA, a DSN of a message being delivered to a user's message store, a DSN of a message being delivered to a foreign MTA, and an MDN of a message being read by an end user. Mechanisms already exist for most of these, through RFC 3464, RFC 2852 and RFC 3798.
The active request model requires an active query by a user's user agent to the MSA, the intermediate MTAs and the final MTA, or to a third party, to find the message's status as known by that MTA. It works with either passive enabling or active enabling. The information that can be asked for this way includes whether the message has been queued for later delivery, whether it was delivered locally, whether it was delivered to another MTA, whether it was delivered to a foreign MTA, and whether to ask a different tracking server. Two further answers are possible: the server knows but cannot say, and the server does not know. No mechanisms currently exist for requesting this information.
When a tracking server is asked for information and the message has been passed on to another MTA that it has no tracking knowledge for, there are two modelling choices. The first tracking server can contact the next tracking server to query for status and pass back the combined status, which is called server chaining, or it can return the address of the next MTA and leave the tracking client to contact the next tracking server, which is called server referral.
Finally, the memo notes that the information retrieved by message tracking and the information returned for DSN and MDN requests all attempt to answer the same question, what happened to message XX. The information provided by each is complementary in nature but similar, and a tracking user agent could use all three possible information sources to present a total view of the status of a message. Both DSN and MDN notifications use the formats defined by RFC 3462, which suggests that the information returned by message tracking solutions should be similar.
Tracking can be switched on in two ways. It can simply be on, with the message carrying enough information from the start, or the sending program and the first server can agree to turn it on and pass the extra information along. Asking works in two ways too: the server can send the status out as it happens, or a program can ask each server in turn what it knows.
- TRACKING REQUESTThe tracking user agent asks for the status of a message, and proves that it is allowed to ask.
- STATUS QUERYIn the server chaining model the first tracking server queries the next one itself.
- STATUSThe next server answers with what it knows about the message, which may be that it does not know.
- COMBINED STATUSThe first server passes the combined status back. In the referral model it returns the address of the next MTA instead and the client contacts it.
§6Security Considerations
The memo summarises the security vulnerabilities of message tracking, which are detailed in RFC 3885, RFC 3886 and RFC 3887. They include vulnerability to snooping or replay attacks when using unencrypted sessions, a dependency on the randomness of the per-message secret, reliance on TLS, man-in-the-middle attacks, reliance on the server maintaining the security level when it performs chaining, denial of service, confidentiality concerns, and forgery by malicious servers.
It then offers a possible security model for message identification and authentication. A Tracking User Agent must prove that it is permitted to request tracking information about a message, and every RFC 822 compliant message is supposed to contain a Message-Id header. One possible mechanism is for the originator to calculate a one-way hash A from the message ID, a time stamp and a per-user secret, and then to calculate another one-way hash B that is the hash of A. The user includes B in the submitted message and retains A. Later, when the user makes a message tracking request, the user submits A, and the entity receiving the request uses A to calculate B, since it was already provided B, which verifies that the requestor is authentic. In short, A = H(message ID + time stamp + secret) and B = H(A).
Another possible mechanism for A is to ignore the message ID and time stamp and use a one-way hash from a large random number of more than 128 bits, with B calculated as before. This is similar in technique to the one-time password methods of RFC 2289. The success of these techniques depends on the randomness of the per-user secret or the large random number, which can be incredibly difficult in some environments. If the originator of a message delegates the tracking request to a third party by sending it A, that would be vulnerable to snooping over unencrypted sessions, and the user can decide on a message-by-message basis whether that risk is acceptable.
The risks are the ones you would expect from a system that reports on a message in flight: someone could listen in, someone could pretend to be a tracking server, and the whole thing could be flooded with requests. The memo's answer to impersonation is that the sender keeps a secret, puts a hash of it in the message, and shows the original when asking for the status.