Civic Identity
The foundational identity layer for the entire Civic platform — one person, one record, every department.
Products Consuming
Verification Tiers
SSO Latency (p99)
Uptime SLA
Purpose-Built for Canadian Municipalities
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.
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
10Delegated to
6Payment processing
Notification delivery
Role-based access control enforcement
Audit log storage
Form rendering
GIS / address parcel data
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
- 1Sarah creates a Basic account with just her email and a password
- 2She browses public information and reports a pothole — no verification needed
- 3When she tries to view her property tax account, the system prompts identity verification
- 4She uploads her Ontario driver's licence and takes a selfie — AI verifies in under 60 seconds
- 5Now Verified (Level 1), she links her property, sets up a household, and registers for recreation
- 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
- 1James's mother (Premium-verified) initiates a delegation from her account
- 2She specifies the scope: property tax and utility for her property address only
- 3She confirms the delegation using her own verified identity
- 4James receives an invitation and completes his own identity verification
- 5James can now view statements, make payments, and update mailing address — but cannot access recreation or other services
- 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
- 1Priya registers her corporation in the Business Entity Registry with Ontario Business Number and HST details
- 2She links herself as owner and adds her accountant as an authorized agent with limited scope
- 3When the licence renewal requires Verified identity, Priya completes knowledge-based verification using her property tax assessment amount
- 4She adds the second property address, and the system automatically links it to the relevant municipal services
- 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
- 1David opens his Consent Dashboard and sees all consent records — active, expired, and revoked
- 2He initiates an MFIPPA data access request through the self-service portal
- 3The system automatically searches all Civic modules for any data associated with his identity
- 4The FIPPA coordinator reviews the results, applies any applicable exemptions (s.6–15), and prepares the response
- 5David receives his data as a redacted PDF/A within the 30-day statutory deadline
- 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.
/api/v1/citizens
Register new citizen account (progressive)
/api/v1/citizens/{id}
Retrieve citizen profile (privacy-filtered)
/api/v1/citizens/{id}
Update profile fields
/api/v1/citizens/{id}/timeline
Cross-department interaction timeline
/api/v1/citizens/search
Fuzzy search (name, email, phone, address)
/api/v1/citizens/{id}/merge
Merge duplicate records (data steward)
/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
Latency — SSO
Latency — Profile
Throughput
Encryption
Backup & Recovery
Data Retention
FAQ
Frequently Asked Questions
Ready to Integrate
Build on Civic Identity
Request an architecture brief, integration guide, or live demo environment for your team.