Hi Travis,
Thanks for the thorough feedback. As the text is currently before the Council, I'd like to keep it stable for that review. I'm not planning to apply changes to it now, but I'm noting the points below to be addressed in a revision if and when the document is accepted.
I wouldn't frame it as "closed deployments only," but you're right that enabling this on a server with an unknown client population has a not to be underestimated cost: clients that don't implement the task, or don't implement SASL2 at all, can't complete authentication. I don't think every XEP needs to suit every deployment, but the specification should explicitly say this, and help operators weigh it. A "Deployment Considerations" section seems like the right place. That can cover lockout of non-supporting clients, giving advance notice before enforcement, and the safety impact of losing access, which your example illustrates.
On failure modes: the mandatory <text/> is meant to cover SASL2 clients that don't know this task, though whether it's displayed is up to the client. One improvement I'd like to consider is having the server repeat the explanation in the <failure/> that follows an abort, since that's the text clients most commonly show. As there aren't many XEPs that define SASL2 tasks yet, I think there's some need for us to experiment with what works best in this respect. For non-SASL2 clients, the Security Considerations already require the server not to offer a bypass path. The resulting lockout could be stated more explicitly.
As for the alternatives: for some, the point of this task can precisely be that there's no way around it. When the requirement stems from legal obligations, a mechanism that lets non-supporting clients through on softer terms may not satisfy things. That's why I'd rather not build such a fallback into this specification. Operators who prefer a softer approach can of course use post-login measures like the ones you describe, either instead of this task or alongside it (for example, to give advance notice before enforcement starts). Documenting those approaches could be valuable (and prior art exists, but doesn't seem to have advanced since 2018: "Terms of Services" -
https://xmpp.org/extensions/inbox/tos.html ). I would see that as belonging in a separate XEP, rather than in the one under consideration now.
Kind regards,
Guus