Hi, I generally am in favor of adding this functionality to our ecosystem. I don't think this belongs into XEP-0313. It's an entirely new feature, arguably needing to pass the "Experimental" state of XEPs, including passing through Last Call. XEP-0313 is already Stable and probably could even be advanced to Final by now (if it wasn't for it depending on XEP-0359 which itself is still Experimental). The XEP-0313 introduction and requirements also don't list that trimming is an intended functionality of that specification. There is explicit note that uploading of messages it out of scope for it, which is more a hint of the opposite. I would thus suggest to create an entirely new XEP for trimming, so the feature can go the usual XEP process. The pull request lacks an XML schema for the new namespace and element and thus formally can't be merged into a Stable XEP (with schema being mandatory for stable XEPs according to XEP-0001). I would propose to add time-based trimming as well. ID-based trimming, while exact and not prone to time zone or other similar issues, makes it mandatory to fetch the respective message first. I can very much imagine usecases where trimming by time is desired and messages have not been downloaded yet. Marvin On Tue, 2026-03-31 at 11:16 +0100, Matthew Wild wrote:
Hi folks,
There are a few limitations with XEP-0313 which I've been hoping to address for a while, mostly around giving users more control and making it easier for operators to comply with various data protection requirements.
Users have control over most account data in XMPP. However archives are, generally, read-only.
In particular, user data should generally be deleted upon request. Currently such requests would have to be manually sent to the service operator, as there is no in-band method for this yet.
My proposal is to support an in-band 'trim' command, which allows removal of all archived messages, or up to (and including) a specific archived message, or deletion of the entire archive. The functionality is optional and discoverable, so shouldn't affect backwards compatibility.
This has some limitations. For example, it wouldn't allow selectively deleting all messages with a specific contact, which is occasionally requested. Such an operation would leave holes in the archive (which XEP-0313 forbids to ensure sync points don't get removed). But I'm in favour of solving what we easily can for now.
There are other things I would like to improve around archiving, such as exposing retention configuration. But I plan for these to live in new XEPs.
As XEP-0313 is stable and almost universally implemented, I wanted to raise awareness of this proposal and seek some consensus from the community before pushing it forward to Council.
The PR can be found at https://github.com/xsf/xeps/pull/1514
The new section is rendered at https://matthewwild.co.uk/uploads/xep-0313.html#trim
Regards, Matthew _______________________________________________ Standards mailing list -- standards@xmpp.org To unsubscribe send an email to standards-leave@xmpp.org