/checkReview Protection Advice
Check that protection recommendations alongside a mortgage are suitable and properly documented.
Who is this for
Compliance Officer at a mortgage network or brokerage. When a broker recommends a mortgage, they should also discuss and recommend protection products (life insurance, critical illness cover, income protection, buildings & contents). You need to check that the protection advice was suitable, properly documented, and meets FCA requirements — whether as part of a mortgage case review or as a standalone protection review.
What you'll do
- 1Submit the protection recommendation documents alongside (or separately from) the mortgage case
- 2The platform checks suitability of protection recommendations against the client's circumstances
- 3Verify that adequate reasons are documented for any protection declined by the client
- 4Receive findings on gaps in cover or documentation
The API call — with a mortgage case
Add the protection_review modifier to any mortgage case type to include protection checks alongside the standard compliance checks.
from curvestone import Agentagent = Agent() # reads CURVESTONE_API_KEY from env# Protection review as part of mortgage caseresult = agent.check(case_type="residential_mortgage",depth="full_check",modifiers=["protection_review"],documents=[open("fact_find.pdf", "rb"),open("suitability_letter.pdf", "rb"),open("protection_recommendation.pdf", "rb"),open("demands_and_needs.pdf", "rb"),],reference="CASE-2026-00451",)print(f"Triage: {result.triage}")print(f"Checks: {len(result.checks)}")print(f"Findings: {len(result.findings)}")
Standalone protection review
You can also run a protection-only review by using protection as the case type. This is useful when reviewing protection advice that was given independently of a mortgage.
from curvestone import Agentagent = Agent() # reads CURVESTONE_API_KEY from env# Standalone protection reviewresult = agent.check(case_type="protection",depth="full_check",documents=[open("fact_find.pdf", "rb"),open("protection_recommendation.pdf", "rb"),open("demands_and_needs.pdf", "rb"),],reference="PROT-2026-00088",)print(f"Triage: {result.triage}")print(f"Findings: {len(result.findings)}")
The response
RAG-scored results across both mortgage compliance and protection checks, with detailed findings for any issues.
1{2 "id": "job_5kRx2mNpQ3",3 "type": "check",4 "status": "completed",5 "triage": "amber",6 "reference": "CASE-2026-00451",7 "processing_time": "134s",8 "scoring": "rag",9 "checks": [10 { "name": "Suitability of Advice", "triage": "green" },11 { "name": "Income Verification", "triage": "green" },12 { "name": "Affordability Assessment", "triage": "green" },13 { "name": "Product Selection", "triage": "green" },14 { "name": "Disclosure & Consent", "triage": "green" },15 { "name": "Protection — Life Cover", "triage": "green" },16 { "name": "Protection — Critical Illness", "triage": "amber" },17 { "name": "Protection — Income Protection", "triage": "red" },18 { "name": "Protection — Buildings & Contents", "triage": "green" }19 ],20 "findings": [21 {22 "severity": "amber",23 "check": "Protection — Critical Illness",24 "finding": "Critical illness cover recommended at £150,000 but the client's outstanding mortgage is £285,000. Cover amount does not match the mortgage balance.",25 "remedial_action": "Document the rationale for the lower cover amount, or adjust the recommendation to match the outstanding mortgage balance."26 },27 {28 "severity": "red",29 "check": "Protection — Income Protection",30 "finding": "No income protection was recommended or discussed. The client is self-employed with no sick pay entitlement. The demands and needs document does not record any discussion of income protection or the client's reason for declining.",31 "remedial_action": "Record the income protection discussion in the demands and needs document. If the client declined, document the specific reasons and ensure the client understands the risk of having no income protection as a self-employed individual."32 }33 ],34 "cost": "£3.50"35}
What happens
Modifier or standalone — your choice
Protection review can run as a protection_review modifier on any mortgage case type (adding protection checks to the existing compliance checks) or as a standalone protection case type for protection-only advice. When used as a modifier, you get both mortgage compliance and protection suitability in a single API call.
Four protection types checked
The platform checks each protection type individually: life cover, critical illness, income protection, and buildings & contents. For each type, it verifies: was it discussed? Was a recommendation made? Does the cover amount match the client's circumstances? If the client declined, was the reason documented?
Findings tied to specific documents
Each finding references the specific check that flagged the issue and includes a concrete remedial action. In the example above, the amber finding on critical illness identifies a mismatch between the recommended cover amount and the mortgage balance. The red finding on income protection identifies a complete gap — no discussion recorded at all for a self-employed client.
Consumer Duty alignment
This is increasingly important as the FCA focuses on Consumer Duty and ensuring customers are getting good outcomes. Protection gaps are a key area of regulatory scrutiny — a client who takes on a large mortgage without adequate protection is not receiving good advice. The structured findings give you an auditable record that protection suitability was assessed.
Next steps
Mortgage Compliance Review
Run a full mortgage compliance check without the protection modifier.
Read moreMortgage Domain Reference
Full reference for protection as a standalone case type and as a modifier.
Read moreActors & Permissions
Understand the compliance officer actor role and its review capabilities.
Read more