Deleting every trace of an objection can make the next import contact the same person again. Keeping a full profile creates the opposite problem. A suppression record is the deliberately small middle path.
The control must survive new campaigns, usernames, accounts, teammates, CSV imports, and CRM syncs.
Governance position
When someone objects or asks not to be contacted, keep the minimum identifier needed to honor that preference. Centralize the suppression state, check it before queue creation and again before delivery, propagate it to connected systems, restrict access, and never reuse the record for marketing.
Decisions to document
01A minimal suppression schema.
02Two enforcement points.
03Identity-change and integration rules.
04Tests that prove the control works.
Store only what enforces the preference
| Field | Purpose | Constraint |
|---|---|---|
| Stable platform identifier | Primary match when legitimately held | Protected and not exported casually |
| Normalized contact key | Fallback match | Hashed where appropriate |
| Scope | Global, client, brand, or campaign | Default conservatively |
| Reason and source | Explain the state | Short controlled enum |
| Effective date | Audit timing | Immutable event |
| Review basis | Retention accountability | No promotional notes |
Enforce twice
- At list admission: remove suppressed identities before human review and scheduling.
- Immediately before delivery: recheck the live suppression store to catch recent objections.
- Fail closed when the suppression service is unavailable.
- Record the match without revealing unnecessary reason details to campaign users.
Handle identity changes
Telegram usernames can change and may be absent. Prefer stable internal mappings where lawfully available, maintain controlled aliases only as needed, and send uncertain matches to review. Never assume a new username means a new person.
Propagate to every execution path
| Path | Required behavior |
|---|---|
| Manual send | Same suppression check as campaigns |
| CSV import | Match before record activation |
| API or MCP | Server-side enforcement, not caller discretion |
| CRM sync | Bidirectional state with conflict policy |
| Agency workspace | Respect agreed client and global scope |
Test the control
- Same person appears in two groups and two imports.
- Username changes after objection.
- Campaign was queued before objection.
- Connected CRM resends an older active state.
- Suppression service times out.
- User requests access or deletion of other retained information.
Research note
Regulators including the ICO recognize that a minimal suppression record may be necessary to respect a marketing objection. Exact identifiers, scope, retention, and lawful basis need legal review.
Turn policy into an operating control
A suppression list is not lost marketing data. It is a safety control and a promise. Make it small, central, durable, and impossible for a convenient import to bypass.
Keep do-not-contact decisions connected to execution
TeleBoost brings lists, campaigns, contacted tracking, conversations, and team workspaces into one operating record so suppression is not an afterthought.
Continue the operating system
Related TeleBoost guides
Evidence base