Article summary
Assign separate validity and access rules to phone, time, avatar and mapping observations in a Zambia +260 WhatsApp Activity workbook.
A Zambia +260 WhatsApp Activity workbook is not one package with one lifetime. Source phone, time observation, avatar visibility and mapping relationships change at different speeds. Treating the whole workbook as permanently current causes misuse.
Create a field-expiry matrix
| Field family | State | After expiry |
|---|---|---|
| phone_raw | Source fact | Business retention rule |
| activity | Short-lived observation | expired |
| avatar | Visibility observation | Delete or reassess |
| mapping | Relationship observation | Retain conflict trail |
Derive expiry from the action
The freshness required by the queue determines valid_until. One arbitrary number of days cannot govern every task.
+260 format has no activity lifetime
Create a phone candidate under a versioned rule. Manage format and platform activity separately so format acceptance is not called current activity.
Split the workbook during import
Base, time, avatar and mapping enter separate staging tables with checked_at. The daily queue reads only unexpired time events.
Expired is not a negative value
Expiry means evidence is too old; it does not mean inactive or unregistered. For a current decision, reassess whether another check is justified.
Narrow access to avatar and mapping
A role ordering cases does not need image or relationship data. A dedicated reviewer handles mapping conflicts without automatic overwrite.
Keep TXT single-purpose
Upload one phone per line. Customer context, permission and expiry configuration stay in the internal crosswalk.
Require a deletion receipt
After expiry, record deleted count, failures and owner. Deletion is a verifiable closure step, not a sentence in a policy.
The distinct Zambia answer
Fields may return in one Excel file but should not remain valid together forever. Field-level lifetimes make Activity controllable.
