CICC audits don't scare you when the platform is built for them.
ExpatReady ships with the compliance infrastructure Canadian immigration regulators expect. Immutable audit log on every entity. Designated person workflow with signature stamping. Custom roles with granular permissions. Multi-office data isolation. Built so your firm passes, and stays in good standing.
Audit log on every entity
Every create, update, and delete on every entity, cases, prospects, documents, retainers, payments, writes to AuditLog. Who did it, when, IP address, user agent, before/after state. Append-only. No admin can delete an entry.
- Decorator-driven · every controller method instrumented
- Captures: actor, timestamp, IP, user agent, before/after
- Append-only schema · no UPDATE or DELETE API
- Filterable by date, user, action, entity type
- Export to PDF for CICC audits
Designated Person · CICC-aware by design
Assign your firm's CICC-licensed Designated Person at the firm level (per CICC requirement of one Designated Representative per firm). Their signature is stamped on outbound retainers and filings. Their license number is tracked. Their approval is recorded on every required action across all offices.
- One DesignatedPerson per firm, matches CICC requirement
- Signature image on file · stamped on outbound docs
- License number tracked · CICC R-XXXXXX
- Required approval on retainers + filings across all offices
Custom roles with granular permissions
Define the roles your firm actually has, RCIC, Paralegal, Billing Admin, Reviewer, Junior Associate. Each role gets a permission group. System roles are protected (can't be deleted). Custom roles are fully mutable.
- PermissionGroup · groups granular permissions
- Role · isSystemRole flag protects core roles
- Plan-based default role provisioning
- Per-endpoint enforcement via JwtGuard + RolesGuard
Multi-office data isolation
Multi-office firms get true data isolation per office. Users belong to one or more offices via UserOffice. Cross-office access requires explicit permission. Per-office settings: SMTP, payment, hours, invoice numbering.
- Office model · per-office config
- UserOffice junction · user → many offices
- Cross-office permission groups
- Audit log filtered by office
The operating system Canadian immigration practice deserves.
From $199 CAD/seat (annual). Unlimited cases. Unlimited client-portal users. No per-form or per-case fees. White-glove migration included with Practice tier and above.