@pfefferle To my knowledge this is not documented yet, but what I know:
1. Try Fetching application actor from NodeInfo (fallback, use the @relay@instance.tld actor) [1]
2. Do validations (e.g. type must be either Group or Application) [2]. Here also the faulty outbox, which I provided that small fix for recently led to problems.
Other than that, the process seems to be no different.
[1] https://framagit.org/framasoft/mobilizon/-/blob/main/lib/federation/node_info.ex#L17
[2] https://framagit.org/framasoft/mobilizon/-/blob/main/lib/federation/activity_pub/relay.ex#L47
Maybe I should document it... :)