Files
Moser9815-ComfyUI-RMAutomation/data/content_policy.json.migrated
2026-08-24 13:49:00 -04:00

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"
]
}
}