I've made several improvements to FEP-ae97 (Client-side activity signing)
https://codeberg.org/silverpill/feps/src/branch/main/ae97/fep-ae97.md
There is a new section now, "Server independent IDs". It explains how to make object IDs user-owned instead of server-owned, making data and identity fully portable.