1
0
mirror of https://codeberg.org/fediverse/fep.git synced 2026-08-08 13:35:51 +00:00

Deploying from 0adae3cce8 [SKIP CI]

This commit is contained in:
silverpill
2026-07-24 18:29:17 +00:00
parent 2fef265f55
commit 92da5d6cd1
6 changed files with 261 additions and 208 deletions
+1 -1
View File
@@ -1518,7 +1518,7 @@
<td><a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/de8d/fep-de8d.md"><img src='../assets/codeberg.png' width=20 height=20 alt='codeberg'></a></td>
<td>Informational</td>
<td></td>
<td>-</td>
<td><a href="https://codeberg.org/fediverse/fep/issues/891">#891</a></td>
<td><a href="https://socialhub.activitypub.rocks/t/fep-de8d-emoji-catalogs/8825">Discussions</a></td>
<td>2026-07-19</td>
</tr>
+79 -28
View File
@@ -1081,6 +1081,17 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#deletion-fallback-on-policy-tightening-normative-optional" class="md-nav__link">
<span class="md-ellipsis">
Deletion Fallback on Policy Tightening (Normative, Optional)
</span>
</a>
</li>
<li class="md-nav__item">
@@ -1842,19 +1853,32 @@ determined by comparing its Effective Addressing against the root object's curre
reactions, edits, deletes, etc.).</p>
</blockquote>
<p><strong>Inherited ("follow-post") addressing:</strong> Effective Addressing exactly equal (set-equality, order-insensitive) to the
root object's current <code>to</code>/<code>cc</code>. This signals "same visibility as thread."</p>
root object's current <code>to</code>/<code>cc</code>. This signals "same visibility as thread." Inherited activities are forwarded with the
Thread Policy addressing.</p>
<p><strong>Narrowed addressing:</strong> An activity <strong>MAY</strong> narrow visibility using any addressing forms permitted by ActivityPub
(individual actor IRIs and/or collections), provided the resulting Effective Addressing is not more permissive than the
current Thread Policy and is a subset of the Authorized Recipient Set under the current Thread Policy and local policy.</p>
<p>The Context Authority <strong>MUST</strong> evaluate whether the narrowed Effective Addressing is a subset of the Authorized
Recipient Set, including membership in collections it controls (e.g. followers). If it cannot determine subset safety
(e.g. unknown external collection semantics), it <strong>MUST</strong> treat the activity as more permissive and <strong>MUST</strong> reject it
for context routing.</p>
<p>For narrowed activities, the Context Authority <strong>MUST</strong> preserve the sender's narrowed Effective Addressing when
forwarding, except to remove recipients no longer authorized under the current Thread Policy and local policy. It
<strong>MUST NOT</strong> widen a narrowed activity to the full Thread Policy.</p>
<p><strong>Prohibited addressing:</strong> An activity <strong>MUST NOT</strong> be more permissive than the Thread Policy. Violations <strong>MUST</strong> be
rejected by the Context Authority.</p>
(individual actor IRIs and/or collections), provided every entry of its Effective Addressing is authorized under the
current Thread Policy and local policy.</p>
<p><strong>Address Filtering:</strong> The Context Authority <strong>MUST</strong> compute the <strong>filtered addressing</strong> of every Context Activity:
the Effective Addressing with every entry removed that the Context Authority cannot verify as authorized under the
current Thread Policy and local policy. Verification uses locally available state for collections the Context Authority
controls (e.g. followers) and string-level comparison against the Thread Policy for all other entries; entries whose
authorization cannot be established (e.g. collections with unknown semantics, or the public sentinel when the Thread
Policy does not include it) <strong>MUST</strong> be removed.</p>
<ul>
<li>If the filtered addressing is empty, the activity <strong>MUST</strong> be rejected for context routing: the Context Authority
cannot establish any authorized audience the sender intended, and substituting the Thread Policy could deliver a
deliberately narrowed activity (e.g. one addressed only to a since-removed member) to recipients its author never
chose.</li>
<li>If the filtered addressing is non-empty, the activity <strong>MUST</strong> be forwarded with the filtered addressing. Filtering
keeps the thread convergent when a sender composes addressing against a stale copy of the root object (for example,
after the Thread Policy was tightened), while never delivering more broadly than the current Thread Policy permits.</li>
</ul>
<p>The forwarded addressing <strong>MUST NOT</strong> contain any entry absent from the sender's Effective Addressing (no widening) and
<strong>MUST NOT</strong> be more permissive than the current Thread Policy. A Context Authority <strong>MAY</strong> additionally reject an
activity by local policy (for example, one whose Effective Addressing includes the public sentinel in a direct thread).
Filtering, not rejection, is the interoperable default for over-broad addressing: rejection does not prevent the
sender's own server from delivering the activity to the addressed audience, it only removes the activity from the
thread.</p>
<p><strong>Recipient set equality:</strong> Two addressing fields are equal if they contain the same IRIs as a set, ignoring order and
duplicates. Implementations <strong>MUST</strong> canonicalize lists before comparison by removing duplicates and sorting
lexicographically by Unicode code points. Comparison is string-based only: implementations <strong>MUST NOT</strong> dereference
@@ -1912,11 +1936,13 @@ delivery coincide, and the Context Authority forwards to the Authorized Recipien
controls. The two subsections below add the rules for the direct and public classes.</p>
<h3 id="direct-conversations-normative">Direct Conversations (Normative)<a class="headerlink" href="#direct-conversations-normative" title="Permanent link">&para;</a></h3>
<p>When the Thread Policy is a set of explicit actor IRIs (a direct message or an enumerated private group), the
Authorized Recipient Set and the Delivery Target are both that explicit actor set, so subset checks under the
<a href="#reply-visibility-rules">Reply Visibility Rules</a> are exact: a reply addressing any actor outside the set - or
<code>as:Public</code> - is more permissive than the Thread Policy and <strong>MUST</strong> be rejected, which is what stops a participant from
leaking the thread by replying broadly. Membership is changed by the root author updating the root object's <code>to</code>/<code>cc</code>,
propagated via <a href="#root-policy-update-propagation-normative">Root Policy Update Propagation</a>.</p>
Authorized Recipient Set and the Delivery Target are both that explicit actor set, so Address Filtering under the
<a href="#reply-visibility-rules">Reply Visibility Rules</a> is exact: any actor outside the set - and <code>as:Public</code> - is removed
from the forwarded addressing, and a reply retaining no member of the set is rejected. The Context Authority thus never
amplifies an over-broad reply beyond the member set; whether the sender's own server delivers that reply elsewhere is
outside the Context Authority's control, as in ordinary ActivityPub federation. Membership is changed by the root
author updating the root object's <code>to</code>/<code>cc</code>, propagated via
<a href="#root-policy-update-propagation-normative">Root Policy Update Propagation</a>.</p>
<p>The Author Proof is the primary defense against the Context Authority fabricating a message attributed to another
participant; recipients <strong>MUST</strong> reject forwarded activities whose Author Proof does not verify against the activity
<code>actor</code>. Routing through one instance still lets it withhold or reorder messages (forgery is prevented, censorship is
@@ -2023,9 +2049,9 @@ current Thread Policy (root <code>to</code>/<code>cc</code>) plus local rules (b
Alignment).</li>
<li>Authenticate the sender via transport (HTTP Signatures or equivalent) and map the request to an ActivityPub actor.</li>
<li>Check sender authorization to submit Context Activities, informed by the current Thread Policy and local policy.</li>
<li>Verify the activity's addressing conforms to the <a href="#reply-visibility-rules">Reply Visibility Rules</a>. Subset
evaluation <strong>MUST</strong> use locally available state for collections it controls (including followers) and any local
policy inputs.</li>
<li>Apply Address Filtering to the activity's addressing per the <a href="#reply-visibility-rules">Reply Visibility Rules</a>,
rejecting the activity if the filtered addressing is empty. Authorization evaluation <strong>MUST</strong> use locally available
state for collections it controls (including followers) and any local policy inputs.</li>
<li>Verify the Author Proof: canonicalize with the Author Proof exclusions, then verify against the referenced
verification method (which <strong>MUST</strong> belong to the activity's <code>actor</code>). An Author Proof is <strong>verified</strong> iff present
and successfully verified.</li>
@@ -2118,12 +2144,10 @@ follower collection to its remote inboxes does not require rewriting the activit
<p>The Context Authority <strong>MUST NOT</strong> rewrite <code>to</code>/<code>cc</code> to enumerate individual actor IRIs solely to target specific
recipients.</p>
<p>The Context Authority <strong>MAY</strong> rewrite <code>to</code>/<code>cc</code> to make forwarded deliveries conform to the current Thread Policy,
including when:</p>
<ul>
<li>the Thread Policy changed since the sender last observed the root object, or</li>
<li>the sender used older addressing that is not more permissive than the current Thread Policy.</li>
</ul>
<p>If the sender's addressing is more permissive than the current Thread Policy, the activity <strong>MUST</strong> be rejected.</p>
including when the Thread Policy changed since the sender last observed the root object.</p>
<p>If the sender's Effective Addressing contains entries not authorized under the current Thread Policy, the Context
Authority <strong>MUST</strong> forward the activity with its filtered addressing, or reject it if the filtered addressing is empty,
per Address Filtering in the <a href="#reply-visibility-rules">Reply Visibility Rules</a>.</p>
<p>When forwarding an embedded-object activity, rewiring <strong>MUST</strong> be applied consistently:</p>
<ul>
<li>If the embedded object contains <code>to</code>/<code>cc</code>, the forwarded activity <strong>MUST</strong> set the embedded object's <code>to</code>/<code>cc</code> to the
@@ -2183,6 +2207,24 @@ delivery authorization, and <strong>MUST</strong> evaluate visibility/presentati
<code>object</code> is the full updated root object (same <code>id</code>), and <strong>MUST</strong> deliver it per ordinary ActivityPub delivery.</p>
<p>Receiving servers implementing this FEP <strong>MUST</strong> update their stored copy of the root object upon accepting the
<code>Update</code>, and <strong>MUST</strong> treat the updated addressing as the current Thread Policy for the context.</p>
<h3 id="deletion-fallback-on-policy-tightening-normative-optional">Deletion Fallback on Policy Tightening (Normative, Optional)<a class="headerlink" href="#deletion-fallback-on-policy-tightening-normative-optional" title="Permanent link">&para;</a></h3>
<p>An <code>Update</code> cannot make servers that do not implement this FEP stop displaying the root object (see
<a href="#visibility-changes-and-retroactive-tightening-informative">Visibility Changes and Retroactive Tightening</a>). When a
Thread Policy change leaves a server with no authorized recipients, deletion is the correct end state for that server's
copy whether or not it implements this FEP.</p>
<p>When the root object's addressing is updated, the Context Authority <strong>MAY</strong> deliver a <code>Delete</code> activity for the root
object to each known server that previously received the root object but hosts no actor authorized under the current
Thread Policy. For servers implementing this FEP, the <code>Delete</code> is an explicit trigger for the purge described in
<a href="#context-retention-and-deletion-normative">Context Retention and Deletion</a>; for other servers, it is the only signal
that removes the object from display.</p>
<p>The Context Authority <strong>MUST NOT</strong> deliver such a <code>Delete</code> to a server that hosts at least one actor authorized under
the current Thread Policy.</p>
<p>This mechanism is best-effort. The set of servers holding a copy is approximated from the Context Authority's delivery
and interaction records; for threads whose Thread Policy previously included <code>as:Public</code>, copies obtained through
relays, third-party announces, or ad-hoc fetches may reside on servers unknown to the Context Authority. After the
policy change, the access controls of
<a href="#access-control-for-limited-visibility-contexts">Access Control for Limited-Visibility Contexts</a> prevent unauthorized
re-fetching of the root object, so such copies cannot be refreshed.</p>
<h3 id="thread-visibility-re-evaluation-normative">Thread Visibility Re-evaluation (Normative)<a class="headerlink" href="#thread-visibility-re-evaluation-normative" title="Permanent link">&para;</a></h3>
<p>Upon learning an updated root object addressing for a context (via <code>Update</code>), a receiving server implementing this FEP
<strong>SHOULD</strong> re-evaluate which local users are authorized under the current Thread Policy, and <strong>SHOULD</strong> restrict
@@ -2314,10 +2356,19 @@ recipient (Alice).</p>
stored thread items for local users no longer authorized under the updated Thread Policy. This provides no guarantee of
content recall across the federation:</p>
<ul>
<li>Servers that do not implement this FEP may continue to display previously delivered content.</li>
<li>Servers that do not implement this FEP may continue to display previously delivered content. In particular, several
widely deployed implementations treat an object's visibility as immutable after first receipt and discard the
addressing carried by an <code>Update</code> while applying its content changes. On such servers the root object remains
displayed at its original visibility indefinitely, and content edits published after a tightening continue to reach
the original, broader audience there.</li>
<li>Users may have copied or screenshotted content before the change.</li>
<li>The Context Authority cannot force remote servers to delete or hide content.</li>
<li>The Context Authority cannot force remote servers to delete or hide content; the
<a href="#deletion-fallback-on-policy-tightening-normative-optional">Deletion Fallback on Policy Tightening</a> removes the
root object only from servers that host no authorized recipients.</li>
</ul>
<p>Tightening is therefore reliable only across servers implementing this FEP. Implementations acting as Context Authority
SHOULD surface this limitation to users when a visibility change is privacy-motivated (for example, by offering
delete-and-repost as an alternative).</p>
<p>This limitation is inherent to federated systems: the policy update mechanism provides best-effort restriction for
compliant implementations, not guaranteed erasure.</p>
<h2 id="references">References<a class="headerlink" href="#references" title="Permanent link">&para;</a></h2>
+2
View File
@@ -703,6 +703,7 @@
<th>Authors</th>
<th>Status</th>
<th>Date received</th>
<th>Tracking issue</th>
<th>Discussions</th>
<th>Repository</th>
</tr>
@@ -712,6 +713,7 @@
<td>Reese Armstrong <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#109;&#101;&#64;&#114;&#101;&#101;&#115;&#101;&#114;&#105;&#99;&#46;&#99;&#105;">&#109;&#101;&#64;&#114;&#101;&#101;&#115;&#101;&#114;&#105;&#99;&#46;&#99;&#105;</a></td>
<td><code>DRAFT</code></td>
<td>2026-07-19</td>
<td><a href="https://codeberg.org/fediverse/fep/issues/891">#891</a></td>
<td><a href="https://socialhub.activitypub.rocks/t/fep-de8d-emoji-catalogs/8825">Discussions</a></td>
<td><a href="https://codeberg.org/fediverse/fep/src/branch/main/fep/de8d/fep-de8d.md">codeberg</a></td>
</tr>
File diff suppressed because one or more lines are too long
+178 -178
View File
@@ -2,714 +2,714 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://helge.codeberg.page/fep/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/draft/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/final/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/withdrawn/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0151/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0391/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0391/contextProof/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0391/inReplyToProof/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0391/relationshipProof/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/03c1/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/044f/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0499/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0499/multibox/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/07d7/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0837/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/0ea0/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1042/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/11dd/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1311/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1580/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/171b/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1970/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1985/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1985/ForwardChronological/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1985/OrderingClass/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1985/ReverseChronological/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1985/orderType/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/19b3/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1a11/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/1b12/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/2100/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/2277/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/22b6/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/2677/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/268d/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/2931/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/2c59/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/2e40/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/2e40/namespace/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/3264/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/34c1/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/34ec/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/35b7/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/37f2/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/3ab2/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/3b86/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/400e/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/4772/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/4adb/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/4ccd/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/4f05/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/5219/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/521a/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/521a/fep-521a-test-case/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/521b/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/5624/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/5711/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/5bf0/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/5e53/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/5feb/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/612d/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/61cf/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/6481/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/6606/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/67ff/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/6fcd/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/73cd/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/7458/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/7502/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/7628/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/76ea/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/7888/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/7952/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/7aa9/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/7b29/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/7d8c/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/82f6/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/844e/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/888d/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/888d/SomeType/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/888d/exampleA/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/888d/exampleB/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/888d/exampleC/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8967/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/AttendeesCollection/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/EventCancelled/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/EventMovedOnline/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/EventPostponed/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/EventRescheduled/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/EventScheduled/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/EventStatusType/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/EventTentative/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/OrganizersCollection/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/attendees/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/category/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/displayEndTime/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/eventStatus/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/externalParticipationUrl/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/isBannerImage/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/joinMode/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/organizers/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/previousStartTime/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/requiredJoinVisibility/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/timezone/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8a8e/upcomingEvents/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8b32/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8c13/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8c3f/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/8fcf/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/9091/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/9098/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/96ff/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/9967/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/9f9f/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/9fde/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/a070/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/a1d1/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/a427/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/a4ed/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/a5c5/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/a974/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/ae0c/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/ae49/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/ae97/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/b06c/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/b2b8/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/bad1/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/baf5/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/bebd/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c07e/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c0e0/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c118/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c16b/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c180/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c195/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c390/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c4ad/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c551/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c551/tests/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c5a1/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c648/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c7d3/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c81b/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/c893/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/cb76/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/cd47/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/d36d/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/d556/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/d767/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/d8c2/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/d8c8/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/d8c8/implementation/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/d9ad/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/db0e/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/db70/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/dc88/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/dd4b/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/de8d/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/e229/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/e232/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/e3e9/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/e965/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/e965/fep-e965-test-case/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/eb22/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/eb48/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/ee3a/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/ef61/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/efda/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/f011/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/f06f/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/f15d/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/f1d5/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/f228/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/fb2a/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/fc48/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/fe34/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
<url>
<loc>https://helge.codeberg.page/fep/fep/fffd/</loc>
<lastmod>2026-07-21</lastmod>
<lastmod>2026-07-24</lastmod>
</url>
</urlset>
BIN
View File
Binary file not shown.