Request a Demo
Platform Infrastructure

Civic Identity

The foundational identity layer for the entire Civic platform — one person, one record, every department.

30+

Products Consuming

3

Verification Tiers

<50ms

SSO Latency (p99)

99.95%

Uptime SLA

Purpose-Built for Canadian Municipalities

Ontario Compliant
MFIPPA Ready
AODA Accessible
Bilingual Support
Canadian Hosted
SOC 2 Aligned

How It Works

The identity journey, step by step

From first registration to golden record resolution — how a resident's identity evolves across the platform.

01

Progressive Registration

A resident starts with the absolute minimum — just email and password. No lengthy forms, no friction.

How it works

The system creates a Basic (Level 0) account immediately. Additional profile fields — name, address, phone, language preference, AODA accommodations — are collected only when a specific service requires them. This progressive approach keeps the front door open while still building a rich identity profile over time.

Step 1 of 6

Purpose & Scope

What this module owns

Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.

Owns

10

Delegated to

6

Payment processing

payment-engine

Notification delivery

notification-engine

Role-based access control enforcement

security-iam

Audit log storage

audit-trail

Form rendering

forms-engine

GIS / address parcel data

geospatial-engine

These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.

Core Capabilities

What it does

5 capability groups comprising 9 discrete capabilities — each with API surface, business rules, and data ownership.

The canonical store for every person who interacts with the municipality. Progressive registration — minimal fields upfront, additional data collected only when required.

Account Creation

Progressive registration — start with email + password, collect additional data only when needed for a specific transaction.

Profile Fields

Legal name, aliases, DOB, addresses, email(s), phone(s), preferred language (en/fr), preferred channel, AODA accommodation needs.

Soft-Delete Only

Deceased, merged, or deactivated records are never physically deleted (MFIPPA retention). Tombstone record preserves the identifier.

Unique Identifier

System-generated UUID with optional human-readable CIV-XXXXXXXX display ID. Never uses SIN or government-issued identifiers as PK.

Manages every business entity the municipality interacts with — corporations, sole proprietorships, partnerships, non-profits, BIAs, and government agencies.

Entity Types

Corporation, sole proprietorship, partnership, non-profit, association, BIA, government agency, Indigenous community.

Fields

Legal name, operating name, Ontario Business Number, HST registration, registered address, NAICS code, incorporation date.

Contact Roles

Owner, authorized agent, compliance officer, accounts payable contact — each linked to a Citizen Account with role-specific permissions.

Lifecycle Tracking

Registration → active → ownership change → amalgamation → dissolution, with full history preservation at every stage.

Real-World Scenarios

Who uses this, and how

4 persona-driven scenarios showing how Civic Identity works in practice — from resident registration to privacy compliance.

New Resident

First-Time Municipal Registration

Sarah just moved to the municipality and needs to set up property tax and utility accounts, register her kids for recreation programs, and license her dog.

Steps

  1. 1Sarah creates a Basic account with just her email and a password
  2. 2She browses public information and reports a pothole — no verification needed
  3. 3When she tries to view her property tax account, the system prompts identity verification
  4. 4She uploads her Ontario driver's licence and takes a selfie — AI verifies in under 60 seconds
  5. 5Now Verified (Level 1), she links her property, sets up a household, and registers for recreation
  6. 6All services share her verified identity — no re-entering information across departments

Outcome

One registration, one verification, and Sarah has full access across 6 different municipal services — property tax, utility, recreation, animal services, 311, and waste management.

View scenario

Family Member

Managing Accounts for an Elderly Parent

James's mother is 82 and struggles with technology. He needs to manage her property tax and utility payments while she retains control over her own accounts.

Steps

  1. 1James's mother (Premium-verified) initiates a delegation from her account
  2. 2She specifies the scope: property tax and utility for her property address only
  3. 3She confirms the delegation using her own verified identity
  4. 4James receives an invitation and completes his own identity verification
  5. 5James can now view statements, make payments, and update mailing address — but cannot access recreation or other services
  6. 6Every action James takes is logged against both his and his mother's accounts

Outcome

Granular, auditable delegation lets families support elderly relatives without compromising privacy or security. James's mother can revoke access at any time with a single click.

View scenario

Business Owner

Business Licence Renewal with Multiple Properties

Priya owns a restaurant through her corporation and needs to renew her business licence, update her HST registration, and manage permits for a second location.

Steps

  1. 1Priya registers her corporation in the Business Entity Registry with Ontario Business Number and HST details
  2. 2She links herself as owner and adds her accountant as an authorized agent with limited scope
  3. 3When the licence renewal requires Verified identity, Priya completes knowledge-based verification using her property tax assessment amount
  4. 4She adds the second property address, and the system automatically links it to the relevant municipal services
  5. 5Her accountant can view financial records and submit payments, but cannot modify contact information or apply for permits

Outcome

One business identity shared across licensing, permits, property tax, and procurement — with role-based access for each contact person and full lifecycle tracking from registration through dissolution.

View scenario

Privacy-Conscious Resident

MFIPPA Data Access Request

David wants to know exactly what personal information the municipality holds about him across all departments and exercise his right to access under MFIPPA.

Steps

  1. 1David opens his Consent Dashboard and sees all consent records — active, expired, and revoked
  2. 2He initiates an MFIPPA data access request through the self-service portal
  3. 3The system automatically searches all Civic modules for any data associated with his identity
  4. 4The FIPPA coordinator reviews the results, applies any applicable exemptions (s.6–15), and prepares the response
  5. 5David receives his data as a redacted PDF/A within the 30-day statutory deadline
  6. 6All steps are tracked and timestamped for compliance audit purposes

Outcome

Complete transparency and control over personal data. The platform-wide identity layer makes MFIPPA compliance systematic rather than manual — every data element is traceable to its collection authority.

View scenario

Internal Architecture

How it's built

4 architectural layers comprising 24 components — from API gateway to data quality engine.

4 layers · 24 total components

Civic Identity

Every module owns a single bounded context, exposes stable APIs, and can be composed into any Civic product — that's the architecture that scales.

Krutik Parikh

Creator of Civic

Data Model

Entity Architecture

7 entities with 6 relationships — the authoritative schema for this bounded context.

Entities

Select an entity to explore its fields and relationships

API Surface

Integration Endpoints

28 RESTful endpoints across 6 resource groups — plus 13 domain events for async integration.

|
POST

/api/v1/citizens

Register new citizen account (progressive)

GET

/api/v1/citizens/{id}

Retrieve citizen profile (privacy-filtered)

PATCH

/api/v1/citizens/{id}

Update profile fields

GET

/api/v1/citizens/{id}/timeline

Cross-department interaction timeline

POST

/api/v1/citizens/search

Fuzzy search (name, email, phone, address)

POST

/api/v1/citizens/{id}/merge

Merge duplicate records (data steward)

GET

/api/v1/citizens/{id}/quality-score

Data quality grade for the record

Ecosystem

Products that depend on this module

20 Civic products consume Civic Identity — making it one of the most critical platform services in the ecosystem.

CRM

Constituent management, resident profiles, duplicate detection, household linking

View product →

Property Tax

Property-owner identity, mailing address, self-service portal authentication

View product →

Utility Billing

Customer identity, move-in/move-out, ownership transfer

View product →

Licences & Permits

Applicant/business identity, BCIN profiles, verification tier for applications

View product →

Recreation

Family/household registration, membership, AODA accommodation

View product →

Work Orders & 311

Requestor identity, service request linked to citizen account

View product →

Elections

Voter eligibility, ward/poll derivation from address

View product →

Internet & Telephone Voting

Voter authentication, credential management

View product →

Animal Services

Owner identity, household, licence holder

View product →

Parking

Account holder identity for permits and ticket disputes

View product →

Bylaw Enforcement

Property-owner and complainant identity

View product →

Cemetery

Rights holder identity, interment records

View product →

Social Housing

Applicant/tenant identity, household composition

View product →

Economic Development

Business CRM linked to business entity registry

View product →

Volunteer Management

Volunteer registration and profiles linked to civic-identity

View product →

HR & Payroll

Employee identity (staff accounts) federated through SSO

View product →

Court / POA

Defendant identity resolution

View product →

Transit

Rider accounts, paratransit eligibility

View product →

Digital Identity Portal

Self-service portal layer — My Civic Dashboard

View product →

Security System

Access card identity linked to staff accounts

View product →

Technical Specifications

Performance, Compliance & Configuration

Availability

Target99.95% uptime (critical path for all modules)

Latency — SSO

TargetToken validation < 50ms p99

Latency — Profile

TargetProfile lookup < 100ms p99

Throughput

Target500 concurrent auth requests; 10,000 profile lookups/min

Encryption

TargetAES-256 at rest; TLS 1.2+ in transit; DOB encrypted with separate key

Backup & Recovery

TargetRPO: 1 hour; RTO: 4 hours; cross-region backup

Data Retention

TargetActive: indefinite; Deactivated: 7 years per MFIPPA

FAQ

Frequently Asked Questions

Ready to Integrate

Build on Civic Identity

Request an architecture brief, integration guide, or live demo environment for your team.