Skip to main content

How Mambo Determines a Device's State

Every managed device in Mambo is assigned one of five states. The system decides which state a device is in by checking a series of conditions in order. The first condition that matches determines the state.


What the System Looks At

The system uses two signals that every managed device periodically sends back to the server:

SignalWhat It Means
HeartbeatA periodic "I'm alive" ping from the device
Status ReportA periodic update from Google's management service containing detailed device information

It also uses the enrollment time — the moment the device was first registered with Mambo.


The Five Device States

StateWhat It Means
Pending DeleteThe device has been marked for removal and is waiting to be fully deleted
EnrolledThe device was recently set up and hasn't had enough time to establish a regular reporting pattern
InactiveThe device has gone completely silent — no communication in a long time
Active / OfflineThe device has communicated recently, but not in the last day
Active / OnlineThe device is actively communicating right now (or very recently)

How the State Is Determined

Checked in order — first match wins:

StepQuestionIf YesIf No
1Has the device been marked for deletion?Pending DeleteGo to step 2
2Is the device still within its first 48 hours since enrollment? (Both the heartbeat and status report haven't moved beyond 48 hours past enrollment)EnrolledGo to step 3
3Has the device been silent for over 30 days? (Both the heartbeat and status report are either missing or older than 30 days)InactiveGo to step 4
4Has it been more than 24 hours since the device last communicated? (Both the heartbeat and status report are older than 24 hours)Active / OfflineGo to step 5
5(None of the above matched)Active / Online

Deciding "Inactive" in Detail

Step 3 is the most nuanced check. The device is only considered Inactive when both signals — the heartbeat and the status report — are unavailable. If even one of them has been received in the last 30 days, the device is not Inactive.

Here is every possible combination:

Last HeartbeatLast Status ReportResult
Never receivedNever receivedInactive
Never receivedMore than 30 days agoInactive
Never receivedWithin the last 30 daysNot inactive — continue to step 4
More than 30 days agoNever receivedInactive
More than 30 days agoMore than 30 days agoInactive
More than 30 days agoWithin the last 30 daysNot inactive — continue to step 4
Within the last 30 daysNever receivedNot inactive — continue to step 4
Within the last 30 daysMore than 30 days agoNot inactive — continue to step 4
Within the last 30 daysWithin the last 30 daysNot inactive — continue to step 4

In plain terms: A device is Inactive only when neither signal has been heard from in over 30 days. If the server has received even one signal within the last 30 days, the device is still considered Active and moves on to the online/offline check.


Device State Decision Flowchart