Compliance

Compliance you can glance at, not chase.

CPD progress per RCIC, PLI renewal, trust variance, open audit items — all on one page. CICC annual report exports in one click. Audit log partitioned by month and append-only at the database level.

Audit retention
10 years
Append-only
DB-enforced
PLI tracking
Per RCIC
CPD hours
Per RCIC
app.anyimmi.com/compliance

Compliance

CICC year · Jul 2025 → Jun 2026
● On track
PLI
$2.0M
Renews 2026-09-14
E&O
Filed
Q1 2026 · CICC portal
Trust variance
$0.00
Reconciled Apr 21
Open audit
3
1 urgent
CPD hours · Team
4 RCICs · YTD
RCICLicenceStructured (16h req)Unstructured (8h req)
Jaspreet LalliR511234
12/16h
6/8h
Anjali KaurR522890
10/16h
4/8h
Maya KrishnanR534112
15/16h
8/8h
Daniel ChenR541907
3/16h
1/8h
Audit log retention
Client records
10 years
Trust transactions
7 years
AI tool calls
7 years
Audit events
10 years · append-only
Data residency
All records stored in ca-central-1. Non-CA LLM calls require explicit firm opt-in with 21-field PII scrub.
Open items
AUD-204in 2d
Client file missing signed agreement
Case AI-…-0179
AUD-203in 11d
Retainer invoice older than 60d
Case AI-…-0172
AUD-202in 24d
Designated Person designation due for refresh
Case
Licensed scope
Temporary Residence — licensed
Permanent Residence — licensed
Citizenship — licensed
H&C submissions — licensed
Court representation — not licensed

Compliance · CICC year view · team CPD · PLI · variance · open items

How it works

Three steps. Opinionated defaults.

  1. 01

    Configure policy

    Set licensed scope, CPD requirements (16 structured + 8 unstructured by default), PLI carrier + renewal date, and retention policy.

  2. 02

    Everything logs

    Every case action, message, AI tool call, and trust transaction writes to the audit log. Partitioned by month. UPDATE and DELETE denied at the Postgres policy layer.

  3. 03

    Export annual report

    CICC Annual Report — Representatives register, Designated Person, case count, trust variance, open items — generates in one click as PDF + CSV workpaper.

Objection handling

The three questions we always get.

Q

What exactly is "append-only at the DB"?

A

The audit_events table has a Postgres policy that denies UPDATE and DELETE — period. Not a trigger, a policy. Even the application's service role cannot mutate rows. Corrections are captured as new rows referencing the original.

Q

How do you handle licensed-scope gating?

A

Defense in depth. The app layer restricts action buttons to licensed scopes. The DB layer also enforces it via a Postgres policy tied to the RCIC's licence record. An unauthorized action is rejected even if the app layer is bypassed.

Q

What if a consultant lets their CPD lapse?

A

AnyImmi warns at 30/14/7 days before CICC year-end if hours are short. If the year closes without hours logged, the consultant's ability to file new cases is gated at the app layer until the firm owner records remediation.

See compliance live in your firm.

Trial for 14 days. Data stays in Canada. Walk away clean — we'll export it.