EDIT 08-nov-2026 — THANK YOU STAFF for implementing an info text pointing out the problems on the site! This is extremely helpful, and I will soon review the problematic points and ask for a review!


Original post — @[email protected]

“If you think the review is wrong, please post on the forum…” …where your post will be just ignored, not even to say “we’re busy, we can review your site next month”.

Please don’t take me wrong, I do know that the ‘staff’ is probably a one-man staff who’s already too busy setting up and maintaining the entire Perchance universe, and I can only be grateful for that. But enforcing such an over-strict flagging system that moreover doesn’t give the faintest hint at what’s wrong with the site probaby wasn’t the best move, considering the lack of human resources.

I currently have one PG-13 stories site flagged as mature, and there’s an extensive explanation why I feel the flag is unjust; and then I have a NSFW stories site completely blocked for reasons I do not know, and I’ve asked on the forum to unblock, to no avail.

It’s sad, because I love the Perchance community, and I’m grateful for the powerful framework Perchance offers us for free, and I wanted to give something in return. I’m good at writing stories, and just wanted to offer them to the community, because I’m not the kind of person who feels comfortable at taking and taking without ever giving back anything.

Thank you anyway to the Perchance staff for the effort, the energy and the resources they put in this project. I truly appreciate it.

  • phoenix184@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 day ago

    This moderation is absolutely ABSURD dystopian. I have a generator that has been gated for 18+ from the start. It has been slapped with a mature content gate. It’s still accessible, but I was curious why it slapped me with a second gate. The AI Helper told me it’s because ‘explicit’ is used in my gate. lmao, so apparently we’re supposed to lie and have an opt-in gate that says ‘18+ to show petals’, because if we’re honest about what is behind the gate, you get slapped with a second gate for people being able to see that word. Insane.

  • Sylvia_Rose@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 days ago

    I don’t know how to state this nicely… But Have you considered that maybe the reason why it keeps being flagged is because your homoerotic story archives are close enough to the borderline that no amount of intentional scrubbing of specific words will resolve the flag? Maybe, by and large, because of a multitude of international laws, anything that even approaches the borders of Mature content needs to be flagged as such? Perhaps that the reason for this is so that people do not try to sneak around the rules for the purposes of making content that appears NSFW but which violates enough rules that the hosting site could be attacked for web safety violations and blocked in a whole region.

    I state this as someone who is unphased by explicit LGBT content, having over a decade of experience administrating and moderating safe spaces. It is not my own brand of puritanism speaking. Just accept the fact that your stories containing homoerotic premises alone is enough to flag the filter. Just accept that the NSFW flagging has to be aggressive to catch the people trying to be malicious to the site and community. The world is not exactly getting more permissive, after all.

    edit I hate to point it out, but when you make posts talking about how to fool the NSFW filtering, you shouldn’t be surprised when the oversight gets fixed and the linked project gets flagged. https://lemmy.world/post/52366121

    • Hunknown@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 days ago

      Thank you for your insightful comment. I took my time reading it thoroughly because it seems to me that you’re making slightly conflicting statements, but I may just have misunderstood, as English is not my first language.

      I would begin from your last statement, the edit. You have seen the image we’re talking about, it is definitly not NSFW: so, why should it be a bad thing ‘fooling’ a way-too-aggressive filter to fix its mistake? I didn’t do it hiding my act, I put it explicitly on the forum so anyone can see with their own eyes and judge, just like you did. You don’t express your opinion of the image, but you find that a sort of ‘punitive’ NSFW flag is only due, since I tried to fool the system. I’m sorry, but I don’t get it. Either the image is NSFW or it isn’t. Besides, no human have judged the image, it was an automatic check, so no moral judgment can be involved.

      With regard to the main part of your reply, the sentence I can most agree on is “The world is not exactly getting more permissive, after all”, which is — sadly and frighteningly — true. We’re quickly moving toward an obscurantism that can only be matched by the Victorian Era, when in the UK they hung a plaster fig leaf on Michelangelo’s David whenever the Queen came to visit the Victoria & Albert Museum, while nowadays the David has been denounced as pornographic. Different eras, same puritanism: a puritanism that we all should fight tooth and nail, in my opinion.

      And despite you state it’s not your puritanism speaking, it seems that in your opinion a homoerotic tale, by itself, should be flagged as NSFW, regardless of its actual content. I think it’s important to keep separate the two cases: 1) the PG-13 site flagged as NSFW, and the NSFW site totally blocked (update: it’s still blocked, but now the flagging system gives hints about the reasons, which I’m investigating).

      In delicate matters like this one, personal opinions may be misleading; it’s better to refer to official guidelines, like the PG-13 and 13+ guidelines used by the audiovisual and editorial industries. If those boundaries are widely respected (and I stress widely), the site qualifies as PG-13, even if the love stories you can find there involve two men. In no part of the PG-13 guidelines is even vaguely stated that homosexuality, per se, leads to an R rating.

      I also agree on the fact that an automated NSFW filter should be aggressive, as long as there is a way to get human eyes check and — if the flag is incorrect — unflag the site. But in your post you don’t say that my site could be unjustly flagged by an aggressive filter, you rather state “Just accept the fact that your stories containing homoerotic premises alone is enough to flag the filter”.

      I’m sorry, but I can’t disagree more on that, based on all I’ve stated above. It actually scares me that someone who has a lot of experience administrating and moderating safe spaces thinks so. There is nothing ‘unsafe’ telling a 13-year-old gay guy with parental guidance that homosexuality is OK, that he’s not wrong, or deviant.

      • Sylvia_Rose@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        3 days ago

        Since we don’t want any of my assumed biases or misunderstandings to show, we’ll do this in a clear subjective way.

        Connections: no criminal offence committed by linking, but 3 regulatory exposures under Online Safety Act 2023
        
        The Act applies extraterritorially to any service likely to be accessed by UK children, enforced by Ofcom. Breach is regulatory, not automatically criminal, but failure to comply with Ofcom notices can become criminal.
        
        1. Pornography gateway - highest risk, no highly effective age assurance
        otherResources + tail card + footer/header Write me + Hunk notice point to adult pornographic services:
        
            hunknown-virile-visions - labelled NSFW
            atrialofstrength - labelled NSFW
            butch-tales - archive described as homoerotic
            gaydemon.com/stories/authors/hunknown/ - labelled NSFW
            hunknown-virile-stories?page=contact - main-site guestbook, adult destination per your data-adult rule
        
        Current controls:
        
            matureGate: localStorage st13MatureGate_v1 == 1 click Enter the site
            exitGate: localStorage st13ExitGate_v1 == 1 checkbox I understand... + Continue to adult site
        
        Under Ofcom Part 5 porn + Part 3 child-safety guidance, self-declaration and checkbox/tick-box are explicitly not highly effective age assurance. A child who clicks twice reaches porn in a new tab. The liability for the porn itself sits with the destination provider, but this PG-13 branded, SEO-indexed (WebSite JSON-LD, seoFoot: gay romance novels...) service that is attractive/likely to be accessed by children and then funnels to porn will be assessed as failure of ss.11-12 child risk assessment / protection from priority content pornographic content.
        
        2. User-to-user grooming surface via commentsPlugin
        This edition hosts no guestbook widget, but the badge code polls:
        
            GEN+guestbook, +news, +typos, +hunk-log + any custom + channel user creates
            In owner mode: hunknown-virile-visions+"" / +news / +prompts / +galleries / +help / +t2i-feedback / +hunk-log and same for -pg13, plus +auth: receipts folders, plus GayDemon comment watch
        
        That is a U2U service: children can post and be contacted by strangers, create private + channels. No age assurance, no visible moderation, reporting, blocking, or default private-profile in this code. If used by children, OSA requires: child risk assessment, mitigation by design, moderation, user reporting/complaints, records. Absence is not itself a Sexual Offences Act offence, but any adult who used it for ss.15-15B grooming or s.15A sexual communication with a child would commit those offences, and the provider would be in breach of OSA safety duties.
        
        superFetch proxy polling, kv-plugin progress/readerSettings, presence conn.net[3] unique count, genStats views/lastEditTime do not create child-sexual content, but are personal-data processing subject to Age Appropriate Design Code: high privacy by default if likely accessed by children.
        
        > Why is this page flagged NSFW by perchance?
        Because its own declarations tell Perchance it is adult-adjacent — even though the 2 hosted stories are PG-13.
        
        Perchance auto-flags on text + images + outbound reputation, not on your $meta tags = pg-13, sfw. This page trips all three:
        
        1. Literal NSFW / homoerotic strings in code that ships:
        
            main.pjs > otherResources: meta = External site — NSFW x3, title = Hunknown's Virile Visions, blurb = portraits of male beauty, bold edition, Butch's Tales ... romantic and hot homoerotic stories
            index.html > comingSoonCardHtml(): More stories... spicy homoerotic illustrated stories... (nsfw)
            matureGate/exitGate: mature content, adult site, Continue only if you are an adult
        
        Scanners keep those on purpose — your README says: tail card + Butch blurb + NSFW labels intentionally kept as adult-content declarations.
        
        2. Story language + covers:
        
            its-christmas-again: fiery lovemaking, chest to chest, skin to skin, senses caught fire, biting more than I could chew
            uss-midway: Take me... Make me feel I'm your man, roles were reversed, in his white cotton underpants... like a statue, tight white trousers highlighted virility
            Covers: butch-tales.jpg - 2 shirtless embracing men, gaydemon.jpg - shirtless red demon with nipple, uss-midway.jpg - tight uniform back, virile-visions.jpg / -pg13.jpg - male-beauty portraits. Image classifier flags skin/suggestive even when clothed.
        
        3. Outbound reputation:
        Links to hunknown-virile-visions, atrialofstrength, butch-tales, gaydemon.com/stories/... - all known NSFW on Perchance. Linking with data-adult=1 + exit gate is correct for TOS §8, but it confirms to the classifier this is a gateway to porn.
        
            Mildness doesn't clear it. Perchance flags gay + erotic language + shirtless imagery + NSFW links as NSFW regardless of PG-13 in the title. To unflag you would have to remove the NSFW shelf/tail-card, the homoerotic/spicy wording, and the shirtless covers - i.e. undo what the exit gate is there to warn about.
        
        
        > The linked site is blocked, can you determine what the TOS violation is?
        
        All 4 of your Perchance links are in the same quarantine — not just 1:
        
            hunknown-virile-stories, hunknown-virile-visions, atrialofstrength, butch-tales, and this st13 itself: Content Warning + Only this page's creator can open it for now
            hunknown-virile-visions-pg13: loads normal — no block
        
        The page lists 4 reasons, but only 1 blocks:
        
            Possibly malicious: Only this page's creator can open it for now. If you are the creator, remove anything that misleads visitors or collects or shares their data without asking
        
        That is TOS 5. PROHIBITED ACTIVITIES + 10. SERVICES MANAGEMENT quarantine, not a 13. TERM AND TERMINATION deletion yet.
        
        What triggers it in this code:
        
            index.html:1-56 server script: conn.id, conn.net[3] >>> 0 -> presenceUniqAdd() -> state.copyWithin() + pubsub.publish("presence"...). Automated scanner reads that as recording IP/network ID in durable state without consent. Verbatim match for tries to record your IP address or personal info.
            Badge script 482-1181: fetchSince(...&includePublicId=1), rememberPublicId(gen,publicId), store.publicIds, store.channels, syncKeypair() + secretPlugin.generateKeyPair(), superFetch polling every 60s. Same heuristic: cross-site/device tracking.
        
        The other 3 warnings on the same page do not block, but will keep Mature / Warn me first until reviewed:
        
            Mature content... gated behind an explicit user opt-in: otherResources 3x External site — NSFW, portraits of male beauty, bold edition, hot homoerotic, tail card spicy homoerotic... (nsfw), Take me... Make me feel I'm your man, shirtless covers. You have matureGate + exitGate[data-adult], which is what it asks for.
            Privacy... may log or publicly show user inputs: guestbook/+ channels via commentsPlugin, kv progress/readerSettings, virileStoriesChatCounters_v1, receipts box. Expected for a comments site.
            Not as described: $meta tags = pg-13, sfw vs NSFW shelf + gates. Bot sees mismatch.
        
        Fix for review: remove or gate the conn.net unique-count write, stop storing publicId, add explicit opt-in before any polling/storage, then Request priority review logged in as creator.
        

        These reports were generated from loading your page and asking the agent helper. It isn’t just there for being a fancy chat bot.

        Put simply. You should limit cross promotion, weak content gates, and using third party plugins which record user data. Due to recent laws you should also avoid using anything that might allow messages to and from minors to be posted through your page. Or, just accept the NSFW tag.

        • Hunknown@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 days ago

          Thank you for providing these reports, that turned out to be even more enlightening than expected.

          But, first and foremost, I owe you an apology: I was wrong when I thought you were biased against LGBT+ content. It’s not your bias, it’s the AI’s. You just take what the AI says as a Source of Truth, which it isn’t. And here is why I say so.


          REPORT #1 - PG13 SITE: EXTERNAL LINKS + COMMENTS

          1. External NSFW links — My site links, it does not host, with clear NSFW labels + double gate. Most ‘officially PG-13’ generators on the public listing host NSFW content, or let users create NSFW content, or have chatrooms open to anyone, sometimes with 18+ subchannels easily accessible to minors. On ai-furry-generator — probably the most famous and used Perchance generator, and a site I look at as an example of what can be done within the Perchance framework — a nickname containing ‘18+’ and a 15-min wait let me generate NSFW, view NSFW in the public gallery, and access 18+ chats. Requiring effective assurance only from my gay-oriented site definitely seems disproportionate.

          2. U2U chat — I could easily create a local chat on the PG-13 site, like all other Perchance sites — but what additional protection would that offer? Malicious adults could still join it and commit offences, with my moderation as the only protection, just like today. A separate local chat adds moderation duties without removing the grooming surface the report describes. But of course — if ever I decide not to wipe the PG-13 site entirely — I could create a local chat, useless as it would be.


          REPORT #2 - NSFW CONTENT ON PG13-STORIES SITE

          1. NSFW strings in code — It is absurd that a site is flagged NSFW because it warns that NSFW content exists outside the site. Many PG-13 Perchance sites state that the site is open to minors and ban nudity, 18+ content, NSFW images, sexual/racial/hate/violent comments — you cannot ban something without naming it, nor warn about NSFW without mentioning it. A scanner that flags a site not on its content but on specific words inside a warning or exit gate — even on the code name matureGate! — is misconfigured and bound to generate endless false positives. I accept that colourful terms like ‘bold’ or ‘spicy’ instead of the neutral ‘NSFW’ can be toned down, and I can replace them — though I’m sure it would change nothing, since ‘NSFW’ itself triggers the flag far more than ‘bold’ ever could.

          2. Story language + covers — This is by far the most sensitive subject; it should actually be the only subject, as it pertains to the site’s content. There are two major problems with the scanner reports:

          • Excessive strictness about ‘suggestive’ content. The word ‘suggestive’ cannot be found anywhere in the OSA or Ofcom guidelines (which use the precise term ‘porn’): it is a term widely used by AI scanners to classify content, whether visual or textual; yet despite its wide usage, its definition is nowhere to be found. Every AI, and the humans who trained them, has a personal idea of what counts as ‘suggestive’. I am not going to discuss what ‘suggestive’ should mean: I will rather point out that it is a subjective classification, i.e. anything but the “objective judgement” you tried to convey by posting the three AI reports. Unfortunately, AIs are trained to classify as ‘suggestive’ anything — including perfectly innocent content — to which even the slightest sexual connotation can be given. To return to Michelangelo’s David, my Android phone (Google) recently refused to edit a photo I took of the David, claiming it was ‘suggestive’. Even a man fully clothed in a tight uniform is flagged as ‘suggestive’; or a bare male chest, which can be seen everywhere in summer. This is far stricter than the strictest Victorian censorship. I cannot force Perchance to review its standards, but in this case it is I who must flag Perchance’s dangerously obscurantist mindset.
          • AI biased against LGBT+ content. Unfortunately, there is no doubt about this bias: the Reports themselves express it clearly. “2 shirtless embracing men (who are actually holding hands)… tight uniform back… portraits of male beauty…”, “Perchance flags gay + erotic language + shirtless imagery + NSFW links as NSFW” — not “erotic + NSFW links”, but “gay + shirtless + erotic + NSFW” —, “Image classifier flags skin/suggestive even when clothed”. A male chest or a uniformed sailor are perfectly fine — but not on a gay-oriented site: here, they become ‘suggestive’ images. Imagery of buxom girls in skimpy bikinis (but with hidden nipples) is OK on most sites, but male muscles filling a tight uniform are a no-no on a gay site. Unlike in the previous point, where I said Perchance can do as it pleases, here I strongly urge Perchance to review its far too biased AI helper, lest it be accused of blatant homophobia.
          1. Outbound reputation — Under Ofcom Part 5 porn + Part 3 child-safety guidance (see Report #1) the liability for the porn itself sits with the destination provider, which in this case is Perchance itself (except for GayDemon.com). If Perchance had an effective age check, linking to a NSFW Perchance site would pose no problem; but as things stand, a minor lying about his age can easily reach NSFW content in four clicks: two on my exit gate, two on the destination’s Mature Content warning. Removing the links to those external resources can easily be done, of course, but let it be clear that such removal would be required not by any fault of my site, but by Perchance’s.

          REPORT #3 - NSFW site blocked as “Possibly malicious” + NSFW flag

          1. conn.net — conn.net values are opaque group integers provided by Perchance itself — the raw IP is never exposed to generator code. My server stores only these group integers and publishes only three aggregate numbers (visitors online, peak, unique count) plus aggregate vote/read totals. conn.net values are not IP addresses and cannot identify a visitor by any means. The scanner heuristic (“tries to record your IP address or personal info”) does not match what the code does.

          2. Badge — The publicId is a value supplied by Perchance itself which, despite its name, is fully anonymous: it is stored in the visitor’s own localStorage and used solely to skip notifications on the visitor’s own messages. Polling of the group’s other sites happens only in owner mode, so that moderation of messages across all sites stays timely. Nothing here tracks a device or shares data externally.

          3. Proposed fix — ‘Add explicit opt-in before any polling/storage’ — not required by the cited rules, and disproportionate. It would disable harmless core features (votes, read counts, the online counter, the message badge) merely to remove data handling already covered by the consent users gave when accepting Perchance’s privacy policy.

          4. TOS violation — TOS §5 prohibits deception (notably around passwords), misuse of information to harass or harm, malware, impersonation and bypassing access controls. None of this is even remotely what the site code does.

          5. (a) NSFW flag on NSFW site — The non-blocking Mature/NSFW warning is accepted as correct: the site is publicly advertised as NSFW — its adult nature is openly declared in the site’s own title, description and tags. Nothing hidden, nothing misrepresented.

          6. (b) NSFW flag on PG13 site — See comment to Report #2


          Now, all the above may suddenly look like a useless rhetoric exercise when I tear down the PG-13 site — which I will have to do, as I have no control over Perchance’s obscurantist and homophobic stance — but in reality this post should stay up and remain as an appeal for fairness and equality.