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

AP: Bridgy ignores sensitive content label #1100

Closed
qazmlp opened this issue Jun 2, 2024 · 5 comments
Closed

AP: Bridgy ignores sensitive content label #1100

qazmlp opened this issue Jun 2, 2024 · 5 comments

Comments

@qazmlp
Copy link

qazmlp commented Jun 2, 2024

This is the inverse of #1099.

I made this post self-labelled as sensitive: https://tiggi.es/@Qazm/112546008212972221
The post in question.

JSON

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        {
            "ostatus": "http://ostatus.org#",
            "atomUri": "ostatus:atomUri",
            "inReplyToAtomUri": "ostatus:inReplyToAtomUri",
            "conversation": "ostatus:conversation",
            "sensitive": "as:sensitive",
            "toot": "http://joinmastodon.org/ns#",
            "votersCount": "toot:votersCount",
            "blurhash": "toot:blurhash",
            "focalPoint": {
                "@container": "@list",
                "@id": "toot:focalPoint"
            }
        }
    ],
    "id": "https://tiggi.es/users/Qazm/statuses/112546008212972221",
    "type": "Note",
    "summary": null,
    "inReplyTo": null,
    "published": "2024-06-02T08:09:59Z",
    "url": "https://tiggi.es/@Qazm/112546008212972221",
    "attributedTo": "https://tiggi.es/users/Qazm",
    "to": [
        "https://www.w3.org/ns/activitystreams#Public"
    ],
    "cc": [
        "https://tiggi.es/users/Qazm/followers"
    ],
    "sensitive": true,
    "atomUri": "https://tiggi.es/users/Qazm/statuses/112546008212972221",
    "inReplyToAtomUri": null,
    "conversation": "tag:tiggi.es,2024-06-02:objectId=15943322:objectType=Conversation",
    "content": "<p>(This is a test on how self-applied sensitive content labels are bridged.)</p>",
    "contentMap": {
        "en": "<p>(This is a test on how self-applied sensitive content labels are bridged.)</p>"
    },
    "attachment": [
        {
            "type": "Document",
            "mediaType": "image/jpeg",
            "url": "https://tiggi.es/system/media_attachments/files/112/546/004/838/492/972/original/141e2f46f5601539.jpg",
            "name": "A truncated screenshot of a dimly-lit purple SFD-modelled abstract knot-like shape above a background grid.",
            "blurhash": "Uc7,?0axI%oNs?j[W9axaxj]ayaxoNaxWTj]",
            "focalPoint": [
                0,
                0
            ],
            "width": 3000,
            "height": 1000
        }
    ],
    "tag": [],
    "replies": {
        "id": "https://tiggi.es/users/Qazm/statuses/112546008212972221/replies",
        "type": "Collection",
        "first": {
            "type": "CollectionPage",
            "next": "https://tiggi.es/users/Qazm/statuses/112546008212972221/replies?only_other_accounts=true&page=true",
            "partOf": "https://tiggi.es/users/Qazm/statuses/112546008212972221/replies",
            "items": []
        }
    }
}

This was bridged to Bluesky with no indication of sensitive content:

The post in question.

Which of course means that the image isn't hidden by default even though I've set all default labels to "Warn".


What I expected:

The post should have a sensitive content label applied like on this native Bsky post I just made:
(Note: You probably should have nudity set to at least "Warn" if you look at my account beyond that page.)
The post in question.

This results in hiding the image or post depending on the viewer's settings:
The post in question again, this time with the image hidden behind a collapsible that reads "Adult Content".

You probably should also do a keyword scan and apply higher categories of labels (i.e. "Nudity" or "Porn" instead of just "Sensitive" if the post mentions "nudity" or "porn" or some related keywords anywhere in its summary, content or hashtags).

You may also want to ask the Bluesky devs to exclude Bridgy from their classifier training, since there may be other reasons AP users may mark media as sensitive like violence etc, which I don't think can be self-labelled on Bsky yet.

@snarfed
Copy link
Owner

snarfed commented Jun 2, 2024

Great feature request, like #1099. Keyword scanning and detection may be less likely, that takes some NLP work and word list curation to do well, not to mention localization, but just translating the sensitivity field is easy.

@qazmlp
Copy link
Author

qazmlp commented Jun 2, 2024

Great feature request, like #1099. Keyword scanning and detection may be less likely, that takes some NLP work and word list curation to do well, not to mention localization, but just translating the sensitivity field is easy.

Probably fine, as long as CWs continue to mean the images aren't bridged. Afaik most people do apply a CW if there's actual nudity beyond suggestiveness, so translating as:sensitive to "Suggestive" would match real-world use well I think (especially if you document it accordingly, since then users who bridge can take care to post accordingly).

@qazmlp
Copy link
Author

qazmlp commented Jul 15, 2024

Closing this since it's working as per #1099 (comment).

It's unfortunate that Bluesky specifies "non-sexual nudity" in the UI, but this seems as good as it gets.

@qazmlp qazmlp closed this as completed Jul 15, 2024
@qazmlp
Copy link
Author

qazmlp commented Jul 15, 2024

Hm, actually quite interesting on that end: Bluesky's UI says 'Adult Content', 'Non-sexual Nudity', 'Adult Content' for the three levels (see here), so I assume Bridgy Fed now labels at the 'Nudity' level.

I'm going to file an issue there to get it differentiated and also ask which level should be applied if a service can't determine it accurately. (Edit: Added links to those discussions.)

@qazmlp
Copy link
Author

qazmlp commented Jul 15, 2024

Ah I see, the warning is "Graphic Media" now due to snarfed/granary@48e57b7. I think that works, the labeller's description is "Explicit or potentially disturbing media." so it's quite general!

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