Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012uM7Ru1JYn48n6c5Rzwd99
274 lines
5.7 KiB
Plaintext
274 lines
5.7 KiB
Plaintext
{
|
|
"_readme": [
|
|
"Content policy for RMAutomation. Loaded by nodes/content_policy.py, which gates",
|
|
"RMStylesFull.load_style() - the point where a resolved prompt is handed to the sampler.",
|
|
"Edits take effect on the next generation; no ComfyUI restart needed.",
|
|
"Threshold is 10 (strict): any single strong age word in a sexual prompt blocks.",
|
|
"Deleting this file does NOT disable the policy - the node refuses to run without it."
|
|
],
|
|
"sexual_context": [
|
|
"ahegao",
|
|
"anal",
|
|
"anus",
|
|
"areola",
|
|
"aroused",
|
|
"asshole",
|
|
"bdsm",
|
|
"blowjob",
|
|
"bondage",
|
|
"bottomless",
|
|
"breast",
|
|
"breasts",
|
|
"bukkake",
|
|
"buttocks",
|
|
"buttplug",
|
|
"cameltoe",
|
|
"clitoris",
|
|
"cock",
|
|
"cowgirl position",
|
|
"creampie",
|
|
"crotch",
|
|
"cum",
|
|
"cumshot",
|
|
"cunnilingus",
|
|
"deepthroat",
|
|
"dildo",
|
|
"doggystyle",
|
|
"ejaculat",
|
|
"erect",
|
|
"erection",
|
|
"exhibitionism",
|
|
"facesitting",
|
|
"fellatio",
|
|
"femdom",
|
|
"fingering",
|
|
"footjob",
|
|
"foursome",
|
|
"fucked",
|
|
"fucking",
|
|
"gangbang",
|
|
"genital",
|
|
"genitalia",
|
|
"glory hole",
|
|
"gloryhole",
|
|
"gokkun",
|
|
"groin",
|
|
"handjob",
|
|
"hentai",
|
|
"horny",
|
|
"humping",
|
|
"intercourse",
|
|
"labia",
|
|
"lewd",
|
|
"lingerie",
|
|
"masturbat",
|
|
"missionary",
|
|
"moaning",
|
|
"naked",
|
|
"nipple",
|
|
"nipples",
|
|
"nsfw",
|
|
"nude",
|
|
"nudity",
|
|
"oral",
|
|
"orgasm",
|
|
"orgy",
|
|
"paizuri",
|
|
"panties",
|
|
"panty",
|
|
"peeing",
|
|
"pegging",
|
|
"penetration",
|
|
"penis",
|
|
"pissing",
|
|
"porn",
|
|
"pubes",
|
|
"pubic",
|
|
"pussy",
|
|
"rimming",
|
|
"scrotum",
|
|
"seductive",
|
|
"semen",
|
|
"sex",
|
|
"sexually",
|
|
"shibari",
|
|
"sideboob",
|
|
"spanking",
|
|
"spread legs",
|
|
"spreading legs",
|
|
"squirting",
|
|
"strap-on",
|
|
"strapon",
|
|
"testicle",
|
|
"thong",
|
|
"threesome",
|
|
"thrusting",
|
|
"titjob",
|
|
"topless",
|
|
"unclothed",
|
|
"underboob",
|
|
"undressed",
|
|
"upskirt",
|
|
"vagina",
|
|
"vibrator",
|
|
"vulva",
|
|
"watersports"
|
|
],
|
|
"minor_regex": {
|
|
"_note": [
|
|
"Regex patterns, scored as minor_hard. These exist because a word list CANNOT catch a",
|
|
"numeric age. The first run of this tool stripped 'child' and 'young' from a prompt and",
|
|
"happily left '(age 10' behind - lower score, identical output. Patterns close that hole."
|
|
],
|
|
"patterns": [
|
|
"age\\s+(?:0?[0-9]|1[0-7])(?![0-9.])",
|
|
"age\\s*:\\s*(?:0?[0-9]|1[0-7])(?![0-9.])",
|
|
"(?<![0-9])(?:0?[0-9]|1[0-7])\\s*(?:yo|y/o|y\\.o\\.|years?[ -]?old)(?![a-z])",
|
|
"(?<![0-9])(?:0?[0-9]|1[0-7])(?:st|nd|rd|th)?[ -]?grade(?![a-z])",
|
|
"aged?\\s+(?:0?[0-9]|1[0-7])(?![0-9.])"
|
|
],
|
|
"_falsepositive_note": [
|
|
"The (?![0-9.]) guard exists because prompt-weight syntax looks like an age.",
|
|
"Without it, '(age:1.2)' - an emphasis weight - matched as 'age:1' and reported a",
|
|
"child. A tool that cries wolf on weight syntax trains you to click past the real ones."
|
|
]
|
|
},
|
|
"minor_hard": [
|
|
"loli",
|
|
"lolicon",
|
|
"shota",
|
|
"shotacon",
|
|
"toddlercon",
|
|
"child",
|
|
"children",
|
|
"toddler",
|
|
"infant",
|
|
"newborn",
|
|
"preteen",
|
|
"pre-teen",
|
|
"pre teen",
|
|
"underage",
|
|
"under-age",
|
|
"minor",
|
|
"jailbait",
|
|
"barely legal",
|
|
"prepubescent",
|
|
"pre-pubescent",
|
|
"kindergarten",
|
|
"elementary school",
|
|
"grade school",
|
|
"primary school",
|
|
"middle school",
|
|
"schoolgirl",
|
|
"school girl",
|
|
"schoolboy",
|
|
"school boy",
|
|
"little girl",
|
|
"little boy",
|
|
"young girl",
|
|
"young boy",
|
|
"kid",
|
|
"kids",
|
|
"baby girl",
|
|
"baby boy"
|
|
],
|
|
"minor_strong": [
|
|
"young",
|
|
"younger",
|
|
"youthful",
|
|
"youngest",
|
|
"teen",
|
|
"teens",
|
|
"teenage",
|
|
"teenager",
|
|
"adolescent",
|
|
"juvenile",
|
|
"childlike",
|
|
"child-like",
|
|
"childish",
|
|
"girlish",
|
|
"boyish",
|
|
"immature",
|
|
"innocent looking",
|
|
"baby face",
|
|
"babyface",
|
|
"daughter",
|
|
"stepdaughter",
|
|
"son",
|
|
"stepson",
|
|
"niece",
|
|
"nephew",
|
|
"student",
|
|
"pupil",
|
|
"schoolyard",
|
|
"playground",
|
|
"nursery"
|
|
],
|
|
"minor_body": [
|
|
"petite",
|
|
"small",
|
|
"tiny",
|
|
"little",
|
|
"smallest",
|
|
"undeveloped",
|
|
"flat chest",
|
|
"flat chested",
|
|
"flatchest",
|
|
"no breasts",
|
|
"small breasts",
|
|
"budding",
|
|
"developing",
|
|
"slim body",
|
|
"skinny body",
|
|
"child body",
|
|
"short stature",
|
|
"small frame",
|
|
"delicate frame",
|
|
"hairless"
|
|
],
|
|
"minor_tag": [
|
|
"1girl",
|
|
"1boy",
|
|
"2girls",
|
|
"2boys",
|
|
"female child",
|
|
"male child",
|
|
"loli face",
|
|
"young face",
|
|
"small body"
|
|
],
|
|
"allowlist": {
|
|
"_note": [
|
|
"Phrases masked out BEFORE scoring, so an age word inside a proper noun does not trip.",
|
|
"Seeded from a real false positive: 'Raven from Teen Titans' was sanitized because of",
|
|
"the bare word 'teen'. Masking is phrase-level - the rest of the prompt still scores.",
|
|
"SAFETY: an entry may not contain a minor_hard term or a numeric age. content_policy.py",
|
|
"validates this on load and refuses to run if violated, so the allowlist cannot be used",
|
|
"to punch a hole in the policy."
|
|
],
|
|
"phrases": [
|
|
"teen titans",
|
|
"teenage mutant ninja turtles",
|
|
"teenage mutant",
|
|
"little mermaid",
|
|
"little red riding hood",
|
|
"little witch academia",
|
|
"baby oil",
|
|
"babydoll",
|
|
"baby doll",
|
|
"baby blue",
|
|
"baby pink",
|
|
"baby hair",
|
|
"baby bangs",
|
|
"babyface freckles",
|
|
"small town",
|
|
"small business",
|
|
"little black dress",
|
|
"young adult",
|
|
"new york",
|
|
"student of the arts",
|
|
"teen wolf",
|
|
"little italy"
|
|
]
|
|
}
|
|
} |