| import gradio as gr |
|
|
| def audit_regbi(advice_text): |
| flags = [] |
| score = 100 |
| |
| |
| if "fiduciary" not in advice_text.lower(): |
| flags.append("⚠️ Missing 'Fiduciary' Standard acknowledgement.") |
| score -= 20 |
| if "conflict of interest" not in advice_text.lower() and "disclosure" not in advice_text.lower(): |
| flags.append("🚨 Critical: No Conflict of Interest Disclosure detected.") |
| score -= 40 |
| if "commission" in advice_text.lower() or "fee" in advice_text.lower(): |
| if "offset" not in advice_text.lower(): |
| flags.append("⚠️ Fee structure mentioned without 'Offset' or 'Net' clarification.") |
| score -= 15 |
| |
| if score < 60: |
| verdict = "FAIL: HIGH REGULATORY RISK" |
| else: |
| verdict = "PASS: COMPLIANT" |
| |
| return f"VERDICT: {verdict}\nRISK SCORE: {score}/100\n\nFINDINGS:\n" + "\n".join(flags) |
|
|
| iface = gr.Interface( |
| fn=audit_regbi, |
| inputs=gr.Textbox(lines=10, placeholder="Paste Investment Advice / Client Email here..."), |
| outputs="text", |
| title="⚖️ WealthGuard RegBI Auditor", |
| description="Audits client communications for SEC Regulation Best Interest (Reg BI) compliance markers." |
| ) |
| iface.launch() |