Ozgur Unlu
compliance rules into separate files. Small Gradio UI changes
0418a32
# US SEC compliance rules for marketing materials
SEC_RULES = {
"required_disclaimers": [
{
"type": "past_performance",
"text": ["past performance is not indicative of future results",
"past returns do not guarantee future performance"],
"severity": "high"
},
{
"type": "investment_risks",
"text": ["investment involves risk",
"you may lose your principal",
"investments may lose value"],
"severity": "high"
},
{
"type": "regulatory_statement",
"text": ["registered with the Securities and Exchange Commission",
"SEC regulated"],
"severity": "medium"
}
],
"prohibited_terms": [
{
"term": "guaranteed returns",
"variations": ["guarantee profits", "assured returns", "guaranteed investment"],
"severity": "high",
"context_check": True
},
{
"term": "risk-free",
"variations": ["no risk", "zero risk", "riskless"],
"severity": "high",
"context_check": True
},
{
"term": "sure thing",
"variations": ["cant lose", "never lose", "always profits"],
"severity": "high",
"context_check": False
}
],
"channel_specific_rules": {
"email": {
"required": ["unsubscribe option", "physical address"],
"character_limit": None
},
"social": {
"required": ["#ad", "disclosure"],
"character_limit": {
"twitter": 280,
"instagram": 2200,
"linkedin": 3000
}
},
"print": {
"required": ["full disclaimer", "company details"],
"font_size_minimum": "8pt"
}
},
"risk_scoring": {
"missing_disclaimer": 3,
"prohibited_term": 5,
"misleading_statement": 4,
"risk_thresholds": {
"low": 2,
"medium": 5,
"high": 8
}
}
}