CommunityPay generates resale certificates under jurisdiction-specific statutory requirements. The compliance profile registry is the system that maps those requirements to the data sections, mandatory disclosures, and constraints that govern each certificate. This page describes how the registry is structured, what it contains, and how it supports multi-jurisdiction expansion.
Why Profiles, Not States
A compliance profile is not keyed by state. It is keyed by the specific statutory regime that governs the certificate. This distinction matters because a single state can have multiple concurrent regimes.
Washington State is the clearest example. Two statutes govern condominium and common interest community resale certificates:
| Statute | Applies To | Required Items |
|---|---|---|
| RCW 64.34.425 | Condominiums formed before July 2018 | 20 |
| RCW 64.90.640 | Communities formed after July 2018, or those that have opted in | 26 |
All Washington communities will transition to WUCIOA (RCW 64.90) by January 1, 2028. Until then, both regimes are active. A resale certificate generated for a 1995 condominium must comply with RCW 64.34.425. A certificate generated for a 2020 planned community must comply with RCW 64.90.640.
If the registry were keyed by state, it would have to guess which regime applies — or require the caller to specify. By keying on the compliance regime itself, the registry eliminates ambiguity. The caller selects the profile; the profile determines the requirements.
Profile Structure
Each compliance profile contains five categories of information:
1. Statutory Identity
| Field | Example (WA Condo) | Example (WA WUCIOA) |
|---|---|---|
| Name | Washington Condominium Act | Washington Uniform Common Interest Ownership Act |
| State | WA | WA |
| Statute | RCW 64.34.425 | RCW 64.90.640 |
2. Operational Constraints
| Field | WA Condo | WA WUCIOA |
|---|---|---|
| Delivery deadline | 10 days | 10 days |
| Preparation fee cap | $275.00 | $275.00 |
| Update fee cap | $100.00 | $100.00 |
| Buyer review period | 5 days | 5 days |
These constraints are from the statutes, not from CommunityPay policy. The system enforces them as part of certificate generation — for example, the preparation fee displayed on the certificate cannot exceed the statutory cap defined in the profile.
3. Required Items
Each required disclosure item is a structured entry with:
| Field | Purpose |
|---|---|
| Code | Stable identifier (e.g., ASSESSMENTS_DUE) |
| Statute reference | Subsection of the governing statute (e.g., (b)) |
| Label | Human-readable description of the requirement |
| Data key | Key used to look up the corresponding data section in the evidence snapshot |
The code is stable across versions. If the statute is amended and the item changes, the profile is versioned — the code itself does not change, preventing downstream breakage in reporting and analytics.
4. Mandatory Disclosures
Verbatim text blocks that must appear on the certificate. These are statutory requirements, not CommunityPay editorial.
Washington Condominium Act (RCW 64.34.425):
| Disclosure | Content Summary |
|---|---|
| Buyer Cancellation | Purchase agreement voidable until certificate provided and for five days thereafter |
Washington WUCIOA (RCW 64.90.640):
| Disclosure | Content Summary |
|---|---|
| Buyer Cancellation | Purchaser may cancel within five days of receiving the certificate |
| Conspicuous Notice | Unit is part of a common interest community; assessments are mandatory; failure to pay may result in lien and foreclosure |
WUCIOA requires the conspicuous notice in addition to the cancellation rights disclosure. This is a substantive difference between the two regimes — the newer statute requires buyers to be explicitly warned about assessment obligations and foreclosure risk.
These text blocks are embedded in the profile definition. They cannot be edited, paraphrased, or omitted during certificate generation. The generator includes them verbatim from the profile.
5. Profile Status
Profiles have an implicit status:
| Status | Meaning |
|---|---|
| Active | Required items are mapped; profile is available for certificate generation |
| Stub | Statutory reference and jurisdiction identified; required items not yet mapped |
Active profiles have fully mapped required items and mandatory disclosures. Stub profiles exist to declare the jurisdiction and statute reference without claiming completeness. The system will not generate a certificate under a stub profile.
Active Profiles
Washington Condominium Act (wa_condo_64_34)
20 required disclosure items covering:
- Alienability restraints — right of first refusal or free alienability restrictions (a)
- Financial status — assessments, delinquency, special assessments (b)
- Association past-due obligations (c), (d)
- Other fees payable by unit owners (e)
- Anticipated repairs exceeding 5% of annual budget (f)
- Reserve fund amounts and designations (g)
- Annual financial statement and audit report (h)
- Balance sheet within 120 days on accrual basis (i)
- Current operating budget (j)
- Judgments and pending litigation (k)
- Insurance coverage description (l)
- Unit violations (m), declarant units (n), code violations (o)
- Leasehold terms (p)
- Governing documents (q)
- Warranty coverage (r)
- EV charging requirements (s)
- Reserve study absence disclosure (t)
Washington WUCIOA (wa_wucioa_64_90)
26 required disclosure items. Includes all items from the Condominium Act profile plus:
- Sale proceeds restrictions (q) — declaration restrictions on sale proceeds
- Cooperative tax deductibility (r) — cooperative-specific tax statement
- Common element sale or encumbrance (s) — pending sale of common elements
- Use, occupancy, and rental restrictions (t)
- Board and association meeting minutes from last 12 months (u)
- Age-related occupancy restrictions (w)
- Conspicuous notice regarding community membership obligations (z)
The WUCIOA profile reflects the broader scope of the newer statute — it covers areas (cooperative provisions, use restrictions, meeting minutes, age restrictions) that the older Condominium Act does not require in the resale certificate.
Stub Profiles
Two profiles exist as stubs for future activation:
| Profile | Statute | State | Status |
|---|---|---|---|
| ca_civ_4525 | Cal. Civ. Code 4525-4530 | CA | Stub |
| or_ors_94_670 | ORS 94.670 | OR | Stub |
Stubs define the statutory reference and jurisdiction but have empty required item lists and no mandatory disclosures. They serve as typed declarations of intent — the registry knows these jurisdictions exist and will be supported, but the detailed item mapping has not been completed.
California Notes
California uses an "actual cost" model for certificate preparation fees rather than a statutory cap. The prep_fee_cap and update_fee_cap fields are None for the California stub. When the profile is activated, the fee model will differ from Washington's capped approach.
Oregon Notes
Oregon's Planned Community Act (ORS 94.670) governs resale certificates for planned communities. The delivery deadline is 10 days, consistent with Washington's requirement.
How Profiles Drive Generation
When a resale certificate is generated:
-
Profile selection: The caller specifies the compliance profile key (e.g.,
wa_condo_64_34). The registry returns the full profile definition. -
Item enumeration: The generator iterates over the profile's required items. For each item, it uses the
data_keyto look up the corresponding data section builder. -
Section assembly: Each data section builder queries production models (AR invoices, fund balances, insurance policies, etc.) and returns a structured data payload — or an "unknown" payload if the data is not available in the system.
-
Mandatory disclosure insertion: The profile's mandatory disclosure text blocks are included verbatim in the evidence snapshot.
-
Compliance check: After assembly, the generator computes coverage — how many required items have live data versus "unknown" payloads. The gap list identifies specific statute subsections with missing data.
-
Content hash: The complete evidence snapshot (including all data sections, mandatory disclosures, and compliance check results) is hashed with SHA-256.
The generator does not know which statute governs the certificate. It does not contain statute-specific logic. All jurisdiction-specific behavior comes from the profile. This means the same generator produces certificates under any profile — current or future.
Adding a New Jurisdiction
Activating a new compliance profile requires:
- Statutory research: Map each required disclosure item from the statute to a code, statute reference, label, and data key
- Data key mapping: Ensure each data key corresponds to a section builder that can produce the required data from CommunityPay's models
- Fee and deadline parameters: Define preparation fee caps, update fee caps, delivery deadlines, and buyer review periods from the statute
- Mandatory disclosures: Extract verbatim text blocks that the statute requires on the certificate
- Profile activation: Remove the
_status: STUBmarker
No changes to the generation engine, snapshot assembly, compliance check computation, or cryptographic infrastructure are required. The engine is jurisdiction-agnostic; the profile provides the jurisdiction-specific mapping.
Helper Functions
The registry provides utility functions for common operations:
| Function | Purpose |
|---|---|
| get_profile(key) | Return a single profile by key |
| get_profiles_for_state(state_code) | Return all active profiles for a state |
| get_active_profiles() | Return all non-stub profiles |
| get_all_profile_choices() | Return (key, label) tuples for form select widgets |
These functions filter out stub profiles by default. Forms and UIs that display available profiles only show active profiles with fully mapped requirements.
How CommunityPay Enforces This
- Profiles keyed by compliance regime, not state — one state can have multiple concurrent statutes
- Washington Condominium Act (RCW 64.34.425): 20 required disclosure items with statute subsection mapping
- Washington WUCIOA (RCW 64.90.640): 26 required items covering the expanded statutory scope
- Mandatory disclosure text blocks embedded in the profile definition — cannot be edited or omitted at generation time
- Fee caps, delivery deadlines, and buyer review periods defined per profile from statutory requirements
- California (Civil Code 4525-4530) and Oregon (ORS 94.670) exist as typed stubs for future activation