What is Compliance?
Compliance refers to the set of rules and requirements that an alarm monitoring company must adhere to, as imposed by the Authority Having Jurisdiction (AHJ)—such as a city, county, or state—governing how an alarm system is operated and monitored.
Compliance requirements can include:
- Permits or registrations for monitoring services
- Alarm response procedures specific to your area
- Fees for permits, renewals, or patrol services
The Hyperion platform automatically retrieves compliance information based on current location, translating complex alarm industry terminology into clear, actionable requirements.
Key Concepts
Municipalities
A municipality is a local government jurisdiction that may regulate alarm systems. This can be:
- City: A city or incorporated town
- County: An unincorporated area governed by county ordinances
- State: State-level regulations (rare)
- Township/Borough: Other local government types
Multiple Jurisdictions (Cross-Boundary)
Locations bordering municipal boundary lines need validations to determine which jurisdiction is applicable to the location. When this happens:
- The API returns all possible municipalities
- It must be determined which municipality applies to the specific location
- Ask: "Who do you pay property taxes to?" to identify the correct municipality
- Only the ordinances from the actual municipality are enforceable
When multiple municipalities are returned, not all ordinances may apply to you. You must select the correct jurisdiction based on your property tax records or contact local authorities if unsure.
Permits & Registrations
An alarm permit is a formal authorization issued by a local authority (police, fire, or city government) that grants permission to operate an alarm system at a specific property. It includes a unique permit number used by emergency responders and is typically required for monitored systems.
An alarm registration is the process of providing alarm system and user information to the jurisdiction so they can track the system for compliance and false-alarm management.
Many jurisdictions require alarm systems to be registered or permitted before they will dispatch police or fire services. Key details include:
- Who applies: The customer, the monitoring company, or the company performing the activation on the customer's behalf
- When to apply: Before or after system activation, or at false alarm threshold
- Fees: Initial permit fee, recurring fees, frequency, renewal costs, and administration fees
- Renewal frequency: Expressed as an ISO 8601 duration (for example
P1M,P3M,P1Y,P2Y,P3Y, orPT0Sfor lifetime or manual renewal)
Alarm Response Rules
Jurisdictions may have specific rules for how monitoring companies respond to alarms:
- Multi-Zone Before Police Dispatch: Multiple event zones must activate before notifying authorities
- Fire Dispatch Before Premises Verification: Fire alarms dispatch to the AHJ before customer verification
- Permit Required Before Police Dispatch: Police will not respond without a valid permit on file
- Police Response Unknown: AHJ broadcasts alarm information but officer response depends on availability
- Responsible Party Response: A responsible party must meet the AHJ during an alarm event
Familiarization Period
A familiarization period is a designated period of time immediately following a new alarm system activation during which:
- The alarm system is fully operational
- Police or fire agencies are not notified during this time
- The user practices operating the system (arming, disarming, correcting mistakes) without risk of incurring false-alarm penalties
Verified Response / Patrol
Some jurisdictions require verified response, meaning visual or audible confirmation of an emergency before police or fire dispatch. This may involve:
- Patrol services visiting the premises
- Video verification
- Additional verification procedures
- Multi-zone event conditions
If patrol services are required, they may incur fees with an associated frequency as an ISO 8601 duration (for example P1M for monthly).
Understanding the Compliance Response
When you check service availability for a premises location, the API returns compliance data within the municipalities array. Each municipality contains requirements and notices.
Municipality Details
Each municipality contains:
- Identity: ID, name, city, county, state, postalCode, country
- Requirements: Array of compliance requirements (familiarization periods, permits with fees and renewal details)
- Notices: Array of alarm response rules (dispatch restrictions, verification requirements, patrol services)
Fees
Each fee includes a type and a frequency field (ISO 8601 duration):
| Fee Type | Description |
|---|---|
PERMIT_INITIAL | One-time initial permit fee |
PERMIT_RECURRING | Recurring permit fee |
ADMIN_INITIAL | One-time administration fee |
ADMIN_RECURRING | Recurring administration fee |
| Fee Frequency | Description |
|---|---|
PT0S | Charged once |
P1M | Charged monthly |
P3M | Charged quarterly |
P1Y | Charged annually |
P2Y | Charged every 2 years |
P3Y | Charged every 3 years |
Notices
Notices describe alarm response rules for the jurisdiction. Some notices include a count field (e.g., number of additional contacts required) or a fee with its own frequency.
Common Scenarios
Scenario 1: No Compliance Requirements
Your location has no special compliance requirements:
- Action: No permits or special procedures needed
- Result: Standard alarm monitoring without restrictions
Scenario 2: Simple Permit Requirement
Your location requires a permit, and you're responsible for obtaining it:
- Action: Customer applies for permit with their local jurisdiction
- Cost: Customer pays permit fee directly to municipality
- Renewal: Customer renews directly with municipality and pays any associated renewal fees
Scenario 3: Monitoring Company Handles Initial Permit and Renewal
The monitoring company obtains and manages the permit on the customer's behalf:
- Action: Monitoring company handles paperwork
- Cost: Administrative fee + permit fee added to the customer's bill
- Renewal: Automatically handled by monitoring company and customer is billed for renewal-related fees
Scenario 4: Verified Response w/Patrol
- Action: Patrol service added to account
- Why: Visual verification required by municipality prior to notifying AHJ
- Cost: Monthly patrol RMR is added to customer's bill
Scenario 5: Multiple Municipalities
The monitored address is in a cross-boundary area with multiple possible jurisdiction choices:
- Action: Determine which municipality the monitored location is actually in
- How: Check who you pay property taxes to
- Important: Only one municipality's ordinances apply—select the correct one
- Choose "customer is not sure" if still unknown and research will be performed
Monitorable Requirements
When a premises monitorable is created, the system automatically checks compliance for the address and creates monitorable requirements based on the jurisdiction's rules. Each requirement tracks the compliance status for that monitorable.
Monitorable requirements share the same structure as service availability requirements, with additional tracking fields:
Familiarization Requirement
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"monitorableId": "7a60216c-5512-467a-8d70-6b5ccc7c9b7d",
"type": "FAMILIARIZATION",
"status": "INCOMPLETE",
"stage": "POST_ACTIVATION",
"responsibleParty": "CUSTOMER",
"period": "P7D",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
Permit Requirement
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"monitorableId": "7a60216c-5512-467a-8d70-6b5ccc7c9b7d",
"type": "PERMIT",
"status": "INCOMPLETE",
"stage": "POST_ACTIVATION",
"responsibleParty": "CUSTOMER",
"eventTypes": ["BURGLARY", "HOLDUP_DURESS"],
"applicationUrl": "https://www.county.com/permit",
"fees": [
{
"type": "PERMIT_INITIAL",
"frequency": "PT0S",
"amount": 50.00,
"currency": "USD"
},
{
"type": "PERMIT_RECURRING",
"frequency": "P1M",
"amount": 2.08,
"currency": "USD"
}
],
"renewal": {
"frequency": "P1Y",
"responsibleParty": "CUSTOMER",
"fee": {
"amount": 30.00,
"currency": "USD",
"frequency": "P1Y"
}
},
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
When a permit requirement exists and the customer or your system has obtained the permit number from the authority, record the permit through the PATCH /monitorables/:monitorableId endpoint to mark the requirement complete. The requirementId, permit number, and expiry date are submitted in the permits array:
Each permit is upserted by requirementId. The requirement status becomes COMPLETE on first submission and remains COMPLETE on subsequent updates.
See Fulfill Requirements for a step-by-step guide.
Number of Contacts Requirement
The NUMBER_OF_CONTACTS requirement tracks how many contacts must be provided on a monitorable before the monitoring account can be activated. Every premises monitorable has at least 1 required contact. If the jurisdiction requires additional contacts, the required count increases accordingly.
For example, if the jurisdiction requires 2 additional contacts, the count will be 3 (1 base + 2 additional).
In non-production environments, test postal codes 00028 and 00029 return compliance with one and two additional contacts respectively (NUMBER_OF_CONTACTS counts 2 and 3). See Test Service Availability.
{
"id": "770e8400-e29b-41d4-a716-446655440002",
"monitorableId": "7a60216c-5512-467a-8d70-6b5ccc7c9b7d",
"type": "NUMBER_OF_CONTACTS",
"status": "INCOMPLETE",
"stage": "PRE_ACTIVATION",
"responsibleParty": "CUSTOMER",
"count": 3,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
When the monitorable has enough contacts to meet the count, the requirement is automatically marked as COMPLETE. If contacts are later reduced below the required count, the requirement reverts to INCOMPLETE.
The monitoring account for a premises monitorable is not created until the
NUMBER_OF_CONTACTS requirement is complete. Other requirements such as
permits and familiarization do not block account creation.
Requirement Statuses
| Status | Description |
|---|---|
INCOMPLETE | Requirement has not yet been fulfilled |
COMPLETE | Requirement has been fulfilled |
The monitorable's overall status transitions to PENDING_REQUIREMENTS when it has incomplete requirements, and to VERIFIED when all requirements are complete.
Use Cases
Onboarding New Customers
When setting up a new customer's alarm system:
- Call the Service Availability API with their premises address, site kind, and service type
- Check the
compliancefield in the response - Inform the customer of any permit requirements (if permits are customer-responsible, inform the customer)
- Calculate familiarization period end date (if applicable)
- Collect additional phone numbers if additional contacts are required
Displaying Compliance Information
Present compliance requirements clearly to customers:
- Show permit fees upfront during quotes, including renewal details if applicable
- Explain who handles the permit (you vs. them)
- Display familiarization period duration
- Clarify alarm response rules (additional contacts required, multi-zone)
- Provide permit application URL if customer-responsible (not always available)
Handling Multiple Jurisdictions
When multiple municipalities are returned:
- Display all municipality names clearly
- Ask customer: "Which municipality do you pay property taxes to?"
- Provide "customer is not sure" option for further research (follow-up communication will happen after research is completed)
- Explain that only selected jurisdiction's rules apply
Related Resources
API Reference
- Check Service Availability - API endpoint details
Guides
- Service Availability - Step-by-step implementation guide
- Test Service Availability - Use test postal codes to test your integration
Additional Concepts
- Monitorables - Learn about premises, persons, and vehicles
- Events - Understand alarm events and monitoring responses