Curvestone

Monitor AR Firm Content for Policy Breaches

Set up continuous monitoring of appointed representative websites and social media for compliance breaches.

Who is this for

Network Compliance Officer. You oversee appointed representative (AR) firms and need to ensure their public-facing content — websites, social media profiles, and marketing materials — complies with network policy and FCA financial promotions rules.

What you'll do

  • Register monitoring targets — URLs, LinkedIn pages, Facebook profiles
  • Define the policy ruleset to check content against
  • Receive alerts with evidence snapshots when breaches are detected

Create a monitor

Use the /monitor endpoint to register targets and a policy ruleset. Curvestone will scan each target on the schedule you specify and alert the notification recipients when a breach is found.

create_monitor.py
python
from curvestone import Agent
agent = Agent()
# Set up monitoring for an AR firm
monitor = agent.monitor(
name="AR Firm — Premier Mortgages",
targets=[
{"type": "website", "url": "https://premiermortgages.co.uk"},
{"type": "social", "platform": "linkedin", "handle": "premier-mortgages"},
{"type": "social", "platform": "facebook", "handle": "PremierMortgagesUK"},
],
policy="network_financial_promotions_v2",
schedule="daily",
notify=["[email protected]"],
)
print(f"Monitor ID: {monitor.id}")
print(f"Status: {monitor.status}")
print(f"Next run: {monitor.next_run}")

Response

The monitor is created immediately and scheduled for its first run.

response.json
json
1{
2 "id": "mon_4kRx9mNpQ2",
3 "type": "monitor",
4 "status": "active",
5 "name": "AR Firm — Premier Mortgages",
6 "targets": [
7 { "type": "website", "url": "https://premiermortgages.co.uk" },
8 { "type": "social", "platform": "linkedin", "handle": "premier-mortgages" },
9 { "type": "social", "platform": "facebook", "handle": "PremierMortgagesUK" }
10 ],
11 "policy": "network_financial_promotions_v2",
12 "schedule": "daily",
13 "next_run": "2026-02-22T06:00:00Z",
14 "notify": ["[email protected]"],
15 "cost": "£15.00/month"
16}

Alert example

When a breach is detected during a scheduled scan, Curvestone creates an alert and sends notifications to the addresses you specified. Here is what an alert looks like:

alert.json
json
1{
2 "id": "alert_8mTx2kNpR5",
3 "monitor_id": "mon_4kRx9mNpQ2",
4 "severity": "red",
5 "target": {
6 "type": "website",
7 "url": "https://premiermortgages.co.uk/rates"
8 },
9 "breach": "Guaranteed rate claim without required disclaimer",
10 "policy_rule": "FCA COBS 4.2 — Fair, clear and not misleading",
11 "detected_at": "2026-02-21T14:32:00Z",
12 "snapshot_url": "https://agent.curvestone.ai/snapshots/snap_xxx"
13}

What happens

Scheduled scanning

Monitors run on the schedule you define — daily, weekly, or a custom cron expression. Each scan visits every target URL and social media profile, comparing the live content against your policy document.

Breach detection and evidence

When content violates a policy rule, an alert is created with the specific breach description and the applicable rule. The snapshot_url preserves a point-in-time capture of the page as evidence, even if the AR firm later edits or removes the content.

Flat-rate pricing

Monitoring costs a flat rate of £15 per month per monitor, regardless of how many targets it watches. A single monitor can track a website plus multiple social media profiles for one AR firm.