# Frequency of contact

We have limits on how often we contact you. Here are the rules the platform actually enforces.

## Calls

* **Hours: 8 am to 9 pm** debtor-local time. The voice scheduler explicitly blocks calls outside that window (and refuses to call at all if it can't determine the debtor's timezone).
* **State-level call-frequency caps** apply where the state has one in `config/compliance/states.json`. See the state-specific section below.
* **Federal Regulation F's 7-calls-in-7-days rule** is not enforced as a global default in the current engine — it's enforced only where a state's `call_frequency_limit` field is set.

## Emails

* The platform runs a structured **email sequence** scheduled in the `EmailSequence` table. The sequence advances on the worker's tick when `next_send_at` is due.
* If you reply, the sequence dispatcher inspects the reply intent and either pauses the sequence (`dispute`, `unsubscribe`, `cease_all_contact`) or continues.
* If a send fails (e.g. Postmark 5xx), the sequence pushes `next_send_at` out by 30 minutes instead of advancing — you don't get spammed because of an upstream incident.

## SMS (text messages)

We do **not** currently send SMS.

## When we'll stop contacting you

The platform stops or pauses contact in these situations:

| Situation                                                         | Effect                                                                                                                              |
| ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| You request a cease (`cease_all_contact` intent)                  | Both `email_opt_out` and `call_opt_out` flip to True; all active sequences pause to `paused_opt_out`; scheduled calls are cancelled |
| You unsubscribe by email                                          | `email_opt_out` flips; email sequences pause. Call channel stays open per PRD §6.5                                                  |
| You open a dispute                                                | Placement moves to `disputed`, outreach pauses                                                                                      |
| You disclose bankruptcy on a call                                 | Outreach halts immediately under 11 U.S.C. §362                                                                                     |
| You name attorney representation on a call                        | Direct contact stops under FDCPA §805(a)(2)                                                                                         |
| The placement is past the statute of limitations in MS, NC, or WI | Hard stop — collection on extinguished debt is unlawful                                                                             |
| The creditor recalls the placement                                | Stop all activity                                                                                                                   |

## Specific state caps

Only states with a `call_frequency_limit` set in `config/compliance/states.json` get an enforced numeric cap. As of the current config:

| State                      | Cap                                     | Source field                                                                   |
| -------------------------- | --------------------------------------- | ------------------------------------------------------------------------------ |
| California                 | 7 calls / 7 days                        | `call_frequency_limit: 7`, `call_frequency_window_days: 7`                     |
| NYC (5 boroughs, NY state) | 3 contacts / 7 days across all channels | NYC SHIELD overlay, effective 2026-09-01 (`nyc_shield_contacts_per_7_days: 3`) |

All other states have `call_frequency_limit: null` in the config today — meaning no engine-enforced numeric cap. The federal 7-in-7 standard still applies as a matter of practice but isn't gated by code.

Other state-level signals the engine tracks:

* **Mini-TCPA** (currently FL, OK, TX) — forces consent collection before recording / autodialing.
* **All-party recording consent** (CA, CT, DE, FL, IL, MD, MA, MT, NV, NH, PA, WA) — see [Recording consent by state](/for-debtors/compliance-and-rights/recording-consent-by-state.md).

## How we count

The scheduler treats call attempts and connected calls separately; voicemails (where allowed by `voicemail_disclosure_allowed`) count as attempts.

***

Last reviewed: 2026-05-12 by Compliance Lead. **TODO: external counsel review.**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.moderncollections.io/for-debtors/compliance-and-rights/frequency-of-contact.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
