Skip to content

Alice deletes herself

given: "Alice" created an actor on "abel" called "Alice" with username "Alice"

send.Alice.request.create_actor
{
  "base_url": "http://abel",
  "preferred_username": "Alice",
  "profile": {},
  "automatically_accept_followers": null,
  "name": null
}
receive.Alice.response.create_actor
{
  "attachment": null,
  "published": "2026-03-20T15:23:33.958315",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ#legacy-key-1",
    "owner": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAri9O3J5PDjIPX4WM3Z4M\nf4o0cLUXOy8S10A9ulvaXxsEHCAEC934DJ/rfr5FX+pfyWeu1K10X0+Ocwx1SqHn\nDs6w0jUzHRHetZGZkQ7SRnc52ngP3m08xOdLL8mXMyfyNdUtPqFJ0YYC8lCNqUp5\n9eh4vH/RJIxo5oVrcnVmDrmmGP3j6iwOjSo+zNJTKC9himCxy9kEbYL9UPWzLTFB\nMXcfKHDy/Iqft+6N+RLJWL2cP92OgzzU2B56upHEPkeEiMWdtvoTapkveCwwcANa\nKC4bz2RQqhsoCbpwzVbw5+f+MuKwIEg77/EagR+PaCyxafIaPQu6meqFxpLeGkFB\nDQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
  "type": "Person",
  "inbox": "http://abel/inbox/mod0j0uDUqhnIaumIaAcAA",
  "outbox": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ/outbox",
  "followers": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ/followers",
  "following": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ/following",
  "preferredUsername": "Alice",
  "name": "Alice",
  "identifiers": [
    "acct:Alice@abel",
    "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ"
  ],
  "endpoints": {
    "sharedInbox": "http://abel/shared_inbox"
  },
  "manuallyApprovesFollowers": true
}

given: "Bob" created an actor on "banach" called "Bob" with username "Bob"

send.Bob.request.create_actor
{
  "base_url": "http://banach",
  "preferred_username": "Bob",
  "profile": {},
  "automatically_accept_followers": null,
  "name": null
}
receive.Bob.response.create_actor
{
  "attachment": null,
  "published": "2026-03-20T15:23:34.563564",
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {
      "manuallyApprovesFollowers": "as:manuallyApprovesFollowers"
    }
  ],
  "publicKey": {
    "id": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg#legacy-key-1",
    "owner": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
    "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwEQHNWixvtdZfE63kPaP\nM/OwgOSsqmWBYOKnTr6yLH8BOK6vPAJNlKcoOxon0o3u6mYQrtUHcuGEuvabhqBo\n4C6hNJ6Ucgv5RsoxhwIaukHLnCDDBl9u4Afdr0zFkNTNOvrzGebu14Q4aqu8k4PH\nhTB57kWlGEWerN+j5ybfLw8rLJkudFZC6WRes89PDpXNForyOj6eYjwex6g/Vfre\nliyFw09HX/DlHyMv8QZKrxkYXPGwK1zPpDHYbfqIxTZuMxUiaOMxxXhkU5tmQLMW\niIPdhuup2jqOc8dY7UKxGN66jJiu1OmZJ6YW+k39JBSKo3vMJc9Gg99h77W3PsFC\nDQIDAQAB\n-----END PUBLIC KEY-----\n"
  },
  "id": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
  "type": "Person",
  "inbox": "http://banach/inbox/JAJVgx-ci7AXcpKCckVGBg",
  "outbox": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg/outbox",
  "followers": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg/followers",
  "following": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg/following",
  "preferredUsername": "Bob",
  "name": "Bob",
  "identifiers": [
    "acct:Bob@banach",
    "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg"
  ],
  "endpoints": {
    "sharedInbox": "http://banach/shared_inbox"
  },
  "manuallyApprovesFollowers": true
}

when: "Bob" sends "Alice" a Follow Activity

send.Bob.trigger.send_message
{
  "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Follow",
    "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
    "to": [
      "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ"
    ],
    "id": "follow:d1a8a448-621d-420c-ba21-64e6a9e0c08b",
    "published": "2026-03-20T15:23:34Z",
    "object": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ"
  }
}
receive.Bob.outgoing.Follow
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Follow",
      "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
      "to": [
        "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ"
      ],
      "id": "follow:d1a8a448-621d-420c-ba21-64e6a9e0c08b",
      "published": "2026-03-20T15:23:34Z",
      "object": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ"
    }
  },
  "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
  "event_type": "outgoing",
  "history_id": null
}
receive.Alice.incoming.Follow
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Follow",
      "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
      "to": [
        "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ"
      ],
      "id": "follow:d1a8a448-621d-420c-ba21-64e6a9e0c08b",
      "published": "2026-03-20T15:23:34Z",
      "object": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ"
    }
  },
  "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
  "event_type": "incoming",
  "history_id": null
}

when: "Alice" sends an Accept to this Follow Activity

send.Alice.trigger.send_message
{
  "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Accept",
    "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
    "to": [
      "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg"
    ],
    "published": "2026-03-20T15:23:35Z",
    "object": "follow:d1a8a448-621d-420c-ba21-64e6a9e0c08b",
    "id": "accept:4d295a1b-62e7-49c2-aac0-5eea14685e72"
  }
}
receive.Alice.outgoing.Accept
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Accept",
      "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
      "to": [
        "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg"
      ],
      "published": "2026-03-20T15:23:35Z",
      "object": "follow:d1a8a448-621d-420c-ba21-64e6a9e0c08b",
      "id": "accept:4d295a1b-62e7-49c2-aac0-5eea14685e72"
    }
  },
  "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
  "event_type": "outgoing",
  "history_id": null
}
receive.Bob.incoming.Accept
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Accept",
      "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
      "to": [
        "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg"
      ],
      "published": "2026-03-20T15:23:35Z",
      "object": "follow:d1a8a448-621d-420c-ba21-64e6a9e0c08b",
      "id": "accept:4d295a1b-62e7-49c2-aac0-5eea14685e72"
    }
  },
  "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
  "event_type": "incoming",
  "history_id": null
}

when: "Alice" deletes herself

send.Alice.trigger.delete_actor
{
  "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ"
}
receive.Alice.outgoing.Delete
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Delete",
      "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "cc": [
        "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ/followers",
        "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ/following"
      ],
      "published": "2026-03-20T15:23:35Z",
      "object": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
      "id": "http://abel/object/019d0bd8-4287-74c4-bcc1-b559a5b54c0c"
    }
  },
  "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
  "event_type": "outgoing",
  "history_id": null
}
receive.Bob.incoming.Delete
{
  "data": {
    "raw": {
      "@context": "https://www.w3.org/ns/activitystreams",
      "type": "Delete",
      "actor": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
      "to": [
        "https://www.w3.org/ns/activitystreams#Public"
      ],
      "cc": [
        "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ/followers",
        "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ/following"
      ],
      "published": "2026-03-20T15:23:35Z",
      "object": "http://abel/actor/OFsQf4615CNQhNQx9hNNUQ",
      "id": "http://abel/object/019d0bd8-4287-74c4-bcc1-b559a5b54c0c"
    }
  },
  "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
  "event_type": "incoming",
  "history_id": null
}

then: The "following" collection of "Bob" does not include "Alice"

send.Bob.request.fetch
{
  "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
  "uri": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg/following"
}
receive.Bob.response.fetch
{
  "actor": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg",
  "uri": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg/following",
  "data": {
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "OrderedCollection",
    "id": "http://banach/actor/3rz-4MmzmyAxVfpNGRAspg/following",
    "orderedItems": [],
    "totalItems": 0
  }
}