|
|
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() |