00-lead-generation-guardrails
Global Lead Generation Guardrails
Scaffold status: this skill currently ships only the compliance matrix below — the hard cross-cutting prerequisite every other skill in this pack references and defers to. The provenance-honesty, results-honesty, and pricing/guarantee-honesty gates named in the skill map are tracked as follow-up implementation work and are not yet written out as enforceable prose here. Do not treat this file as a finished gate list. A downstream skill that references 00-lead-generation-guardrails/SKILL.md is referencing the matrix below at minimum; the remaining gates land in a follow-up pass.
Apply the matrix before every workflow-specific SKILL.md in this pack. A send that fails a BLOCK or unresolved HOLD row must not go out, regardless of how it was drafted.
Compliance matrix: channel × relationship × jurisdiction
Cold email and cold phone/SMS sit under different laws with different consent baselines. Treat this as a lookup, not a single flat rule — and never treat "EU" as one rule, since GDPR's legitimate-interest basis for direct marketing is layered under different national ePrivacy implementations per member state.
Channel dimension
- Email — governed by CAN-SPAM (US), CASL (Canada), GDPR + national ePrivacy law (EU/EEA), PECR (UK), and the Spam Act 2003 (Australia).
- Phone / SMS — a materially different legal regime in the US: the TCPA governs autodialed/prerecorded calls and texts, is not satisfied by CAN-SPAM compliance, and its prior-express-consent protection extends to business phone lines, not only residential consumers. [FCC-TCPA-01] Skill
06's phone-first follow-up step must clear TCPA consent separately from whatever consent basis justified the email touch.
Relationship dimension
- Cold — no prior relationship, no consent captured, no applicable statutory exception. The default posture for a fresh outbound list; carries the highest compliance burden in every jurisdiction below.
- Warm — an existing customer, an opted-in list, or a jurisdiction-specific existing-relationship exception that genuinely applies (verified against the row below, never assumed).