The law an AI agent has to obey when it contacts a resident about unpaid rent — and, more to the point, the specific ways a texting agent breaks it without noticing.
This is engineering research, written to make counsel review fast rather than to replace it. ADR-0117 requires counsel sign-off before any capability gated on this analysis un-gates. Everything below is cited to primary sources — statute text, not summary sites — so the citations can be checked rather than trusted. Where the research surfaced something the shipped code does not yet enforce, that is called out explicitly in §11.
Delinquency is not "reminders with a firmer tone." It terminates in evictions and legal notices, and the failure mode is not an annoyed resident. It is one of two things:
Both are asymmetric. A collections agent that under-performs costs a little rent. A collections agent that mis-speaks once can void a filing, restart a 10-day clock, or hand a tenant statutory damages of three months' rent plus attorney fees. The rule that falls out of that asymmetry: the law first, the agent second.
The three provisions that most often surprise people are §4.3 (a text is never service), §3 (late fees can never drive an eviction), and §6.1 (some tenants are entitled to mediation before you may file at all). The most expensive provision, and the one least discussed, is §8.2 — retaliation.
Unusually prescriptive for a landlord-tenant statute, and it carries its own penalty, so it is worth knowing exactly rather than approximately.
| Rule | Value | Cite |
|---|---|---|
| Grace before any fee may be charged | 7 calendar days. The test is "late by at least seven" — so day 7 already qualifies. | 105(1) |
| Maximum fee | Greater of $50 or 5% of past-due rent | 105(2) |
| Must be disclosed in the rental agreement | Yes — undisclosed fee is unenforceable | 105(3) |
| Written notice of the fee due within | 180 days of the due date | 105(3) |
| Evict over an unpaid late fee | Prohibited — may not remove, exclude, or initiate a court process | 105(4) |
| Charge interest on a late fee | Prohibited | 105(4) |
| Recoup the fee out of a rent payment | Prohibited — rent is paid first | 105(4) |
| Landlord's cure window after written notice of a violation | 7 days | 105(5) |
| Exposure if uncured | $150–$1,000 per violation, plus deceptive-trade-practice liability | 105(6) |
Note the cap is the greater of the two arms, not the lesser — on a $400 balance the lawful cap is $50; on a $2,000 balance it is $100. Getting that backwards under-charges harmlessly. Getting the grace period wrong is a per-violation penalty.
Payments apply to rent before fees. If the ledger books a payment to fees first, two things are wrong at once: the application itself was unlawful under 105(4), and the rent balance the agent then quotes is inflated. A wrong balance in a collections message is not a rounding error — it is the factual predicate for everything else the message says.
Three separate statutes govern the demand, and it is common to know one and miss the others. § 13-40-104 says when and how long. § 13-40-106 says what it must say. § 13-40-108 says how it must be delivered. A demand that fails any of the three is defective.
| Period | Applies to | Cite |
|---|---|---|
| 10 days | Standard residential nonpayment — written notice demanding, in the alternative, payment of the rent or possession of the premises | 104(1)(d) |
| 5 days | Exempt residential agreement — a single-family home let by a landlord who owns five or fewer single-family rentals and whose agreement states the 10-day period does not apply. Both conditions. | 104(5)(b) |
| 3 days | Non-residential tenancies and employer-provided housing | 104(1)(d) |
This is the section most often skipped, and it is where the language and mediation obligations live.
Language. The demand must be written in English, Spanish, or any other language the landlord knows or has reason to know is the tenant's primary language. This makes tenant language preference a statutory element of a valid notice, not a courtesy. It also cuts both ways for us: an agent that has been conversing with a resident in Spanish is manufacturing "reason to know" for the landlord. Knowing the preference and then serving an English-only demand is worse than never having known.
Mediation disclosure. The demand must include a statement informing residential tenants who receive SSI, SSDI, or Colorado Works of their right to mediation before an eviction complaint is filed. The mediation right (§6.1) is not only a pre-filing condition — its disclosure is a required element of the notice itself.
The statute enumerates exactly three methods:
Email, SMS and portal messages are absent from that list. They are not service, however reliably they arrive. Colorado's common-law rule is to the same effect and is stricter than people expect: a demand merely read to the party is not sufficient — it must be made in writing and left with the party, or it is no demand at all.
Clara texts "consider this your 10-day notice." Two things have now happened. First, nothing was served, so the statutory clock never started and any filing that relies on it is defective. Second — and worse — we have created a durable written exhibit in which the landlord's agent misrepresented a legal notice to a tenant. The eviction fails on the notice, and the message is the reason it fails.
Rule: the agent never characterises anything it sends as a notice, a demand, or the start of any clock. The demand is a physical document a human delivers.
Within the City and County of Denver, a landlord serving a demand for rent or possession must also provide the written "Denver Tenant Rights and Resources" notice. Omitting it is a defect in the notice. Denver is an instance of a general problem, not a special case: the enclosure set must be resolved from the premises' municipality, never from the state.
Colorado courts apply strict compliance to the demand requirement, not substantial compliance. Where a notice is found deficient, the termination can be treated as ineffective — which does not merely delay the case; it can convert the posture into a holdover tenancy and expose the landlord to claims of improper termination or retaliation. The practical consequence is that every element in §4.2 is load-bearing, and the cheapest defect (a missing signature, an English-only notice to a Spanish-preferring household) is as fatal as the most substantive.
Payment in full during the notice period kills that notice outright. The landlord does not retain a banked right to proceed on it later.
A landlord who has filed a nonpayment action must accept payment of all amounts due under the notice, plus rent accrued while the case was pending, at any time until the court enters judgment for possession. The tenant may pay the landlord or the court; once payment is confirmed, the court must vacate any judgment already issued, with prejudice.
This is the provision that makes "your window has expired, it's too late" both false and dangerous. The notice window closes; the right to cure does not. An agent that tells a resident their opportunity has passed is stating something the statute contradicts — while they still have the money to fix it.
Landlords may decline partial payments. That distinction — full payment must be accepted, partial payment may be declined — is the hinge of §5.3.
Colorado follows the common rule that by accepting rent with knowledge of a lease violation, a landlord waives the right to terminate on that violation (Zeke Coffee v. V., 2010 Colo. Dist. LEXIS 1976). Accepting a partial payment after serving a demand gives the tenant an implied-waiver argument against that notice.
Waiver is an affirmative defense — it does not halt the case automatically; it has to be raised. But it is precisely the kind of defense that turns a routine filing into a contested one, and it is created by an ordinary, well-meant operational act: taking money from a resident who is trying to catch up.
This is the doctrinal reason ADR-0117 refuses to let the agent offer or accept payment-plan terms. Any partial-payment conversation needs a counsel-approved reservation-of-rights posture. An agent that cheerfully says "anything you can send helps" may have just waived the notice the office spent ten days building.
A landlord and residential tenant must participate in mediation before an eviction action may be commenced where the tenant receives supplemental security income, federal SSDI, or cash assistance through the Colorado Works program.
Sessions are administered by the Colorado Judicial Branch's Office of Dispute Resolution. Note the interaction with §4.2: the disclosure of this right is itself a required element of the demand, so a landlord cannot benefit from the tenant's silence if the notice never told them the right existed.
Effective 19 April 2024, a landlord may not file to evict without a statutorily valid reason, and may not use lease holdover or a refusal to renew as grounds. Nonpayment after proper notice remains a valid cause — so this does not obstruct the collections path, but it does mean the notice's stated grounds (§4.2, element 1) have to be a real statutory cause and have to match what is later pleaded.
| Stage | Instrument | Timing |
|---|---|---|
| Complaint | JDF 101 — Eviction Complaint (residential) | After the notice period runs and mediation (if owed) occurs |
| Demand form | JDF 99 — Demand for Compliance or Possession | Served before filing |
| Answer | JDF 103 — Eviction Answer (residential tenant) | Tenant's opportunity to raise §8 defenses |
| Judgment | Judgment for possession | Tenant may cure in full up to this moment (§5.2) |
| Writ stay | § 13-40-122 | 48 hours minimum after judgment — statutory, cannot be waived |
| Writ execution | Sheriff | Not until 10 days after judgment for a residential tenancy; 30 days where the tenant receives SSI / SSDI / Colorado Works. Daytime only, sunrise to sunset. |
The 30-day execution delay for cash-assistance recipients is the second place that status changes the timeline (mediation being the first). Any system that models "days to resolution" without branching on it will be wrong by three weeks for the most vulnerable cohort.
A tenant may assert breach of the warranty of habitability as an affirmative defense to a nonpayment eviction where the breach occurred within sixty days before, or during, the period for which rent is alleged owed — or where the uninhabitable condition persisted into that period.
Colorado does not permit unilateral rent withholding; the tenant must follow the statutory repair-and-deduct process or seek rent escrow. Where a habitability defense is raised, the court orders rent paid into the court registry, net of expenses the tenant already incurred because of the breach.
Retaliation under § 38-12-509 expressly includes:
Retaliation is an affirmative defense to an FED action, and where proven the court must award the greater of three months' rent or three times actual damages, plus attorney fees and costs.
Put the elements next to what a collections agent does for a living. Charging a late fee is "charging a fee, cost, or penalty." Mentioning that the office may file is "threatening to bring an action for possession." An escalating cadence is plausibly "action that intimidates, threatens, or harasses."
An earlier draft of this section said that once a resident complains, "every routine collections act becomes a candidate exhibit." That is too strong. § 38-12-509 does not attach unless the tenant also proves the landlord breached the warranty of habitability, and a separate rebuttable presumption favours the landlord that a termination for violation of the rental agreement was not retaliatory.
So the accurate statement is narrower: retaliation needs the protected-activity trigger (a good-faith habitability complaint, tenants'-association activity, or exercise of a § 38-12-507 remedy) and a proven breach. Where both are present the exposure is real and large — three months' rent or 3× actual, whichever is greater, plus fees. Where they are not, routine collection is not retaliation.
Recorded deliberately, and mirrored in the ruleset as retaliation.liabilityGate.
A compliance document that overstates a risk erodes trust in every other rule it states — and
an agent told everything is dangerous learns nothing about what actually is.
An open habitability complaint on a unit is not a reason to dun more carefully — it is a
reason to stop and route to a human. This is the single clearest case in the whole document
where the right engineering answer is "the agent declines to act," and it is why
assessCollectionsLegality returns mustRouteToHuman on exactly that signal.
A creditor collecting its own debt in its own name is not a "debt collector" under the FDCPA, and under Colorado's own act § 5-16-103(7) such a creditor is neither covered nor required to be licensed. PropFlow operates first-party — in the owner's or managing agent's name — so the collector regime does not bind on these facts.
Three ways that exemption is forfeited, all of them things we control:
Regulation F's substantive limits — the 7-calls-in-7-days presumption 1006.14 and the 8am–9pm inconvenient-time rule 1006.6 — cost us nothing to honour at the cadence ADR-0117 already specifies (three touches a month). The exemption is fact-dependent, and an operator who behaved like a collector while arguing they were not one has a much worse case than one whose conduct was clean either way. We treat the floor as free insurance, not as a concession that it binds.
Binds fully and independently of everything above. Quiet hours 8am–9pm in the recipient's local time, not ours. Opt-out honoured across channels. AI voice is "artificial voice" and sits at the highest consent bar — which is why the pilot is text and email only. Consent and opt-out records retained ≥4 years.
Collections is a housing transaction, so the Fair Housing Act applies to it as much as to leasing — a point that gets less attention than it deserves, because the FHA conversation in this industry is almost entirely about the leasing funnel.
HUD's 2016 Office of General Counsel guidance on LEP is the controlling framework. LEP persons are not themselves a protected class — but HUD's reasoning is that there is a close link between LEP and particular national-origin and race groups, so selective application of a language-related policy, or use of LEP as a pretext, violates the Act. Liability runs both to intentional discrimination and to practices with a disparate impact.
The disparate-impact framework is three-step:
"A less discriminatory alternative exists" is trivially easy to prove against an English-only automated collections system at a heavily Spanish-speaking property — the alternative is translating the message, and we demonstrably can. The moment we ship bilingual capability and apply it selectively, we have built the plaintiff's step-3 case for them.
Note this compounds with §4.2: Colorado separately requires the demand itself to be in the tenant's known primary language. Language access here is not a nicety; it is a statutory notice element and a federal disparate-impact exposure at the same time.
Two operational rules follow directly:
Every serious competitor ships delinquency automation: EliseAI's ResidentAI Delinquency, Entrata's Colleen AI acquisition, RealPage's Lumina reminders, AppFolio's own RealmX flows. The technology is deployed across more than a million US apartments. What is worth studying is not the feature set but the legal posture, because that is where they have exposed a flank.
EliseAI introduces itself with a human name and identifies as a virtual assistant only if the tenant asks directly — to the point that residents come to leasing offices asking for "Elise" by name. The National Housing Law Project's Director of Litigation, Eric Dunn, has publicly characterised not revealing the AI upfront as an "unfair and deceptive practice." Ethics and communication academics quoted in the New York Times described undisclosed AI communication with tenants as "risky" and "disrespectful."
PropFlow discloses. Every first-contact thread identifies Clara as the property's automated assistant with an easy path to a human. That is a product decision, but it is also a UDAP-deception hedge: the competitor posture is a live target for exactly the litigation organisation that is best resourced to bring it, and the cost of our alternative is one sentence of copy.
Colorado-specific note: SB24-205 was repealed and its replacement's AI-disclosure duties do not take effect until 1 January 2027. So there is no statutory disclosure mandate during the pilot. We disclose anyway — being early on the rule that is visibly coming is free.
The least-documented dimension across every vendor is payment-plan guardrails. Nobody publishes approval authority, dollar or term limits, or promise-to-pay kept/broken tracking. Given §5.3 — that accepting partial payment can waive the notice — that opacity is not an oversight, it is the genuinely hard part. Explicit, operator-configurable plan guardrails are therefore both the differentiation opportunity and the place to be most careful.
Trello KUSRbBx1 proposes auto-filling the formal demand from Folio data and emailing it to the PM to print, sign and deliver. This document supplies its requirements. The letter is JDF 99 — Demand for Compliance or Possession.
| Element | Source | Authority |
|---|---|---|
| Grounds for possession | Fixed — nonpayment | 106 |
| Specific description of the violation — amount owed and the period it covers | Ledger, rent only, fees excluded from the eviction predicate | 106 + 105(4) |
| Description of the premises | Unit + property address | 106 |
| Date and time premises to be delivered up | Computed from service date + applicable period (10 / 5 / 3) | 106 + 104 |
| Signature of landlord, agent, or attorney | Human — never auto-applied | 106 |
| Mediation-rights statement | Required text for SSI / SSDI / Colorado Works recipients | 106 + 127 |
| Language | Tenant's known primary language — English, Spanish, or other | 106 |
| Denver enclosure | "Denver Tenant Rights and Resources", where the premises are in Denver | DRMC |
The ruleset at src/lib/domain/compliance/collections/ is a projection of this
document — the machine-readable subset needed to gate outbound. It is deliberately narrower.
Below is an honest map of where the two currently stand, from PR #4783.
| Provision | Enforced in code? |
|---|---|
| Late-fee grace, cap, disclosure requirement | Yes — maxLawfulLateFee |
| Fee cannot drive eviction / no interest / rent-first | Yes — forbidden assertions |
| Electronic delivery is not service | Yes — drives the prohibition text |
| Notice periods 10 / 5 / 3 | Yes — noticeDaysFor |
| Mediation owed (§6.1) | Yes — flagged, with exemptions |
| Habitability → route to human (§8.1/8.2) | Yes — mustRouteToHuman |
| Quiet hours, unsupported-jurisdiction fail-closed | Yes |
| § 13-40-106 content elements (grounds, description, premises, date, signature) | Not yet — needed for the §12 generator, not for outbound gating |
| Language as a notice element (§4.2) | Not yet — ADR-0117 Phase 0 covers preference; the notice obligation is additional |
| Mediation-rights statement as a notice element | Not yet |
| § 13-40-115(4) cure-to-judgment (§5.2) | CLOSED (PR #4794) — CureRights.horizon + mayStillCureByPayment, computed from the horizon rather than the notice window. Unresearched jurisdictions fail closed toward the tenant keeping the right. |
| Waiver by accepting partial payment (§5.3) | Gap — carried as a caveat, not a rule |
| Retaliation elements (§8.2) | CLOSED (PR #4794) — protected activities, prohibited acts, damages, and the liability gate are all modelled; an open habitability complaint now raises an explicit prohibition, not just a routing note. |
| Writ timing, 30-day cash-assistance delay (§7) | Out of scope — post-filing, no agent surface |
Cure-to-judgment and retaliation are now closed (PR #4794). Cure-to-judgment went first because it was the one gap where the ruleset could let the agent say something the statute directly contradicts — and the only one whose failure mode costs a resident their home rather than costing us money.
Waiver by accepting partial payment (§5.3) remains open, mitigated only by ADR-0117 keeping payment plans human — a policy control, not an enforced one. It is the next candidate. The § 13-40-106 notice elements (content, language, mediation statement) are not gaps in the outbound gate; they are requirements for the §12 letter generator, and belong with that build.
| Cite | Provision |
|---|---|
| C.R.S. § 13-40-104 | Unlawful detention; notice periods; exempt residential agreement |
| C.R.S. § 13-40-106 | Written demand — required content, language, mediation statement |
| C.R.S. § 13-40-108 | Service of notice / demand |
| C.R.S. § 13-40-115(4) | Payment accepted until judgment (SB 21-173) |
| C.R.S. § 13-40-122 | Writ of restitution — 48h stay, 10/30-day execution delay |
| C.R.S. § 13-40-127 | Mandatory pre-eviction mediation (HB23-1120) |
| HB24-1098 | "For cause" eviction, eff. 2024-04-19 |
| C.R.S. § 38-12-105 | Late fees — caps, prohibitions, penalties |
| C.R.S. §§ 38-12-503, 507 | Warranty of habitability; tenant remedies |
| C.R.S. § 38-12-509 | Prohibition on retaliation |
| C.R.S. § 5-16-103(7) | CFDCPA — creditor definition / first-party exemption |
| 12 CFR §§ 1006.6, 1006.14 | Regulation F — inconvenient time; call frequency |
| 47 CFR § 64.1200 | TCPA — quiet hours, consent, opt-out |
| HUD OGC (2016) | Fair Housing Act protections for persons with LEP |
| JDF 99 / 101 / 103 | Colorado Judicial — demand, complaint, answer forms |
| Zeke Coffee v. V. | 2010 Colo. Dist. LEXIS 1976 — waiver by acceptance of rent |
Statute text verified 2026-07-28 via the Colorado General Assembly (leg.colorado.gov)
and FindLaw's Colorado Revised Statutes; procedural mechanics and forms via Colorado Judicial
(coloradojudicial.gov); the Denver enclosure via denvergov.org; federal
rules via ecfr.gov and consumerfinance.gov.
Re-verify at least annually. Colorado's landlord-tenant statutes have changed materially in each of the last four legislative sessions — HB21-1121, SB21-173, HB23-1120 and HB24-1098 all appear in this document, and all four post-date the product's founding assumptions. A ruleset that was right in 2024 is not automatically right now.