Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Formally define the Flag activity for sending reports #14

Open
trwnh opened this issue Sep 25, 2024 · 8 comments
Open

Formally define the Flag activity for sending reports #14

trwnh opened this issue Sep 25, 2024 · 8 comments

Comments

@trwnh
Copy link

trwnh commented Sep 25, 2024

from #13 (comment)

one thing that would be helpful here (and in other issues) is to start a little lower actually, and formally define the Flag activity as a mechanism to send reports, as well as defining which properties it can have and the general shape and structure (how to interpret)

we don't actually have a formal definition for Flag activities at the moment, it's one of those de facto things that mastodon did and everyone else followed. so i think a way forward is this

  • do an implementation survey for existing usage of the Flag activity to represent reports
  • identify shortcomings and gaps with existing usage
  • come up with a formal definition of Flag that addresses the existing format as well as its shortcomings

related to

@jfinkhaeuser

This comment was marked as off-topic.

@ThisIsMissEm

This comment was marked as off-topic.

@ThisIsMissEm
Copy link
Collaborator

Should we create a ticket for "define how to dereference a Flag activity" e.g., I send you a Flag activity, you can GET that activity back by @id

The big question there is "what the heck should the access controls be?"

@trwnh
Copy link
Author

trwnh commented Oct 23, 2024

seems to be the same as dereferencing any other object or activity -- if it's Public, then anyone should be able to fetch it, and otherwise you can generally assume that the members of to/cc/audience have permission to (re)fetch it (since it was delivered to them already). there's not really any consideration for access control in as2/ap separately from the addressing properties.

@ThisIsMissEm
Copy link
Collaborator

@trwnh I'm not sure historically if Flag activities have actually had to/cc/audience, because there wasn't a way to address the Moderators of an instance nor an Instance, because ActivityPub didn't define those things (I know there's a FEP proposing this)

@trwnh
Copy link
Author

trwnh commented Oct 23, 2024

in the absence of addressing properties (i.e. if you just receive an activity in an inbox and it has no further information) then you can generally assume or treat it equivalent to being in bto/bcc

@ThisIsMissEm
Copy link
Collaborator

Okay, so here's my current thinking:

{
  "type": "Flag",
  "id": "https://example.social/flag/:uuid",
  "to": "https://target.example/@moderators",
  "cc" [
    "https://involved.server.example/@mods"
  ],
  "actor": "https://example.social/mods",
  "content": "This user was mean to me",
  "object": "https://target.example/@badactor",
  "evidence": [
    "https://target.example/@badactor/s/123",
    "https://target.example/@badactor/s/124"
  ],
  "category": "rule_violation"
  "rules_violated": [ ..., ... ]
  "reporter": "<stable yet masked identifier for reporter>"
}

The last few properties would be extensions, defined in FEPs. The to/cc would require moderation group actor discovery, per #24, and it'd be delivered to each participant's inbox.

reporter would be the #8, category/rule_ids would be #2, evidence would be #3.

@trwnh
Copy link
Author

trwnh commented Oct 26, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants