feat: admin defederation kill-switch (#61) #68
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/v7-defederation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #61. The safety counterpart to the v7 write path — an admin-only way to sever a malicious or compromised instance.
What it does
042—federated_instances.blocked. The inbox hard-rejects all inbound activity from a blocked instance (403) before signature verification (distinct fromenabled, which only gates outbound discovery). Block is keyed on the signer's instance origin parsed from the signaturekeyId.POST /api/federation/instances/:id/defederate(admin) — blocks + disables the instance, then in one sweep:project_collaboratorswhoseremote_actor_urlis on that host),remote_contributions,{ purge_entries: true }, soft-deletes the entries its actors authored (found via thecreatecontributions),Verification (dev server)
defederation.test.ts— 4 tests: defederate blocks/disables + revokes editors (1) + quarantines the conflict (1, leaving the applied create); entries kept by default;purge_entriessoft-deletes them; and a blocked instance's signed inbox POST →403before signature checks.Migration
042applies cleanly; full API suite 207 passed (was 203); app build green.🤖 Generated with Claude Code