This comprehensive guide covers all Federal Election Commission (FEC) compliance requirements implemented in the POWERBACK platform, including donation limits, donor validation, email disclaimers, and audit requirements.
- Donation Limits and Tiers
- Donor Information Requirements
- Email Communication Compliance
- Audit Trail Requirements
- Compliance Monitoring
- Per-donation limit: $50
- Annual cap: $200 across all candidates
- Required information: Basic account information only
- Use case: Low-value contributions with minimal compliance requirements
- Per-election limit (UI): $3,500 per candidate per election (used for client‑side gating and messaging)
- Authoritative cap (server): $3,500 across all candidates per election (backend is the final gate for compliance)
- Required information:
- Name (first + last)
- Mailing address (street, city, state, ZIP)
- Occupation and Employer
- Use case: High-value contributions requiring full compliance
The system enforces these limits in two layers:
- Frontend (UI hints): Components and contexts (e.g.
DonationLimitsContext,ComplianceTierContext) gate per-donation amounts and, for the Compliant tier, surface a per-candidate per-election $3,500 cap in the interface. - Backend (authoritative): Server‑side validation treats $3,500 as an across‑all‑candidates per‑election cap and is the final source of truth. If there is any disagreement between UI hints and backend validation, backend wins and the client surfaces the server error.
- No additional donor information required beyond account setup
- Name: First name + last name
- Mailing Address: Complete address as above
- Occupation: Current job title or status
- Employer: Company name or "Self-employed" or "Not employed"
The system validates donor information using comprehensive rules:
- Required: First and last name for Compliant tier
- Format: Title case with proper handling of prefixes (Mc, O', Van, Von)
- Flags: Single names, initials only, placeholder content, profanity
- Required: Complete mailing address for Compliant tier
- Format: Standard USPS format with valid state codes
- Flags: Missing fields, impossible locations, placeholder content
- Occupation: Current job title or status
- Employer: Company name or employment status
- Flags: Generic occupations, missing information, inconsistencies
All donor information is captured at the time of donation and stored in the Celebration model:
donorInfo: {
// Basic identification
firstName: String,
lastName: String,
// Address information
address: String,
city: String,
state: String,
zip: String,
country: String,
// Employment information (compliant tier)
occupation: String,
employer: String,
isEmployed: Boolean,
// Compliance tracking
compliance: String, // 'guest', 'compliant'
locked: Boolean, // Prevents modification after donation
understands: Boolean // User acknowledgment of requirements
}All political communications must include the required disclaimer:
"Paid for by POWERBACK. Not authorized by any candidate or candidate's committee."
The disclaimer is automatically added to all outgoing emails:
// Email template with FEC disclaimer
const createFecDisclaimer = () => `
<div style="
background-color: #000000;
border: 2px solid #007bff;
border-radius: 4px;
padding: 15px;
margin: 20px 0;
text-align: center;
color: #ffffff;
font-weight: bold;
font-size: 14px;
">
Paid for by POWERBACK. Not authorized by any candidate or candidate's committee.
</div>
`;- Visibility: Disclaimer must be clearly visible in email body
- Legibility: Text must be easy to read and not obscured
- Consistency: Same text must appear in all communications
- Automatic: No manual intervention required
The system maintains complete audit trails for compliance verification:
- Historical Accuracy: Donor information is captured at donation time
- Immutable Records: Donation records cannot be modified after creation
- Complete Documentation: All required information is stored permanently
- Compliance Tracking: Tier and limit information is preserved
- Donation Amount: Exact amount contributed
- Donor Information: All required fields based on tier
- Timing: Date and time of contribution
- Recipient: Which candidate/committee received the funds
- Status: Escrow, delivered (by operator), accepted, or refunded
- Duration: 3 years from date of contribution
- Format: Electronic records with backup
- Access: Available for FEC audit upon request
- Integrity: Tamper-evident storage with version control
All validation decisions are logged for audit purposes:
// Example audit log entry
{
timestamp: "2026-01-15T10:30:00Z",
donationId: "don_123456789",
donorInfo: { /* normalized donor data */ },
validationResult: {
flags: [],
summary: {
totalFlags: 0,
isCompliant: true
}
},
complianceTier: "compliant",
auditor: "system"
}The system performs continuous in-app compliance monitoring (no automated FEC filing or fund delivery):
- Limit Enforcement: Real-time checking against FEC limits
- Data Validation: Automatic validation of donor information
- Tier Compliance: Ensuring appropriate information is collected
- Audit Logging: Comprehensive logging of all compliance decisions
- Donation Summaries: By tier, amount, and recipient
- Validation Statistics: Flag rates and compliance percentages
- Limit Tracking: Usage against annual and per-candidate limits
- Audit Trails: Complete transaction history
The system does not file with the FEC. It provides data exports so the recipient committee or PAC operator can file manually:
- Donor Information: Formatted for FEC reporting requirements
- Contribution Details: Amount, date, and recipient information
- Compliance Status: Validation results and flag information
Actual FEC filing and delivery of funds to campaigns are performed manually by the PAC operator, not by automated backend systems.
- Regular Review: Monthly review of compliance statistics
- Data Quality: Continuous monitoring of validation accuracy
- Limit Management: Proactive tracking of approaching limits
- Audit Preparation: Regular backup and verification of records
- Remedying an excessive contribution – FEC guidance on refund, redesignation, and reattribution when a committee receives an excessive contribution; useful background on contributor-directed reassignment of intent and recordkeeping.