All Docs
FeaturesDepositClearUpdated March 10, 2026

In-App Compliance Help & Regulatory Updates

In-App Compliance Help & Regulatory Updates

Added in v0.1.57

DepositClear's compliance dashboard now includes two features to help UK letting agents understand their legal obligations and stay current with legislative changes: contextual help articles embedded inside issue cards, and a Regulatory Updates feed with automated weekly notifications.


Contextual Compliance Help Articles

When you expand a compliance issue card, a guidance panel appears below the remediation advice. This panel loads an article specific to the rule that raised the issue.

What's in an article

  • Summary — a concise plain-English description of the rule
  • Full guidance body — expandable detail including deadlines, thresholds, and obligations
  • GOV.UK links — direct links to the authoritative legislation or guidance on GOV.UK

Covered rules (v0.1.57)

RuleLegislation
Deposit protection 30-day deadlineHousing Act 2004, s.213
Recording the deposit protection schemeHousing Act 2004
Deposit cap complianceTenant Fees Act 2019
How to Rent guide servingDeregulation Act 2015
Periodic tenancy transitionRenters' Rights Act 2024
Section 21 abolitionRenters' Rights Act 2024

How it works

Articles are stored in the compliance_help_articles table and seeded lazily on first access — there is nothing to configure. The ComplianceHelpInline component is rendered inside every expanded issue card and fetches the relevant article via the complianceHelp.helpForRule tRPC procedure.


Regulatory Updates Feed

The compliance dashboard now has two tabs: Issues (the existing view) and Regulatory Updates.

The Regulatory Updates tab

  • Displays a feed of legislative announcements relevant to UK letting agents
  • Each update card is expandable for full detail
  • An unread badge on the tab header shows how many updates you haven't seen yet
  • A Mark all read button clears all unread state in one action
  • Read/unread state is tracked per user — each team member has their own view

Pre-seeded updates (v0.1.57)

UpdateStatus
Renters' Rights Act 2024 — Royal Assent✅ In force
Section 21 abolition⏳ Pending commencement order
Deposit cap threshold confirmation✅ Confirmed
How to Rent guide — January 2024 update✅ Published
MEES EPC Rating E enforcement✅ In force

Weekly Notification Cron

A background job (regulatory-updates-notifier) runs every Monday at 08:00 UTC via Inngest.

What it does:

  1. Queries all regulatory updates where notifiedAt IS NULL
  2. For each unnotified update, dispatches an in-app notification to every member of every organisation
  3. Stamps the update row with the current timestamp in notifiedAt so it is never re-sent

This ensures agents are automatically alerted to new legislative changes without needing to check the dashboard manually.


tRPC Procedures

All compliance help and regulatory update data is accessed through the complianceHelp router.

complianceHelp.helpForRule

Fetches the help article associated with a given compliance rule.

// Input
{ ruleId: string }

// Returns
{
  id: string;
  ruleId: string;
  title: string;
  summary: string;
  body: string;
  govUkLinks: { label: string; url: string }[];
}

complianceHelp.listUpdates

Returns all regulatory updates with per-user read state.

// Input
{ orgId: string }

// Returns
{
  id: string;
  title: string;
  summary: string;
  category: string;
  publishedAt: string;
  isRead: boolean;
}[]

complianceHelp.unreadUpdateCount

Returns the number of updates the current user has not yet read.

// Input
{ orgId: string }

// Returns: number

complianceHelp.markUpdateRead

Marks a single regulatory update as read for the current user.

// Input
{ updateId: string; orgId: string }

complianceHelp.markAllUpdatesRead

Marks all regulatory updates as read for the current user.

// Input
{ orgId: string }

Database Schema

compliance_help_articles

Stores the guidance article library. Populated lazily on first access.

ColumnTypeNotes
iduuidPrimary key
ruleIdtextMaps to a compliance rule identifier
titletextArticle heading
summarytextShort plain-English summary
bodytextFull guidance content
govUkLinksjsonbArray of { label, url } objects

regulatory_updates

Stores regulatory change announcements.

ColumnTypeNotes
iduuidPrimary key
titletextUpdate headline
summarytextPlain-English summary
categoryregulatory_update_categoryEnum
publishedAttimestampDate of legislative event
notifiedAttimestampSet when the cron has dispatched notifications; NULL = not yet sent

regulatory_update_reads

Per-user read tracking.

ColumnTypeNotes
iduuidPrimary key
updateIduuidFK → regulatory_updates
userIdtextUser identifier
readAttimestampWhen the user read the update

Component Reference

ComponentLocationPurpose
ComplianceHelpInlinesrc/app/dashboard/compliance/compliance-help-inline.tsxRenders the help article inside an expanded issue card
RegulatoryUpdatesPanelsrc/app/dashboard/compliance/regulatory-updates-panel.tsxFull updates feed with expandable cards and mark-read controls
ComplianceDashboardsrc/app/dashboard/compliance/compliance-dashboard.tsxRoot dashboard component; manages tab state and unread badge