← Back to Legal & Compliance

Compliance Overview

Armour Consortium AI - Cart Recovery API
Last Updated: December 2025

Executive Summary

Armour Consortium AI operates the most compliant cart recovery API in the industry. We enforce consent at the API level, respect explicit opt-outs, and never store personal data.

Our Philosophy: Generate the highest-converting content on earth while respecting customer preferences. We don't water down messaging for imaginary compliance concerns - we enforce the rules that actually matter.


1. Consent Handling

1.1 Three-Tier Consent Model

Our API enforces a sophisticated consent model that respects customer preferences:

Consent Flag ValueSMS/WhatsApp TreatmentEmail Treatment
accepts_sms_marketing: falseBLOCKED - No SMS/WhatsApp generatedNo effect
accepts_sms_marketing: null/missingTRANSACTIONAL - Cart reminder only, no promotional offersGenerated (soft opt-in)
accepts_sms_marketing: truePROMOTIONAL - Full marketing with discounts/incentivesGenerated
accepts_email_marketing: falseNo effectBLOCKED - No email generated
accepts_email_marketing: null/missing/trueNo effectGENERATED - Soft opt-in applies

1.2 Dual Opt-Out Protection

When both accepts_email_marketing: false AND accepts_sms_marketing: false:

This protects merchants from accidentally contacting customers who have opted out of all marketing.

1.3 Why This Matters

Most competitors either:

We take the correct middle ground:


2. Regional Compliance

2.1 UK (PECR + UK GDPR)

RequirementOur Implementation
Soft Opt-InCorrectly applied for cart abandonment
Opt-Out RespectAPI blocks generation on false consent
Data MinimisationTransient processing, no storage
Lawful BasisLegitimate interests or soft opt-in

ICO Guidance Compliance: The ICO confirms that a single reminder about an in-progress purchase is not unsolicited marketing. Our cart recovery messages fall within this exemption when the customer:

2.2 EU (GDPR + ePrivacy)

RequirementOur Implementation
Article 6 Lawful BasisLegitimate interests (merchant), contract (processor)
Article 28 DPAComprehensive DPA in place
Article 30 RoPAInternal processing records maintained (available on request)
Article 32 SecurityTLS, no storage, rate limiting
Soft Opt-InApplied per member state interpretation

2.3 USA (CAN-SPAM + TCPA + CCPA)

RequirementOur Implementation
CAN-SPAM UnsubscribeESP handles unsubscribe link injection (SendGrid, Klaviyo, Elastic Email, etc.)
CAN-SPAM AddressESP handles physical address injection
TCPA ConsentMerchant responsibility; we honour opt-out flags passed to API
TCPA 2025 Opt-Out"STOP to end" auto-included in SMS (merchant handles STOP replies)
CCPA DisclosurePrivacy Policy includes CA section
CCPA Opt-OutWe do not sell personal information

See US Compliance Guide for details.


3. What Sets Us Apart

We've built compliance into the API itself:

  1. Consent enforcement at API level - Not left to merchant implementation
  2. Three-tier model - Not just on/off, but a transactional middle ground
  3. Dual opt-out protection - COMPLIANCE_BLOCKED with no charges when both channels refused
  4. Zero PII storage - Transient processing eliminates breach risk
  5. Complete documentation - DPA, RoPA, LIA, sub-processors all maintained

Our approach: Generate effective, engaging recovery content while respecting customer preferences. The law doesn't require bland messaging - it requires consent and transparency.


4. Merchant Responsibilities

As the Data Controller, merchants must:

ResponsibilityRequirement
Accurate Consent FlagsPass correct accepts_sms_marketing and accepts_email_marketing values
Privacy PolicyMaintain appropriate privacy policy disclosures for third-party services
Opt-Out HandlingHonour unsubscribe requests within 10 days
Transmission DecisionsDecide when to send generated content
Regional ComplianceEnsure compliance with their customers' jurisdictions

We generate content. You decide when the law allows you to send it.


5. Consent Flag Reference

5.1 SMS/WhatsApp Consent

{
  "customer": {
    "accepts_sms_marketing": true  // false, null, or omitted
  }
}
ValueMeaningContent Type
trueExplicit consentFull promotional
null / omittedNo explicit preferenceTransactional only
falseExplicit refusalBLOCKED

Transactional content: Cart reminder, items, and recovery link only - no discounts, free gifts, or promotional language.

5.2 Email Consent

{
  "customer": {
    "accepts_email_marketing": true  // false, null, or omitted
  }
}
ValueMeaningContent Type
trueExplicit consentFull promotional
null / omittedSoft opt-in appliesStandard recovery
falseExplicit refusalBLOCKED

Note: Email uses "soft opt-in" - standard recovery content is generated unless explicitly opted out.

5.3 General Marketing Consent (Legacy Fallback)

{
  "customer": {
    "accepts_marketing": true  // Legacy catch-all
  }
}
ValueMeaningEmail TreatmentSMS/WhatsApp Treatment
trueGeneral marketing consentPromotional (soft opt-in)Transactional only
null / omittedNo preference statedPromotional (soft opt-in)Transactional only
falseGeneral refusalTransactional (cart reminder only)BLOCKED

Priority & Fallback Logic (EU/California Compliant):

The specific fields (accepts_email_marketing, accepts_sms_marketing) always take priority when provided. The accepts_marketing field is used as a fallback for EU and California compliance when specific fields are missing.

Fields ProvidedEmail TreatmentSMS/WhatsApp Treatment
NonePromotional (soft opt-in)Transactional (sanitized)
accepts_marketing: false onlyTransactional (sanitized)BLOCKED
accepts_marketing: true onlyPromotional (soft opt-in)Transactional (sanitized)
accepts_sms_marketing: truePromotional (soft opt-in)Promotional
accepts_sms_marketing: falsePromotional (soft opt-in)BLOCKED
accepts_email_marketing: falseBLOCKEDTransactional (sanitized)
accepts_email_marketing: false + accepts_marketing: falseCOMPLIANCE_BLOCKED - no LLM calls, no charge

EU/California Compliance Note: When accepts_marketing: false, SMS/WhatsApp is fully blocked (not just transactional) because:

Email is downgraded to transactional mode (cart reminder only, no discount codes or promotional offers) rather than blocked, as abandoned cart emails are permitted under soft opt-in provisions.


6. API Response Examples

6.1 Normal Response (All Channels Available)

{
  "ensemble": "armour-v2.5",
  "subject": "Your skincare routine is waiting...",
  "html_body": "...",
  "messaging": {
    "sms": "Hi Sarah! Your cart's waiting... [URL] Reply STOP to end",
    "whatsapp": "..."
  },
  "available_channels": ["email", "sms", "whatsapp"]
}

6.2 SMS Blocked Response

{
  "ensemble": "armour-v2.5",
  "subject": "Your skincare routine is waiting...",
  "html_body": "...",
  "messaging": {
    "sms": null,
    "whatsapp": null
  },
  "available_channels": ["email"],
  "warnings": ["SMS/WhatsApp blocked: accepts_sms_marketing is false"]
}

6.3 Dual Opt-Out Response

{
  "available_channels": [],
  "warnings": ["COMPLIANCE_BLOCKED: Customer has opted out of all channels"],
  "subject": null,
  "html_body": null,
  "messaging": {
    "sms": null,
    "whatsapp": null
  }
}

7. Documentation Links

DocumentPurposeLink
Data Processing AgreementArt. 28 GDPR contract/legal/dpa.html
Privacy PolicyGDPR Art. 13/14, CAN-SPAM, CCPA/legal/privacy.html
Terms of ServiceContract terms/legal/terms.html
Records of ProcessingArt. 30(2) record/legal/ropa.html
Legitimate Interests AssessmentArt. 6(1)(f) justification/legal/lia.html
Sub-Processor ListArt. 28(2) disclosure/legal/subprocessors.html
US Compliance GuideTCPA/CAN-SPAM details/legal/us-compliance.html
Security MeasuresArt. 32 summary/legal/security.html
x402 ExemptionAgent traffic handling/legal/x402-exemption.html

8. Contact

For compliance questions:

Email: hello@armourconsortium.ai

This compliance overview demonstrates Armour Consortium AI's commitment to lawful, ethical cart recovery that respects customer preferences while delivering industry-leading conversion rates.