Target. Act. Measure. Win.
RallyKit is a lightweight advocacy campaign manager for small nonprofit directors and scrappy grassroots organizers. Ditch spreadsheets and bloated CRMs for one real-time dashboard that auto-matches supporters to legislators, generates district-specific scripts by bill status, launches one-tap action pages, tracks every action live, sets up in 45 minutes, and boosts completed calls and emails while delivering audit-ready proof.
Subscribe to get amazing product ideas like this one delivered daily to your inbox!
Explore this AI-generated product idea in detail. Each aspect has been thoughtfully created to inspire your next venture.
Detailed profiles of the target users who would benefit most from this product.
- 35–44, urban hub, works statewide coalitions. - Title: Coalition manager at advocacy umbrella org. - Coordinates 8–20 partner nonprofits per campaign. - Budget-constrained, relies on shared tooling grants. - Tech stack: Slack, Google Workspace, Airtable, Zoom.
Former field organizer who scaled a 15-org coalition during a pivotal bill fight. Burned by attribution disputes and messy spreadsheets, they standardized tooling to keep partners aligned. Now they codify shared scripts and reporting from day one.
1. Partner-level attribution and deduped reporting 2. Shared scripts with role-based permissions 3. Quick UTM tagging and link variants
1. Attribution fights stall coalition momentum 2. Conflicting scripts confuse volunteers 3. Spreadsheets break cross-org tracking
- Obsessed with clarity, credit, and coordination - Values transparency over turf and ego - Motivated by collective wins, measurable impact - Pragmatic operator, allergic to tool sprawl
1. Slack – coalition threads 2. Gmail – partner updates 3. Zoom – weekly standups 4. Google Sheets – shared trackers 5. X – policy monitoring
- 26–36, regional base, constant travel between sites. - Title: Volunteer coordinator at grassroots nonprofit. - Oversees 30–200 volunteers across campaigns. - Mobile-first; Android phone, portable battery packs. - Tools: WhatsApp, Twilio SMS, EveryAction/VAN.
Started as a weekend phonebank lead and grew into managing multi-county volunteer teams. After too many drop-offs from clunky tools, they standardized simple, mobile-first flows. Now they coach new captains on fast conversion habits.
1. Mobile-first one-tap action links 2. QR codes and kiosk mode on-site 3. Simple volunteer onboarding flows
1. Volunteers drop off during clunky forms 2. Spotty wifi kills event momentum 3. Tool logins confuse first-timers
- Energized by people power and momentum - Prefers simple checklists over long manuals - Motivated by visible completions, real-time buzz - Calm under chaos, fixates on follow-through
1. WhatsApp – volunteer chats 2. Twilio SMS – shift reminders 3. Instagram – story blasts 4. Gmail – weekly briefings 5. Facebook Groups – community updates
- 34–52, rural districts, long driving routes. - Title: Regional organizer for statewide nonprofit. - Serves 10–25 sparsely populated counties. - Connectivity: low-bandwidth, intermittent service. - Tools: Hustle, Facebook Groups, Gmail, YouTube.
Former PTA leader turned district organizer, known at county fairs and co-ops. After city-built tools failed offline, they curated SMS-first workflows. They anchor trust through local stories and names.
1. SMS-first action pages and short links 2. Low-data pages with large buttons 3. Offline capture syncing later
1. Pages time out on spotty service 2. Scripts ignore local realities 3. Long forms scare off neighbors
- Values neighbor trust and local credibility - Chooses practical over polished every time - Motivated by being heard by distant capitols - Patient, relationship-first communicator
1. Hustle – P2P SMS 2. Facebook Groups – local chatter 3. YouTube – short explainers 4. Gmail – county summaries 5. X – legislative updates
- 19–23, public university undergraduate. - Title: Campus chapter lead, part-time barista. - Lives on-campus; acts nights and weekends. - Organizes 3–5 clubs in coalition. - Tools: Instagram, GroupMe, TikTok, Gmail.
Sparked by a tuition protest, they mastered QR-driven mobilization and link-in-bio funnels. Admin delays taught them to favor tools that don’t need IT. They thrive on rapid fire sprints around key votes.
1. QR codes tied to student groups 2. One-tap pages optimized for Stories 3. Instant counts to motivate turnout
1. Link-in-bio clutter hurts conversions 2. Campus wifi throttles heavy pages 3. Admin approval delays stall actions
- Thrives on rapid, visible wins - Loves DIY design and shareable content - Skeptical of bureaucracy, seeks autonomy - Peer influence drives adoption
1. Instagram – Stories, Reels 2. GroupMe – chapter coordination 3. TikTok – quick explainers 4. Gmail – listserv blasts 5. Discord – committee chat
- 27–41, midsize nonprofit in metro area. - Title: Accessibility and inclusion lead. - Oversees content in 2–5 languages. - Coordinates with legal and comms teams. - Tools: Gmail, Slack, Google Docs, YouTube.
Former interpreter and disability rights organizer who standardized alt-text and plain language across campaigns. After mistranslations derailed a bill push, they built glossary and review workflows. They advocate budget for accessibility as table stakes.
1. Multilingual scripts and toggleable pages 2. WCAG-compliant templates and audits 3. TTY-friendly call options and captions
1. Tools break screen readers 2. Auto-translation mangles legislative nuance 3. Audio-only calls exclude supporters
- Inclusion is a baseline, not a bonus - Pedantic about clarity and readability - Motivated by removing participation barriers - Data-driven yet human-first decision-maker
1. Gmail – content workflows 2. Slack – cross-team coordination 3. Google Docs – translation drafts 4. YouTube – captioned explainers 5. WhatsApp – multilingual groups
- 29–45, city-based events producer. - Title: Events manager at advocacy nonprofit. - Runs 5–20 civic events per quarter. - Manages AV vendors and volunteers. - Tools: Eventbrite, Instagram, Gmail, Twilio SMS.
Shifted from music festivals to civic rallies, mastering crowd flow and stage pacing. After venue wifi meltdowns, they built redundancy with hotspots and offline capture. They chase conversions-per-minute like a sport.
1. Kiosk mode with offline queueing 2. Big-screen live counters and leaderboards 3. Fast QR generation with UTM bundles
1. Venue wifi collapses under load 2. Tiny forms bottleneck crowd flow 3. Hard to attribute from-stage scans
- Obsessed with throughput and crowd energy - Measures success by conversions per minute - Plans meticulously, improvises gracefully - Champions eye-catching, simple CTAs
1. Instagram – event promotion 2. Gmail – attendee confirmations 3. Twilio SMS – day-of alerts 4. X – live updates 5. Eventbrite – ticketing hub
- 30–40, operations/tech at small–mid nonprofit. - Title: Data/Operations manager, CRM admin. - Maintains NationBuilder/EveryAction/Action Network. - Comfortable with SQL and APIs. - Tools: Slack, GitHub, Postman, BigQuery.
Self-taught SQL tinkerer who inherited a spaghetti stack. After losing actions to silent webhook failures, they now demand idempotency and logs. Their mandate: one source of truth, zero manual CSVs.
1. Robust APIs and stable webhooks 2. Custom field mapping and validation 3. Event-level logs with retries
1. Silent failures lose actions 2. Inflexible schemas break syncs 3. Manual CSVs waste hours
- Trusts systems, not anecdotes - Perfectionist about schemas and deduping - Motivated by automation and reliability - Prefers documentation over demos
1. Slack – #data channels 2. GitHub – issues 3. RallyKit Docs – API reference 4. Gmail – release notes 5. Stack Overflow – quick fixes
Key capabilities that make this product valuable to its target users.
Tri-color verification scoring (Green/Amber/Red) with clear reason codes. Auto-approve high-confidence constituents, prompt quick fixes for medium confidence, and quarantine risky submissions. Reduces supporter friction while keeping organizers focused on edge cases and audit-proof review.
Compute a confidence score for each action submission in under 150ms using multi-signal validation (address geocoding and district match, email/phone format and deliverability checks, IP-to-location proximity, duplicate detection, prior action history, and device/session velocity). Map scores to Green/Amber/Red thresholds with deterministic, versioned logic and attach machine-readable reason codes. Execute synchronously within RallyKit’s one-tap action flow with graceful degradation when external validators are unavailable. Expose scoring results via internal service API and event payloads for the dashboard, analytics, and downstream routing. Ensure idempotency and consistent outcomes across retries and distributed nodes.
Provide standardized, hierarchical reason codes for each score outcome, coupled with human-readable explanations and actionable remediation tips. Render concise supporter-facing messages inline on action pages for Amber results (e.g., missing apartment number, ZIP+4 mismatch) and organizer-focused detail in the dashboard. Localize explanations (i18n-ready) and store codes in submission records for analytics, exports, and audits. Ensure consistent mappings from validator signals to reason codes and de-duplicate overlapping messages to reduce friction.
Automatically approve Green submissions and route them to the correct legislators with district-specific scripts, updating live tracking without additional clicks. For Amber, trigger inline correction prompts with prefilled suggestions and re-validate on submit; preserve form state and progress to avoid abandonment. Quarantine Red submissions into a secure review queue, prevent outbound calls/emails until approved, and surface non-blocking confirmation to supporters. Provide configurable fallbacks (e.g., allow-through with flag during peak actions) and ensure transactional integrity so partial sends cannot occur.
Deliver an organizer dashboard queue for Red and unresolved Amber cases with filters, search, bulk approve/reject, and assignment. Present an evidence snapshot per submission (submitted data, validator results, geocoding map, history, and reason codes) and require disposition reasons on manual decisions. Maintain an immutable audit log capturing timestamps, actor, decision, and configuration version used at scoring time; support CSV/JSON export and API retrieval. Notify reviewers via in-app and email when queue volume or aging breaches SLA thresholds.
Provide admin controls to tune thresholds and rules at org and campaign levels, including required signals, duplicate submission limits, geo-restrictions, and allow/deny lists for domains, IP ranges, and partner sources. Support versioned, auditable policy changes with draft, preview, and scheduled publish, plus a dry-run mode that simulates impact on recent traffic. Offer backtesting on historical submissions to estimate Green/Amber/Red distribution and predicted completion uplift before changes go live. Expose policy as code via JSON schema for import/export across environments.
Instrument key performance indicators including Green/Amber/Red rates, Amber fix completion rate, false-positive/negative rates inferred from reviewer outcomes, average time-to-approve, completion uplift, and abandonment at prompts. Visualize trends in the RallyKit dashboard with campaign and timeframe filters and provide exportable reports. Add anomaly detection and alerts for spikes in Red or validator failures, and support A/B testing of thresholds with statistically sound reporting. Stream events to the analytics pipeline and provide an API endpoint for BI tools.
Minimize PII processed for scoring by hashing emails and phones for duplicate detection, truncating IP addresses where policy requires, and limiting retention via configurable TTLs. Present consent language that reflects scoring purposes on action pages, and provide data subject tools for export and deletion of related scoring records. Enforce role-based access controls so only authorized staff can view evidence snapshots, with encryption in transit and at rest. Maintain a processing register and configuration-aware logs to support audits and DPIA reviews.
Instant USPS/NCOA-backed address cleanup and geocoding that suggests the most likely correct address when typos or unit numbers are missing. One-tap fix via SMS or page prompt recalculates districts in real time, boosting match rates and completed actions.
Integrate USPS CASS/NCOA services to validate and standardize supporter-entered addresses in real time and via scheduled batch. Normalize fields (street line, city, state, ZIP+4, DPV), correct common typos, append missing ZIP+4, and flag deliverability. Generate a suggested canonical address with confidence score and reason codes; never auto-overwrite without user confirmation. Provide a single RallyKit service endpoint other modules can call, with idempotent requests, result caching, and clear error codes for downstream handling.
Geocode corrected or newly entered addresses and immediately recalculate federal, state, and local legislative districts using maintained boundary datasets. Trigger recomputation on every accepted correction and propagate updated district mappings to active action pages and supporter records without page reload. Expose precision/confidence to the UI and apply graceful degradation rules when geocode accuracy is insufficient for district assignment.
Detect multi-unit addresses and infer likely missing secondary designators (Apt, Unit, Suite) using USPS data, building directories, and RallyKit historical records. When a unit is missing or ambiguous, present ranked suggestions with confidence and allow quick selection or manual entry. Enforce DPV rules, prevent fabrication, and require user confirmation before committing any inferred unit.
Surface address correction suggestions via secure SMS deep link and in-page banner/modal on action pages. Show the top suggestion with one-tap Accept and an Edit option; upon acceptance, apply the correction, re-geocode, and refresh district matches inline. Provide accessible, brandable UI components, localized copy, and event tracking for accept/decline metrics. Use signed time-bound links in SMS for security.
When a correction is accepted, write the standardized address back to the supporter profile and any pending action contexts, de-duplicating records and preserving the original input for audit. Implement versioning with timestamps and source attribution (USPS/NCOA, user confirmed), and emit events/webhooks so external integrations (CRMs, email tools) receive the update.
Record every correction attempt and outcome, including original input, suggested canonical address, confidence, DPV/NCOA reason codes, user confirmation method (SMS/Page), timestamps, and user/session identifiers. Provide export and API access for audit-ready proofs linked to campaign actions, with filters by campaign, date range, and outcome.
Obtain and record explicit consent before updating addresses via SMS or web prompt. Allow organizers to configure retention windows for raw inputs and correction logs, automatically redact PII in exports where required, and display clear notices to supporters. Ensure compliance with USPS/NCOA licensing terms, TCPA for SMS, and applicable privacy laws; provide settings to disable autocorrect for sensitive campaigns.
Always-on boundary monitoring that revalidates past supporters when lines shift. Notifies campaigns of affected records, updates targets automatically, and tags actions with the district version used—keeping outreach accurate through mid-cycle changes.
Continuously ingest updated district boundary data from authoritative sources (state GIS portals, Census TIGER/Line, local election boards) via scheduled polling and webhooks. Support common geospatial formats (GeoJSON, Shapefile, CSV with WKT) and normalize into a canonical, versioned schema with effective and publication dates. Validate topology, handle partial-county splits, at-large and multi-member districts, and municipal/state/federal layers. Deduplicate and sign updates, store provenance metadata, and expose a dashboard view of new map versions awaiting approval.
Recompute each supporter’s district assignment when a new boundary version is approved using rooftop geocoding and point-in-polygon matching with fallbacks (parcel, ZIP+4, centroid) and confidence scoring. Queue revalidation jobs in near real time with tenant isolation and rate limiting, flag ambiguous or low-confidence addresses for review, and re-run automatically when supporter addresses change. Persist mappings by district version, maintain idempotency, and surface revalidation progress and exceptions in the RallyKit dashboard and APIs.
Automatically update targeted legislators for active campaigns and one-tap action pages when a supporter’s district changes, applying campaign-specific rules (e.g., freeze targets after send, exclude certain chambers). Recompute recipient lists, update dynamic scripts tied to bill status and district, and provide a preflight simulation with diffs before applying changes. Support bulk approvals, rollback on failure, and API/webhook signals to downstream integrations to keep outreach accurate without recreating campaigns.
Tag all actions, events, exports, and API/webhook payloads with the district version ID, effective date, and source to provide audit-ready proof of the jurisdiction basis at time of contact. Surface tags in UI detail views and reporting filters, and ensure tags persist through data pipelines and external CRMs. Enable comparison reports across versions to quantify impact and maintain historical integrity.
Notify campaign owners when redistricting updates affect their records with in-app alerts and configurable email/Slack digests summarizing impacted supporters, campaigns, and urgency. Provide drill-down lists, CSV export, and links to simulate or approve auto-target realignment. Allow threshold settings (e.g., notify only if >1% of active supporters change) and quiet hours, and localize messaging for multi-tenant organizations.
Maintain an immutable audit log capturing map source, checksum, approver, applied time, and per-record changes with before/after district assignments. Provide one-click rollback to a prior district version per tenant or per campaign with automated revalidation and target reapplication, conflict detection, and safety checks. Offer exportable logs and retention policies to meet funder and regulatory compliance requirements.
Generates a signed, time-stamped attestation that a supporter is district-verified without exposing their full address. Drops into ProofLock-style receipts for auditors and partners, proving legitimacy while minimizing PII spread.
Generate a cryptographically signed, time-stamped token that attests a supporter’s legislative district eligibility without exposing their full address. The token uses an asymmetric signature scheme (e.g., JWS/PASETO) and contains a minimal claim set: district identifiers (state, chamber, district), verification method and source, issuance time, expiration, nonce, issuing org and campaign IDs, and a privacy-preserving address fingerprint derived via salted hashing. It is produced immediately after RallyKit’s address-to-district verification flow and attached to the supporter action record. Tokens are retrievable for receipts and exports and are verifiable offline or via a public endpoint, enabling auditors and partners to confirm legitimacy while minimizing PII spread.
Store private signing keys in a managed KMS/HSM with role-based access, audit trails, and envelope encryption. Embed key IDs in tokens to support seamless rotation. Implement automated rotation schedules, emergency rollover procedures, and dual-operator approval for key changes. Ensure services consuming tokens fetch current public keys via a JWKS or equivalent discovery endpoint. Integrates with RallyKit’s deployment pipeline to prevent key material in code or config and logs all key operations for security audits.
Provide a public verification endpoint that validates token signatures, checks expiration and revocation, and returns a pass/fail result with reason codes without returning or requiring PII. Offer lightweight SDKs (e.g., Node and Python) and documentation for partners and auditors, plus instructions for offline verification using embedded public keys/JWKS. Apply rate limiting and service monitoring to ensure reliability. Integrates with RallyKit’s partner export and ProofLock receipt links to enable one-click verification.
Present clear, localized consent language on action pages before generating a Privacy Proof Token, with an explicit opt-in and a link to data practices. Record consent events with timestamp, action ID, user agent, and a privacy-preserving address fingerprint. Store consent logs separately from campaign data with strict retention controls and exportability for audits. Integrates with RallyKit’s action builder so organizers can enable/require consent per campaign and display consent status in receipts and reports.
Embed the Privacy Proof Token into ProofLock-style receipts and partner exports as a compact string, QR code, and verification link. Display a 'District Verified' badge with issue and expiry times, and surface verification result statuses in the campaign dashboard. Ensure tokens are included in CSV/JSON exports with associated action IDs and campaign context. Integrates into RallyKit’s receipt templating, ensuring minimal layout impact and mobile-friendly rendering.
Enforce short-lived tokens with configurable TTL per organization or campaign and support immediate revocation for compromised keys, mis-verification, or policy changes. Maintain an online revocation list and embed kid/nonce to enable targeted invalidation. Ensure the Verification API checks revocation status and emits reason codes. Integrates with key rotation workflows and admin UI to trigger revocations and view status.
Design the token claim schema to exclude full addresses, names, emails, and phone numbers. Derive any address evidence via salted and peppered hashing kept in KMS, and process addresses in memory with no persistent storage beyond what is strictly required for campaign action records. Redact PII from logs, restrict access via RBAC and purpose-based controls, and enforce retention limits with automated deletion. Provide a DPIA-style checklist and unit tests to prevent accidental PII leakage across services.
Behavioral and velocity checks flag suspicious bursts (shared IPs, repeat patterns, disposable emails) and auto-rate-limit or hold for review. Pairs with person-level dedupe to mute manufactured volume and protect campaign credibility.
Implements a streaming rules engine that evaluates every advocacy action in real time against campaign-specific baselines and global heuristics to identify manufactured activity. Calculates a suspicion score using velocity (actions per IP/device/email), repeat pattern similarity, cross-campaign clustering, and timing irregularities, then tags each action with reason codes. Integrates with RallyKit’s event pipeline to annotate action records, trigger mitigations, and feed metrics dashboards. Delivers immediate detection without adding friction for legitimate supporters while reducing false positives via campaign-tunable thresholds.
Captures network and device signals (IP, ASN, region, user agent, cookie/device hash) to spot coordinated bursts and repeated submissions from the same origin while preserving user privacy. Hashes and salts device identifiers, redacts IPs to configurable precision, and enforces retention limits. Flags VPN/proxy ranges and shared IP anomalies, feeding the anomaly score and dedupe layer. Provides allow/deny lists and consent-aware handling to comply with privacy policies and regulations.
Validates supporter emails using syntax checks, DNS/MX lookups, and a continuously updated list of disposable/temporary domains to reduce low-quality or automated submissions. Assesses sender domain reputation and applies campaign-level allowlists/denylists. Emits structured reason codes, adjusts suspicion scores, and optionally suppresses delivery of messages triggered by flagged addresses while preserving a reviewable record.
Applies dynamic, context-aware rate limits to IPs, devices, and identities when suspicion thresholds are met, throttling or temporarily holding actions before they are sent to targets. Supports per-campaign policies, cooldown windows, progressive penalties, and auto-release conditions. Surfaces clear supporter-facing messages, triggers alerts on spikes, and records all mitigations on the action timeline. Integrates with delivery services to ensure held actions are not dispatched until approved or released.
Provides a dashboard queue for reviewing held or high-risk actions with full context: suspicion score, reason codes, timelines, origin signals, and similarity clusters. Enables bulk approve/reject, comment threads, and re-queueing for delivery. Enforces role-based access, captures immutable decision logs with timestamped actor records, and supports filters, search, and exports to CSV/JSON. Integrates with notifications to inform moderators of spikes needing attention.
Extends existing person-level deduplication to incorporate Astroturf signals, merging identities across channels (email, phone, device) and suppressing repeat counts from the same individual within configurable windows. Distinguishes between unique constituent outreach versus repeated spam, keeping topline metrics accurate. Offers campaign-level controls for what qualifies as a unique action and emits dedupe reason codes for analytics and exports.
Generates immutable audit logs of detections, mitigations, and reviewer decisions, and provides reporting on flagged rates, suppression impact, root causes, and time-based trends. Supports drill-down by campaign, channel, geography, and reason code, with exportable CSV/JSON and scheduled email/Slack summaries. Exposes API endpoints for BI tools and enables shareable, read-only report links for external stakeholders to validate campaign credibility.
A consented, time-limited ‘verified once’ pass linked to phone/email that carries across RallyKit action pages. Returning supporters skip re-checks for a set window, cutting friction at peak moments while preserving compliance.
Implement an explicit, opt-in consent step that explains the Trust Pass purpose, reuse window, and covered channels (phone/email). Capture timestamp, consent language version, locale, and supporter identifier linkage. Support accept/decline with accessible, localized copy; if declined, fall back to the standard verification flow. Persist consent metadata server-side for the configured retention period and surface a lightweight indicator of active consent on action pages. Integrate with existing RallyKit supporter records without duplicating PII, and ensure consent is required before any reuse of verification occurs.
Enable one-time verification of phone and/or email via OTP with intelligent retries, rate limiting, and deliverability checks. Link verified channels to a single supporter profile and mark them as eligible for Trust Pass issuance when consented. Provide channel fallback (e.g., switch from SMS to email) and handle edge cases (carrier filtering, spam folders). Integrate with existing RallyKit comms services and ensure verification outcomes are recorded for analytics and compliance.
After successful verification and consent, issue a signed, time-limited Trust Pass bound to the supporter and device/browser. Encode expiry, scopes, and risk markers; prefer HTTP-only, Secure, SameSite cookies for storage with server-side validation and revocation lists. Minimize PII by storing hashed identifiers and rotate signing keys per policy. Support multiple devices with independent passes and refresh on re-verify within policy. Ensure resilience to token theft and replay via device binding and short-lived TTLs.
On load of any RallyKit action page, detect a valid Trust Pass and bypass re-verification, pre-filling known fields and advancing users directly to one-tap action. Display a clear, dismissible indicator (e.g., “Trusted for X hours”) with a link to revoke. If the pass is missing, expired, or invalid, gracefully fall back to the standard flow. Ensure compatibility with district-specific script generation and live action tracking, and instrument events for conversion and latency metrics.
Provide supporter-facing controls to view status and immediately revoke the Trust Pass on any action page, plus organizer/admin tools to revoke passes by supporter or campaign. Support automatic expiry at configurable TTL, forced re-verify on suspicious activity, and global opt-out flags that prevent future issuance. Propagate revocations across devices where feasible and confirm actions with clear messaging. Maintain a smooth fallback to re-verification after revocation.
Record immutable, audit-ready events for consent capture, verification outcomes, pass issuance/refresh, usage to skip checks (with page identifiers), revocation, and expiry. Store timestamps, policy/version references, and minimal hashed identifiers to protect privacy. Provide exportable reports (CSV/PDF) and an evidence bundle for audits, with configurable retention aligned to organizational policy and regulations (e.g., GDPR/CCPA considerations). Include automated alerts for anomalies (unusual reuse rates, failed verifications).
Add dashboard settings to enable/disable Trust Pass per campaign, configure the reuse window (e.g., 2–24 hours), select allowed channels, and edit consent copy by locale. Provide analytics on adoption rate, conversion lift, time-to-action, re-verify rate, and revocations, with segmenting by campaign and device type. Support A/B testing of TTL and consent copy, and expose pass status via API/webhooks for external tooling. Include inline guidance and defaults aligned to best-practice compliance.
Multi-channel verification alternatives—email magic links, IVR phone codes, and WhatsApp—plus multilingual prompts and accessibility cues. Ensures constituent checks succeed even with SMS blocks, low data, or assistive tech needs.
Implements passwordless email verification by sending time-limited, single-use magic links to supporters, enabling reliable identity confirmation when SMS is blocked or unavailable. Includes secure tokenization, link expiration (e.g., 10 minutes), device and IP binding checks, and replay protection. Deep-links return users to the exact RallyKit action page to complete calls/emails with minimal friction, including a low-bandwidth HTML fallback. Integrates with RallyKit’s real-time dashboard to log send, open, and verify events for audit readiness. Admins can configure sender domain, copy, TTL, resend cooldowns, and per-campaign overrides, all within the existing 45-minute setup flow.
Provides a voice-call verification path that reads a one-time code via text-to-speech to the supporter, supporting landlines and low-data scenarios. Users request a call, receive an automated IVR that announces a 6–8 digit code, then enter it on the RallyKit page to confirm identity. Supports DTMF input fallback, multiple language voices, rate limiting, and configurable retry/timeout logic. Captures call outcome events (busy, no-answer, voicemail detected) into RallyKit’s live activity feed and audit logs. Admins can set call window hours, code length, maximum attempts, and TTS voice/language per campaign.
Enables verification over WhatsApp Business by sending a templated message with either a one-time code or a tap-to-verify quick reply. Handles opt-in capture, region-specific template approvals, and localized content. Supports graceful fallback to email or IVR if WhatsApp delivery fails or if the user does not respond within a configurable timeout. All message sends, deliveries, reads, and verifications sync to RallyKit’s real-time dashboard and audit logs. Admin controls include template selection, locale routing, timeout thresholds, and per-country enablement to comply with platform policies.
Centralized logic that detects delivery or engagement failures (e.g., SMS blocked, undelivered WhatsApp, no email open) and automatically offers or triggers alternative verification channels in a single, unified flow. Maintains a single verification session across channels, preventing duplicate tokens and ensuring the first successful verification completes the action. Configurable channel priority, retry intervals, and maximum attempts at org or campaign level, with clear, progressive UX prompts to switch methods. All transitions and outcomes are tracked in real time for auditability and conversion analytics.
Delivers fully localized verification prompts and system messages across email, IVR, and WhatsApp, supporting right-to-left scripts and regional formats. Auto-detects locale from browser, device, or phone metadata with user override, and falls back gracefully when translations are missing. Includes translation keys for all verification steps, error states, and accessibility cues, with per-organization copy overrides in the RallyKit dashboard. Ensures consistent tone and compliance with platform rules (e.g., WhatsApp templates) while minimizing setup time via prebuilt translations for common languages used by nonprofits.
Implements accessible verification interfaces across web and voice, meeting WCAG 2.2 AA: keyboard-only navigation, focus management, ARIA labels, high-contrast themes, adjustable text size, and clear error messaging. Provides screen-reader-optimized flows, audio speed controls for IVR, and alternatives to visual CAPTCHAs. Includes low-bandwidth modes with reduced imagery and semantic HTML to ensure assistive tech compatibility. Accessibility checks are added to CI with automated linting and manual QA scripts to ensure ongoing compliance across channels and languages.
Creates an immutable, exportable log of verification attempts and outcomes across channels, including timestamps, channel, status, and minimal PII needed for compliance. Exposes webhooks for verification events (initiated, delivered, verified, failed) to sync with external CRMs or data warehouses and supports CSV exports for board or funder reporting. Data retention, encryption at rest, and role-based access controls align with RallyKit’s audit-ready promise while honoring opt-in/consent requirements for email, voice, and WhatsApp.
Prebuilt permission tiers tailored for coalitions (e.g., Owner, Publisher, Script Editor, Data Viewer, Attribution-Only, Billing Partner). Apply in one click to a campaign or partner, then fine-tune per need. Cuts setup time from hours to minutes, reduces permission mistakes, and keeps multi-org teams consistent as they scale.
Seed RallyKit with a curated set of coalition-ready permission tiers (Owner, Publisher, Script Editor, Data Viewer, Attribution-Only, Billing Partner). Each tier maps to explicit capabilities (e.g., create/edit scripts, publish action pages, view/export supporter PII, manage billing, view attribution-only metrics, access audit logs). Provide one-click selection from a library with clear, human-readable summaries and detailed capability matrices. Templates are localized, accessible, and tenant-scoped, with sensible least-privilege defaults to reduce setup time and mistakes. Integrates with existing user, partner, and campaign entities so templates can be referenced anywhere permissions are required.
Enable one-click application of a ring template at multiple scopes (workspace/coalition, partner org, campaign, action page). Support hierarchical inheritance where lower scopes inherit from higher ones, with the ability to add safe, explicit exceptions. Provide a real-time effective-permissions preview before applying, show impacted users, and offer atomic apply with rollback on failure. Integrates with RallyKit’s campaign and action page models to ensure permissions propagate immediately to script editing, publishing, call/email action tracking, and data export areas.
Define fine-grained capabilities across RallyKit resources: scripts (create/edit/publish), action pages (create/edit/publish/archive), call/email action tracking (view live activity, export), supporter data (view masked vs. full PII, export controls), legislators/district data (view-only), billing (view/approve), attribution (credit view-only), and audit logs. Allow scoping by resource (organization, coalition, campaign, action page), with time-bound access and conditional PII masking rules. Provide allow/deny semantics and conflict resolution that favors least privilege. Ensure matrix is machine-readable for API enforcement and human-readable for admins.
Permit per-user or per-partner overrides to template permissions with embedded guardrails: elevation to Owner/Billing requires dual approval, destructive actions require explicit confirmation, and PII access can be gated behind purpose justification and auto-expiring time windows. Provide validations and warnings when overrides conflict with higher-level policies, and a single-click reset to template defaults. Integrates with RallyKit’s compliance features to support audit-ready proof and data minimization.
Capture a complete, immutable audit log for template changes and assignments, including who made the change, when, scope affected, and a before/after diff of capabilities. Expose searchable logs in the UI with filters by user, campaign, partner, and date. Provide export (CSV/JSON) and an API endpoint to deliver audit-ready proof to funders and compliance reviewers. Trigger webhooks on permission changes for downstream systems.
Support bulk assignment of ring templates to users, partners, and campaigns via the UI and CSV import. Provide dry-run validation with error reporting, idempotent operations, and progress feedback for large batches. Allow exporting template definitions and assignments for backup and replication across coalitions. Provide API endpoints for programmatic assignment and synchronization with external directories.
Introduce template versioning with draft, review, and publish states. Allow comparing versions side-by-side, deprecating old versions, and migrating assignments with staged rollout (percentage- or group-based) and instant rollback. Notify impacted users of capability changes and log all migrations in the audit trail. Ensures controlled, low-risk evolution of permission policies as coalitions scale.
Configurable, multi-step approval gates for scripts, targets, and page publishes. Set who must review, add SLAs and escalations, and approve from email or mobile. Speeds safe releases, prevents off-message posts, and gives clear accountability without slowing day-of-action momentum.
Provide a drag-and-drop builder to define multi-step approval ladders for scripts, target lists, and action page publishes. Support serial and parallel steps, conditional branching by asset type, bill status, campaign risk level, and environment (draft vs live). Include reusable templates, step-level rules (required/all-of/any-of), validation to prevent unreachable states, and a preview of the path an item will take. Integrate natively with RallyKit objects so each draft is automatically bound to its configured ladder, with versioning of ladder definitions and change impact warnings.
Allow approver assignment by role (e.g., Communications, Policy, Legal), team, or ownership (campaign/bill/target set), with support for groups (any-one vs all-must-approve), alternates, and out-of-office delegation with effective dates. Enforce conflict-of-interest rules (no self-approval), per-asset overrides with audit, and automatic resolver when a role is unfilled. Sync with RallyKit user directory/permissions and surface clear step owners on each item.
Enable step-level SLAs (e.g., 2h, 8h, 24h) with business-hour calendars, quiet hours, and weekend rules. Send time-based reminders and pre-breach alerts via email, SMS, and Slack, and auto-escalate to alternates or supervisors on breach with optional auto-reassignment. Display live countdowns and breach indicators on item cards and the campaign dashboard, and log all notifications for auditability.
Allow approvers to approve, reject, or request changes directly from email and mobile with secure, time-limited links and optional 2FA for high-risk steps. Include in-context previews: redlined script diffs, target list summaries by district, and an action page preview with bill status tags. Capture comments and change requests inline, support quick-reply keywords, and persist all actions to the audit log. Optimize flows for iOS/Android and low-bandwidth usage to support field organizers.
Gate publishing so that scripts, target lists, and one-tap action pages cannot go live until all required approvals in the configured ladder are complete. Lock approved content against changes that would bypass review and trigger re-approval on material edits. Support scheduled publishes after final approval, preflight checks, and one-click rollback to the last approved version if issues arise. Show clear status banners and blockers in the publishing workflow.
Maintain draft and approved states with per-change version history for scripts and target lists. Provide side-by-side and inline redline diffs highlighting additions, removals, and changed language, plus change summaries for district targeting. Support comment threads, request-changes loops, restore-to-previous, and auto-linking to the bill status script generator so dynamic content changes are visible and reviewable.
Record an immutable audit trail of every approval event: timestamps, actor identity, step, decision, comments, device/IP, and notifications sent. Provide filters by campaign, bill, asset type, approver, and date range, with export to CSV/PDF and a signed hash to detect tampering. Generate audit-ready reports that tie approvals to the exact versions published and the actions taken by supporters for end-to-end accountability.
Granular asset sharing by page, script section, district subset, or channel. Timebox access, restrict by domain/IP, and choose rights (edit, publish, view-only). Enables partners to collaborate where needed while protecting sensitive targets, lists, and language outside their remit.
Design and implement a fine-grained permission model that scopes access by asset type (page, script section, district subset, channel) and supports rights levels (view-only, edit, publish). Define hierarchical scope boundaries and inheritance rules with explicit conflict resolution (most-restrictive wins) and sensible defaults (deny by default). Integrate with RallyKit’s existing roles and organizations to support internal users and external partners under a single, multi-tenant authorization layer. Include performant, cacheable permission checks at request time and background re-evaluation when scope definitions change. Outcome: partners can collaborate only within explicitly granted slices of content and geography without exposing sensitive targets, lists, or language outside their remit.
Provide a mechanism to generate scoped share links and invitations that encapsulate scope and rights, with timeboxed access windows (start/end), single-click revocation, and optional one-time-use tokens. Enforce domain allowlists and IP allow/deny rules at session creation and on every request. Use signed, expiring tokens and short-lived sessions; support SSO or email-verified magic links for partner identity. Include rate limiting, CSRF protection, and bot mitigation. Integrate link-level attribution into RallyKit’s live action tracking so actions taken via a share are auditable to the partner and scope. Outcome: external collaboration is secure, traceable, and easy to enable/disable without platform-wide risk.
Build an administrative UI that lets owners select assets to share (page, script section, district subset, channel), choose rights (view-only, edit, publish), set time bounds, and configure domain/IP restrictions. Provide a preview-as-partner mode that shows exactly what a collaborator will see and be able to do. Surface scope conflicts, inherited restrictions, and affected content, with clear summaries before sending an invite. Generate a share summary page with link management (copy, pause, revoke) and real-time indicators of active sessions. Outcome: fast, low-friction setup of precise collaboration without misconfiguration.
Introduce a scoped review workflow where partners with edit rights submit changes for owner review, and partners with publish rights can publish only within their granted scope. Provide versioning, diffs by script section and channel, and rollback per scope. Trigger notifications to owners on submissions and to partners on approvals or requests for changes. Ensure publishing updates live action pages and scripts only for in-scope districts/channels and never leaks hidden targets or language. Outcome: safe, auditable collaboration that increases speed to publish while maintaining message control.
Capture immutable, timestamped records for all share lifecycle events (create, modify, revoke), access attempts (granted/denied with reasons like IP/domain mismatch or expired), and content actions (view, edit, publish) tied to user, partner, scope, and asset. Provide searchable logs, filters by partner and timeframe, and exportable reports (CSV/PDF) suitable for audits and funder reporting. Integrate alerts/webhooks for anomalous activity (e.g., repeated denied access, out-of-scope edit attempts). Outcome: audit-ready proof of who accessed and changed what, when, and under which authorization.
Enforce district and channel boundaries at data and UI layers so collaborators can target only the allowed geographies and outreach channels. Bind scoped shares to RallyKit’s legislator auto-matching, ensuring that changes in district mappings or bill status dynamically update the visible and editable targets within scope. Redact out-of-scope targets and language from all partner views, exports, and APIs. Provide graceful handling for boundary changes (e.g., redistricting) with notifications when a share’s effective coverage shifts. Outcome: collaboration remains tightly aligned to intended districts and channels even as data changes in real time.
Policy-backed export controls with tiers: No Export, Aggregates Only, or Row-Level with PII redaction. Watermarked downloads, scoped API/webhook tokens, rate limits, and just-in-time access requests. Keeps data promises, satisfies compliance, and stops uncontrolled list spread.
Implement policy-backed export modes—No Export, Aggregates Only, and Row-Level with PII Redaction—configurable per organization, campaign, and role. Enforce policies consistently across the UI, CSV/Excel/PDF downloads, APIs, and webhooks via a centralized authorization and policy engine at the service layer. Provide sensible defaults, explicit fallbacks (deny by default on missing policy), and clear in-product messaging that explains the allowed export scope before an action is taken. Integrate with existing permissions and campaign settings so administrators can quickly apply policies to new campaigns and templates. Deliver consistent, testable behavior with unit and integration tests that verify policy decisions for each surface area.
Provide a redaction engine that automatically masks or removes personally identifiable information in row-level exports based on a configurable field catalog (e.g., name, email, phone, street address, donor notes). Support irreversible hashing for identifiers, partial masking for contact data, and complete omission for highly sensitive fields. Annotate exported files with metadata that indicates which fields were redacted and why, and expose a preview so users can see the resulting schema before exporting. Maintain a central configuration with versioning and environment-specific defaults, and integrate with the existing data model for supporters, actions, and legislators. Ensure redaction executes server-side at export time to prevent client bypasses and is covered by policy-driven tests.
Stamp all downloadable files with a persistent watermark that includes organization name, campaign identifier, exporting user, timestamp, and policy scope. For CSV/Excel, inject a header watermark and a unique export watermark ID column; for PDFs, apply an unobtrusive visual overlay; for ZIP bundles, include a manifest with watermark metadata. Make watermark IDs traceable to the audit trail for later attribution and deterrence. Present watermarked previews and communicate to users that downloads carry identifiable marks to discourage improper redistribution. Ensure watermarking is applied in streaming pipelines to avoid large memory footprints and covers all export file types supported by RallyKit.
Introduce least-privilege, time-bound tokens for export-related APIs and webhook deliveries with scopes aligned to export policy tiers (e.g., aggregates.read, rows.read.redacted). Support token expiration, rotation, explicit revocation, IP allowlists, and HMAC-signed webhook payloads. Expose an admin UI to issue, restrict, and audit tokens, and surface scope errors with actionable messages. Ensure tokens cannot escalate beyond the configured campaign/organization policy and that aggregate-only scopes return pre-aggregated datasets. Provide SDK examples and documentation to make integration straightforward for third-party tools while keeping data exposure within policy limits.
Apply layered rate limits and anomaly detection to export endpoints and download workflows, including per-user, per-organization, per-campaign, and per-token thresholds with burst and rolling windows. Implement daily row-count caps, file-size limits, and circuit breakers that temporarily block or challenge suspicious activity. Surface informative throttle messages and notify admins on threshold breaches. Integrate with existing monitoring to log metrics such as rows exported per minute and export failures, and tune defaults for small nonprofits. Provide configuration hooks for stricter regimes when required by funders or policy commitments.
Offer an in-product workflow for requesting temporary elevation from No Export or Aggregates Only to a higher tier with PII redaction. Collect justification, scope (campaign, fields, time window), and approver, then automatically grant and revoke access based on time-bound policies. Notify approvers via email/Slack, record decisions with reasons, and display pending/approved requests in an admin queue. Integrate with exports so that users encountering a blocked action can initiate a request inline without losing context. Ensure all temporary grants are captured in the audit log and are discoverable for compliance reporting.
Create an immutable, append-only audit log that records every export attempt and outcome, including actor, source surface (UI/API/webhook), policy evaluation, scope granted, file metadata, watermark ID, row counts, and cryptographic checksums. Store logs in WORM-capable storage with retention policies aligned to compliance needs and provide an auditor-facing UI to search, filter, and export receipts. Emit real-time events for SIEM ingestion and generate scheduled compliance summaries per campaign and organization. Include integrity verification routines and access controls to ensure logs themselves are protected and admissible as audit-ready proof.
Immutable partner tags and credit-split rules enforced at publish. Dispute workflow allows proposed adjustments with dual confirmation and a traceable outcome. Eliminates post-hoc credit fights, keeps dashboards honest, and preserves trust with coalition partners and funders.
Allow campaign creators to assign coalition partner organizations and roles (e.g., lead, co-sponsor) to a campaign/action prior to publish, then lock those tags at the moment of publish. The locked partner set is stored in an append-only record with timestamp and actor, and becomes read-only across UI, API, and reporting. Tags propagate to action pages, attribution pipelines, and exports to ensure consistent, audit-ready attribution across RallyKit. Validation prevents duplicates and unknown partners; permissions restrict pre-publish edits to authorized users. Post-publish changes are disallowed and must route through the dispute workflow, preserving historical integrity and trust among partners and funders.
Enable defining percentage-based credit splits among tagged partners prior to publish, with validation that totals equal 100% and configurable minimum increments. The selected split rule is locked at publish and applied deterministically to all resulting supporter actions (calls, emails, sign-ups) for attribution. Support reusable templates, per-campaign overrides, and default org policies. Expose the locked rule across dashboards, exports, and APIs, and ensure the rule is enforced in real time during action ingestion to keep numbers consistent with what was agreed pre-launch.
At the moment of publish, generate a lock artifact that captures the partner set and credit split rule, write it to an append-only audit store with a unique lock ID and hash, and flip the campaign to a read-only state for those fields. Display a visible “Attribution Locked” badge in the UI, include the lock ID on receipts, and expose it via API and exports. Any subsequent configuration change requires creating a new version and republishing, ensuring a clear lineage between versions and preventing silent post-hoc edits.
Provide a structured, time-bound workflow for partners to propose adjustments after publish without altering the original lock. A disputing partner submits a proposal with scope (date range, campaigns, channels), requested reallocation, and rationale; counterparties are notified and must provide dual confirmation (initiator plus campaign owner or designated arbiter) for approval. On approval, create a signed adjustment entry that offsets credits prospectively or for a specified historical window, without modifying the original locked data. Track statuses (Open, Under Review, Approved, Rejected, Expired), keep all communication and decisions in the audit trail, and reflect outcomes in reporting with clear indicators.
Maintain a tamper-evident, append-only ledger of publish locks, disputes, approvals, and adjustments, recording timestamps, actors, cryptographic hashes, and references to affected campaigns and actions. Generate verification receipts that partners and funders can use to validate that reported totals match ledger entries. Provide read-scoped access in the UI, CSV/JSON exports, and APIs while honoring data privacy constraints. Integrate with RallyKit’s existing audit infrastructure to support audits and compliance reviews without bespoke data pulls.
Update dashboards and exports to compute partner credit using the locked split rules plus any approved adjustment entries, with real-time reconciliation that always sums to 100% for each action. Surface lock IDs, dispute statuses, and adjustment deltas, and provide filters by campaign, partner, date range, and channel. Ensure caches and aggregates are rebuilt when adjustments are approved, and include clear visual indicators when figures have been adjusted. Deliver export files suitable for grant reporting with partner-level totals, action counts, and references back to lock and adjustment IDs for traceability.
Safe forks of pages or scripts for partners to propose edits without touching live assets. Side-by-side diffs, inline comments, and test links roll into the Approval Ladder. Encourages contribution and rapid iteration while preventing accidental or unauthorized changes.
Enable users to create draft sandboxes by forking any live action page or script without affecting production. Drafts inherit the source asset’s metadata (bill, district targeting, tags) and lock against live mutations until merge. Provide role-based access (owner, editor, commenter, viewer) with partner-scoped permissions, invite links, and optional NDA/acknowledgment gates. Support multiple concurrent drafts per asset, draft naming/notes, and provenance (source version, creator, timestamp). All draft activity is captured in the audit trail as non-production events, ensuring compliance while encouraging collaboration.
Provide a fast, accessible diff UI that renders live vs. draft side-by-side with syntax highlighting for scripts and rich-text/block-level diffs for pages. Show field-level changes (copy, form fields, CTAs, targeting rules), media diffs (images, links), and bill-status token differences. Include unified view toggle, whitespace/formatting ignore options, change filtering (copy-only, logic-only), and export/share of diffs for external review. Optimized for large assets with virtualized rendering and responsive layout for mobile reviewers.
Allow threaded, inline comments anchored to specific blocks or lines of script with resolve/reopen states. Support @mentions (users, teams, partners), attachments (screenshots, docs), and suggested edits for small copy tweaks. Enforce comment permissions by role, provide per-thread subscriptions, and send notifications via in-app, email, and optional Slack. Persist comment history in the audit log, with timestamps and actor identity for accountability.
Generate shareable preview URLs for each draft that render in a production-like sandbox with safe sample or permissioned real data. Previews are clearly labeled as test, do not trigger real calls/emails, and do not affect live metrics. Allow simulation of supporter address/district matching and bill status to validate dynamic scripts. Provide optional password protection, expiration, and QR codes for field testing. Track preview events separately for quality checks and report them as draft-only telemetry.
Integrate drafts with RallyKit’s Approval Ladder: Draft → Ready for Review → Changes Requested → Approved → Merged. Allow assignment of required approvers per organization/partner, enforce gate checks (content policy, legal, accessibility), and block merges until all checks pass. Provide status badges, due dates, and notifications for state changes. Capture all transitions, approver identities, and rationales in an audit-ready record. Support admin overrides with mandatory justification and automatic reviewer notification.
Deliver a merge engine that applies approved changes with zero downtime, creating a new live version and preserving rollback points. Detect conflicts against intervening live edits and present a guided resolution UI with block-level and field-level choices. Use semantic merge rules for scripts (tokens, conditionals) and content blocks to minimize false conflicts. Validate merges with preflight checks (links, tokens, targeting rules) and offer a dry-run preview of resulting live content. Record merge outcomes and allow one-click rollback to prior versions.
Pins the ledger’s daily root hash to an independent timestamp authority, producing an anchor certificate that proves when entries existed. Auditors can independently verify anchors, making backdating or silent rewrites provably impossible and strengthening trust with funders.
Compute and freeze a daily Merkle tree root hash over the RallyKit action ledger at a configurable day boundary (default 00:00 UTC). Ensure deterministic ordering and canonical serialization of entries so the root is reproducible across environments. Persist snapshot metadata (root hash, digest algorithm, canonicalization version, entry count, time window) in append-only storage to serve as the anchor input. Expose an internal API for downstream anchoring and inclusion proof generation.
Integrate with at least two independent timestamp authorities via a pluggable adapter (e.g., RFC 3161 TSA and OpenTimestamps-compatible service). After each daily snapshot, submit the root hash to all configured providers, capture receipts (timestamps, signatures, proofs), and store them immutably. Implement retries with backoff, provider health checks, idempotency, and timeouts; anchoring must not block the main app. All communications over TLS, with provider credentials securely managed.
Generate an anchor certificate artifact per day that bundles: snapshot metadata, root hash, digest algorithm, canonicalization version, TSA receipts/proofs, anchoring time(s), provider metadata, and RallyKit build/version. Store certificates in versioned, append-only storage with retention controls; expose a read-only download in the dashboard and via API. Provide a stable, shareable link with optional access control (public link token or signed URL) and ensure the certificate is self-describing for offline verification.
Provide an auditor-friendly verification page and a lightweight CLI script that validate anchor certificates and inclusion proofs without requiring RallyKit credentials. The verifier should re-hash provided entries or snapshots, check TSA receipts against provider public keys, and report pass/fail with detailed diagnostics. Publish step-by-step instructions and machine-readable schemas to enable third-party tools to verify independently.
Enable per-entry Merkle inclusion proofs linking any ledger entry to its anchored daily root. In the UI and API, allow users to fetch a proof bundle containing the entry, canonicalization details, the Merkle path, and the referenced anchor certificate. Display verification status in the entry detail view and support bulk export for a range of entries.
Schedule the daily snapshot and anchoring jobs, emit metrics, and alert on anomalies (job failures, delayed anchors, provider errors, or integrity mismatches). Provide visibility via a dashboard widget showing last successful anchor, coverage over the past 90 days, and any gaps. Send notifications via email/webhook/Slack on failure and auto-retry with exponential backoff.
Detect missed snapshot or anchoring windows and record explicit gap entries. Support catch-up anchoring that anchors the historical root with the current trusted timestamp while labeling the certificate as late and linking to the gap record. Prevent generation of artifacts that appear antedated; surface gaps prominently in the UI and reports to preserve trust with funders.
Every receipt carries a short URL and QR code that opens a no-PII verification page. Auditors and partners can scan or paste a receipt to validate its signatures and chain position against the live ledger—no special software, instant confidence.
Generate a unique, non-guessable short URL and corresponding QR code for every action receipt at the time of issuance. The short URL encodes a signed token that references the receipt’s immutable record in RallyKit’s append-only ledger without exposing PII. The QR code (with configurable error-correction level and size) is embedded into downloadable/printable receipts and included in confirmation emails/SMS. Links must be durable, globally unique, and resolvable via a high-availability shortener with HTTPS, HSTS, and automatic redirect to the VerifyLink page. Provide SDK/utility methods for services that issue receipts, and graceful fallbacks (human-readable short URL) when QR rendering isn’t supported.
Deliver a mobile-first, public web page that accepts a scanned QR code or pasted short URL, resolves the token, retrieves the receipt’s proof bundle, and displays a clear human-readable validation outcome (Valid, Invalid, Revoked, Expired, Not Found). The page must never display or log PII; it surfaces only minimal metadata necessary for trust (receipt ID suffix, issuance timestamp, campaign/bill identifier, and chain position fingerprint). It explains validation checks at a glance and provides a link to RallyKit’s verification documentation. Implement fast-load (<2.5s at 4G), WCAG 2.1 AA accessibility, localization support, and responsive design. No login or special software required.
Implement a verification service that validates the receipt’s digital signature, verifies the integrity of its proof bundle, and confirms the receipt’s position within the live append-only ledger. The service recomputes hashes, checks signature validity against the current public keys, and verifies the chain linkage/anchor at the reported height or checkpoint. It returns a normalized result with reason codes and machine-readable fields for the UI. Handle reorgs or checkpoint updates, provide deterministic outcomes, and expose an internal API used by the VerifyLink page. Include observability (metrics, tracing) without capturing PII.
Support revoking individual receipts and setting optional expirations for test/sample receipts. Maintain a signed revocation list and ensure VerifyLink reflects revocation/expiry instantly with human-readable reasons. Preserve tamper-evident history and do not delete ledger entries; instead mark state transitions. Provide admin UI hooks and API endpoints for revocation actions with appropriate authorization and audit trails (no PII).
Protect the VerifyLink endpoint from abuse while maintaining frictionless access. Add rate limiting per IP/ASN, burst tolerance, and soft challenges (e.g., proof-of-work or CAPTCHA) after thresholds. Serve static assets via CDN, enable geo-redundant hosting, and implement health checks and circuit breakers for the ledger backend. Ensure >99.95% availability and graceful degradation with informative error states. Log only operational telemetry free of PII.
Allow organizations to use a custom verified domain or subdomain for short links and the verification page, and to apply light branding (logo, colors, footer text) to increase trust. Provide DNS- and HTTP-based domain verification, automatic TLS via ACME, and fall back to RallyKit’s default domain if misconfigured. Ensure branding elements do not reveal PII and do not alter the verification semantics.
Human-readable, side-by-side diffs for any action’s history show exactly what changed, who approved it, and why (reason codes). Collapses technical hashes into clear narratives you can export, cite in reports, and share during reviews without confusion.
Capture every change to RallyKit entities (actions, scripts, targets, pages, automations) as immutable, append-only events normalized to a single schema (entity type/id, version, timestamp, actor/role, change set, approval info, reason code, comment, origin, correlation id). Persist a write-once event log with integrity verification, while surfacing a simple “Integrity: verified” indicator in the UI instead of raw hashes. Backfill existing records, map legacy fields, and expose internal APIs to query histories by entity, campaign, or timeframe. This foundation enables consistent diffs, approvals, exports, and audit-ready proof across the product.
Generate field-level diffs for text, rich text/Markdown, JSON, and structured fields with word- and sentence-aware highlighting. Provide side-by-side and inline views, with controls to collapse unchanged sections, toggle whitespace/case sensitivity, and switch between granular or summary modes. Support attachments and link changes with clear labels. Ensure fast rendering via server-side diff computation, pagination, and virtualized lists. Meet accessibility standards (keyboard navigation, ARIA roles, sufficient contrast) and embed the viewer wherever history appears in RallyKit.
Require approver identity, role, and a reason code (with optional comment) for any publish-state or policy-scoped change. Display approval badges and reason summaries at the top of each diff and in timelines. Provide a manageable reason-code taxonomy per organization, with analytics on usage. Integrate with SSO/2FA for strong identity, and log delegation when approvals are performed on behalf of others. Block finalization if a required reason code is missing, ensuring every diff shows who approved it and why.
Transform diffs into readable narratives ("On 2025-08-12, Jordan Lee changed call script intro from X to Y due to Message Alignment—approved by A. Singh.") and export them to PDF, CSV, and DOCX with organization branding, timestamps, version IDs, and approval details. Provide secure, expiring share links and permission-aware access for reviewers. Include watermarks and page headers/footers suitable for audits and board packets. Generate citation permalinks that resolve to a specific version snapshot so exports can be verified later.
Mask PII and sensitive fields in diffs based on role policies (e.g., donor emails, phone numbers, internal notes), with visible placeholders and tooltips indicating redaction rules. Ensure redactions propagate to exports and share links. Provide a request-and-grant workflow to temporarily unmask specific elements with a logged justification, and record redaction actions in the audit trail. Offer admin controls to define field-level policies and organizational defaults.
Link related events across assets to show causal chains (e.g., script update → action page text update → outreach surge). Use correlation IDs, batch IDs, and request context to infer relationships. Provide a timeline and dependency graph within Trace Diffs to traverse upstream and downstream impacts, with per-node summaries and quick jump into detailed diffs. Enable campaigns to understand how a single edit propagated through RallyKit and influenced supporter actions.
Offer fast search and filtering across histories by user, role, entity type, campaign, date range, reason code, approval status, and keywords within changes. Provide saved filters and shared views for recurring audits and weekly reviews. Support export of filtered results and deep links that preserve the active query and selected diff. Optimize with server-side indexing and pagination for large histories.
Automatic, scheduled rotation of signing keys with rollover proofs so old and new receipts remain verifiable forever. Reduces security risk while preserving continuity, complete with alerts, custody logs, and a simple ‘last rotated’ indicator for compliance.
Implements per-tenant, time-based rotation of signing key pairs with configurable cadence (e.g., every 30/60/90 days) and maintenance window. Generates new keys in a secure KMS/HSM where available, performs an atomic cutover, updates key identifiers (kid), and ensures zero signing downtime. Enforces environment isolation (prod/staging), stores private material only in approved custody, and validates post-rotation health before committing. Provides policy controls (minimum/maximum rotation interval) and API endpoints to create, read, update, and delete rotation policies.
Generates a cryptographic rollover proof at each rotation that cross-signs the old and new public keys, includes timestamps and hash commitments, and stores it in an append-only, tamper-evident ledger with durable retention. Exposes the proof chain via API and embeds proof references in the JWKS metadata so historical action receipts remain verifiable indefinitely. Supports export of proofs for offline audit and third-party verification.
Provides a configurable grace window during which both the retiring and newly issued keys are recognized for verification to prevent breakage across distributed verifiers and cached public keys. New receipts are signed with the new key while including a reference to the rollover proof; verification libraries and webhook signatures accept either key during the overlap. After expiry, the old key is marked retired but remains resolvable for historical verification.
Delivers proactive notifications for upcoming rotations, successful cutovers, failures, and unusual activity (e.g., repeated rotation failures, unexpected key access). Supports in-app alerts, email, and webhook events with structured payloads. On failure, triggers automatic rollback/retry with exponential backoff and flags the tenant in a protected state until remediation. All events are correlated with rotation IDs for traceability.
Maintains an immutable audit trail of all key lifecycle events—generation, activation, rotation, retirement, access attempts, and configuration changes—capturing actor, timestamp, tenant, IP/device, and outcome. Enforces least-privilege roles for viewing logs, managing policies, and initiating manual rotations. Supports optional two-person approval for sensitive actions and export of custody logs to SIEM or CSV with WORM retention.
Adds a simple, prominent UI indicator displaying the last rotated timestamp, next scheduled rotation, and current policy compliance status per tenant. Includes a dashboard to review rotation history, configure policies, and trigger a manual rotation with appropriate confirmations and access checks. Provides read-only API endpoints for external compliance reporting.
Provides an immediate, high-priority rotation path for suspected compromise: revokes the current key, issues a new key pair, updates JWKS, and broadcasts critical alerts. Temporarily reduces or disables grace window as configured, forces all new receipts to use the replacement key, and publishes an incident-tagged rollover proof. Includes post-incident tasks to annotate custody logs and export an incident report.
Flag any entry or batch as disputed with one click, attach evidence, and invite co-signs from partners. The ledger records the dispute, actions taken, and final resolution with timestamps—no edits to history, just an immutable, transparent trail.
Enable users to flag any individual ledger entry or an entire batch as disputed with a single action from the dashboard or detail view. The dispute seal captures a mandatory reason code and optional notes, visually marks affected records across lists and detail views, and prevents destructive edits to sealed fields while allowing non-destructive annotations. The flagging action is idempotent, supports bulk selection, and can be reversed only by authorized roles with a required justification, all recorded in the immutable ledger. Filters and search facets expose dispute state for rapid triage and reporting, and the feature integrates with existing action pages and analytics without altering historical metrics.
Allow upload and linking of supporting evidence (files, URLs, and structured notes) to a dispute, capturing checksums, uploader identity, timestamps, and source metadata to establish chain-of-custody. Evidence is append-only, virus-scanned, size-validated, encrypted at rest, and referenced via immutable content hashes; redaction is supported via additive overlays without removing originals. The UI supports drag-and-drop, previews for common file types, and evidence categorization, while the API accepts multipart submissions. All additions are logged in the ledger, ensuring traceability and reproducibility during audits.
Provide a secure workflow to invite external partner organizations to review a dispute and co-sign its assertion. Invitations use expiring, role-scoped tokens tied to organization identity, support SSO or email-based verification, and allow partners to add comments and their own evidence. The system tracks acceptance, declines, and pending status, shows co-sign counts and identities, sends reminders before expiration, and allows revocation by the dispute owner. All partner actions are append-only and recorded with timestamps to maintain transparency.
Implement an append-only event log that records every dispute-related action—creation, evidence additions, co-signs, status changes, reversals, and final resolution—with RFC 3339 timestamps, actor identity, IP, and cryptographic hash chaining to make tampering evident. No historical records are edited or deleted; new events supersede prior state. The ledger is queryable by dispute ID and entry/batch ID, is visible in a timeline UI, and supports export for audits while preserving verification hashes to validate integrity outside the system.
Provide a guided resolution process with discrete states (Disputed, Under Review, Resolved—Upheld, Resolved—Dismissed, Withdrawn) and assignable reviewers. Require resolution notes, outcome codes, and optional corrective actions when closing a dispute, and automatically notify stakeholders of the outcome. Resolutions do not alter original records; they append outcome events and visually update seals to reflect final status. Allow controlled reopen with justification, preserving the full history. SLA timers and dashboards highlight aging disputes for timely handling.
Offer dedicated dispute views with filters (state, age, owner, partner co-sign count, reason code, campaign) and sortable lists, plus per-record timelines that compile all related events and evidence. Provide exports in CSV and JSON with optional zipped audit packs containing evidence files, co-sign attestations, and a signed ledger snapshot with verification hashes. Include shareable, access-controlled permalinks for auditors and regulators that respect data retention and privacy settings.
Enforce fine-grained permissions for creating disputes, viewing sealed data, adding evidence, inviting co-signers, changing states, and resolving disputes. Access controls respect organizational boundaries, campaign scopes, and least-privilege principles, with sensitive evidence gated behind additional consent screens. All permission checks are logged, and configuration supports default roles plus custom policies to meet different nonprofit governance models.
Create a signed, tamper-evident export bundle for a campaign period or grant: a manifest, deduped counts, receipt set, and easy verification instructions. Delivers audit-ready proof in minutes and eliminates report back-and-forth with funders.
Enable selection of a campaign period or grant-defined scope with precise time boundaries and timezone handling, then generate an immutable data snapshot identified by a unique snapshot ID. The snapshot freezes all included actions (calls, emails, form submissions) across RallyKit modules, ensuring reproducibility and dispute-proof reporting. Provide inclusion/exclusion filters (channels, dispositions, tags, bills, districts) and preview counts prior to locking. Apply data completeness checks (e.g., missing districts, unmatched geocodes, stale bill status) and block snapshot finalization until issues are acknowledged or resolved. Persist snapshot metadata in the manifest, including query parameters, data pipeline version, and environment, so regenerated exports can hash-match the original. Outcome: a consistent, auditable basis for all subsequent calculations and exports.
Produce deduplicated impact counts aligned to funder rules, with configurable dedupe strategies (by unique supporter, by district, by legislator, by bill, by channel, daily-unique, action-type-specific). Generate both summary totals and breakdowns (campaign, bill, district, legislator, channel) and annotate each metric with the dedupe rules used. Detect anomalies (e.g., unusually high repeats from a single device or address) and flag them in the manifest. Persist the exact dedupe configuration and data dictionary in the manifest for transparency and reproducibility. Integrate with RallyKit’s legislator matching and bill status modules to ensure counts reflect district-specific actions and current bill states. Outcome: clear, funder-aligned metrics that withstand audit scrutiny.
Compile a verifiable receipt set for all in-scope actions, capturing timestamps, action type, disposition, legislator or target, district, script version, and transport identifiers (e.g., message IDs, call session IDs). Automatically apply configurable redaction profiles that remove or mask PII (names, emails, phone numbers, addresses) while preserving stable pseudonymous IDs and per-record salted hashes. Output options include paginated PDFs for human review and CSV/JSONL for programmatic validation, with file-level and record-level checksums. Provide sampling modes (e.g., 100% or funder-requested N% sample) and maintain referential integrity between receipts and reported counts. Store an encrypted internal lookup that maps pseudonymous IDs to originals for authorized internal audits only. Outcome: evidence that proves actions occurred without exposing supporter data.
Package the manifest, deduped counts, receipt set, and checksums into a single archive (e.g., ZIP) and make it tamper-evident using strong cryptography. Compute SHA-256 checksums for every file and a bundle-level hash. Sign the bundle and checksums with an organization-scoped key (e.g., Ed25519/RSA) managed via KMS, recording key fingerprint, algorithm, and signing timestamp in the manifest. Prevent modifications post-signing by validating checksum concordance on download and at verification time. Store the bundle hash in RallyKit for future cross-checks and expose signature status in the UI. Outcome: a trustable artifact that signals any alteration instantly.
Generate human-readable verification instructions (HTML/PDF) with step-by-step guidance and copy-paste commands for Windows, macOS, and Linux to verify checksums and signatures offline. Include a lightweight verifier (CLI script or hosted page) that validates bundle hash, file checksums, and signature against the embedded public key. Provide a nontechnical summary page for funders, a FAQ for common issues (mismatched hashes, clock skew), and a QR code or short link to a hosted verification page prefilled with the bundle fingerprint. Outcome: funders can independently validate authenticity without technical assistance from the nonprofit.
Offer a streamlined flow to create the export in one click once scope is set: show progress, allow resumable generation, and surface any blockers with guided fixes. Store generated artifacts with retention policies and generate expiring, access-controlled download links with optional password protection and separate passcode delivery. Support direct email to funders and portal-based sharing, with access logging, link revocation, and reissue. Allow deterministic regeneration using the snapshot ID, producing identical hashes when inputs are unchanged. Integrate with RallyKit org roles and sharing settings, and record delivery events in the audit trail. Outcome: fast, secure distribution that eliminates back-and-forth.
One-click batch creation of hundreds of unique, team-tagged QR action pages from a single template. Pre-fills UTM and partner attribution, sets district filters, quotas, and event time windows, and outputs a tidy roster for quick edits. Eliminates copy‑paste errors and gets day‑of actions launch-ready in minutes.
Enable creation of hundreds of unique action pages from a single template in one operation. Each page inherits template content (including dynamic scripts by bill status), legislator auto-matching, compliance text, and branding, while receiving unique slugs, short URLs, and downloadable QR assets. Support naming patterns, team tags, and automatic manifest generation for traceability. Ensure atomic, transactional creation with progress feedback and the ability to cancel. Target performance: generate 500 pages in under 60 seconds. Integrate with the real-time dashboard so generated pages are immediately trackable and manageable under existing campaign constructs, respecting role-based permissions.
Automatically apply standardized UTM parameters and partner attribution to each generated page and corresponding short URL based on selected campaign and team/partner mapping. Support campaign-level defaults with per-page overrides via the roster, enforce consistent naming schemes, and append partner identifiers for reconciliation. Persist attribution in the analytics data layer, exports, and API responses, and ensure compatibility with link shorteners and QR codes. Provide validation on required UTM fields and prevent conflicting or malformed parameter combinations.
Allow per-page configuration of district filters to target supporters by legislative district, chamber, or geofenced area, integrating with RallyKit’s legislator auto-matching and district-specific scripts. Provide quotas to cap actions per district, team, or page, with real-time counters and fallback routing when limits are reached (pause, redirect to a general action, or reassign). Expose controls in the roster for quick review and bulk updates. Ensure quotas and filters are enforced at action time and reflected in live dashboards and exports.
Enable start and end time windows per generated page with timezone awareness to automatically publish and unpublish pages. Provide optional grace periods and conflict detection for overlapping windows. Support importing schedules via ICS/CSV and showing clear status badges (Scheduled, Live, Paused, Ended) in the dashboard. On expiry, QR links should present a friendly message or redirect according to campaign rules. Integrate with notifications to alert owners before activation/expiration.
Produce a tidy roster of all generated pages with inline editing for key attributes (name, team tag, partner, UTM params, district filters, quotas, time windows, status, URLs, QR assets). Support bulk edits, search, sort, and filters, with validation warnings surfaced inline. Provide a diff review before publishing changes, plus CSV/Google Sheets export and import to round-trip edits. Respect role-based access control and include quick actions to copy short links, download QR packs, and print-ready sheets.
Provide comprehensive preflight validation for the batch, including required fields, unique slug enforcement, UTM schema checks, time window overlaps, invalid district codes, and conflicting quotas. Offer a dry-run mode that produces a detailed report before any write operations. Ensure transactional batch creation with automatic rollback on failure, versioned changes, and an undo window for recent operations. Implement idempotent re-runs keyed by batch ID to safely retry without duplications, and generate actionable error messaging for rapid correction.
Stream real-time metrics for each generated page, aggregated by team and partner, into the existing dashboard, including actions initiated/completed, conversion rates, and quota status. Maintain an immutable audit log recording who generated, edited, and deployed each page with timestamps and change details. Provide exportable proof packages containing the generation manifest, roster, QR assets, UTM matrix, and outcome summaries, along with webhook/API endpoints for external reporting. Ensure privacy compliance and data retention alignment with organizational policies.
Auto-generate print-ready kits per code—posters, table tents, badges, and stickers—with branded QR, matching short link, and bold station ID. Includes common sizes, crop marks, and optional district-specific micro-scripts. Cuts design time to zero and standardizes on-site materials.
A guided flow to auto-generate a complete, print-ready kit for a campaign code. The wizard pulls campaign metadata from RallyKit (name, action page URL, brand kit), lets users choose items (posters, table tents, badges, stickers) and common sizes, and configures options such as crop marks, bleed, and district micro-scripts. It previews each item in real time with the code’s branded QR and matching short link, assigns a station ID, and persists settings as a reusable preset. The flow validates required inputs, handles fallbacks for missing brand assets, and saves the pack to the campaign’s asset library for download or re-generation.
Automatic generation of a high-contrast, brand-styled QR code and a vanity short link for each campaign code. The short link resolves to the action page and supports per-item and per-station tracking parameters. QR is exported as vector (SVG/PDF) with configurable error correction, quiet zone, and dark/light contrast for print legibility, with an alternative inverted variant for dark backgrounds. The component embeds the QR and short link into each template, enforces brand domain rules, and writes UTM codes so completed scans attribute to Print Packs in RallyKit analytics.
Optional district-specific micro-scripts placed on each item, driven by RallyKit’s legislative matching and bill status engine. When enabled, the system selects the correct script variant (support, oppose, update) per targeted district or defaults to a generic script when the district is unknown. Text is auto-fit to template constraints with character limits, line wrapping, and accessibility sizes for table tents and badges. Script data is snapshotted at generation time and stored with the pack manifest for auditability.
Print-ready exports for all items as CMYK PDFs with bleed and crop marks, aligned to common print standards. Each template defines trim size, bleed (e.g., 0.125 in), safe areas, and font embedding or outlining to prevent substitutions. Assets are preflight-checked for resolution and color space, and ICC profiles are applied based on brand settings. The export engine can output single-item PDFs and a consolidated ZIP, preserves vector QR codes, and includes a grayscale variant where appropriate to reduce print costs.
Layout templates that inherit campaign brand kits (logo, colors, fonts) and lock compliance rules while allowing content slots for code, QR, short link, micro-script, and station ID. Templates cover common sizes for posters, table tents, badges, and stickers. A preview renderer shows true-to-size proportions, bleed, and crop marks. The system validates color contrast, enforces minimum font sizes, and supports fallback fonts. Templates are versioned so future brand updates do not alter previously generated packs.
Automatic generation and consistent placement of a bold station ID on every item in the pack to standardize on-site wayfinding and staff coordination. Station IDs follow a configurable scheme (e.g., S-01, S-02) and can be prefixed by event code. The ID is printed in a high-contrast block with an optional scannable micro-QR carrying station metadata for audit. The same ID is written into tracking parameters so scans and actions can be attributed to a station in RallyKit reports.
Batch packaging of all generated items into a structured ZIP with per-item folders and a manifest (JSON) detailing item type, size, file paths, short link, QR parameters, station ID, and script snapshot. The package is stored in the campaign’s asset library with a shareable link and optional expiration. Users can re-generate the pack on demand, preserving version history and diffing settings between versions. Large files are streamed for download and resumable uploads are supported to cloud storage.
Every QR is paired with a memorable short link and SMS keyword fallback so supporters without camera access or data can still take action. All paths attribute to the same station/team code, keeping totals accurate and inclusive in low-connectivity environments.
Provide a single creation flow that generates a QR code, a branded short link, and an SMS keyword from one action page setup. Ensure all three artifacts map to the same campaign object and station/team code for unified counting. Support vanity options (custom alias and keyword), preview of QR in multiple sizes, and downloadable asset formats (PNG/SVG). Enforce validation on character sets, reserved words, and uniqueness. Integrate into the existing RallyKit action page builder and publish process with clear success/error states. Apply tracking parameters consistently across all paths, ensure case-insensitive handling, and rate-limit generation to prevent abuse. Store metadata for analytics and audit, including creator, timestamp, and mappings.
Route all traffic from QR scans, short link visits, and SMS interactions to a single station/team code and campaign for accurate rollups. Maintain a shared attribution token across paths to tie actions to the originating station even if a supporter switches channels. Implement deduplication rules (e.g., same supporter within time window) and merge logic for multi-step flows. Expose real-time counters and breakdowns by path in the dashboard, and surface UTM/referrer data where available. Provide an exportable audit log mapping path->station->action with timestamps while adhering to data minimization policies.
Enable an SMS keyword flow that collects minimal info (ZIP+4 or full address as needed) to match supporters to their legislators and returns district-specific calling and email scripts based on live bill status. Support opt-in/consent, HELP/STOP compliance, language selection, and rate limiting. Provide phone numbers and scripts via SMS for low-data users, with optional call-through connect and email link shortcodes. Integrate with telephony/SMS provider, handle retries and error states (invalid address, timeout), and log actions to the same station/team code. Include templates managed in RallyKit so messaging stays synchronized with the web action page.
Ensure SMS keywords are unique within the relevant scope (tenant or global) and provide real-time availability checks during setup. Offer smart suggestions when conflicts arise, allow admins to reserve keywords for a defined window, and handle expiration/release workflows. Validate length and character rules, block risky or restricted terms, and support admin overrides with logging. Display clear routing for each keyword to its campaign/station mapping to prevent misattribution.
Support organization-owned custom domains for short links with automated DNS verification and TLS provisioning. Provide fallback to a RallyKit default domain. Generate human-readable slugs where possible while ensuring uniqueness and fast redirects (<100 ms p95). Propagate the branded short link to QR generation and SMS responses for consistency. Include link hygiene features (link status checks, spam/abuse safeguards) and analytics tagging aligned with attribution.
Automatically generate printable and digital assets that display the QR code, short link, and SMS keyword together with plain-language instructions and the station/team label. Provide multiple sizes (flyer, poster, sticker, table tent) with high-contrast, accessible designs and locale support. Allow batch export for multi-station events (CSV in, PDFs/PNGs out) and social-ready images for quick sharing. Tie exports to the campaign so assets update when codes change, with versioning for audit.
Continuously test short link redirects, QR asset availability, SMS keyword routing, and station mappings with synthetic checks. Track latency and error rates, surface a status view per campaign, and send alerts via email/SMS/Slack when thresholds are breached or mappings drift. Provide one-click diagnostics to trace a path from entry to action with current configuration snapshots. Include auto-healing where safe (e.g., republishing broken redirects) and detailed logs for incident review.
Lock any device to a station page with auto-clear after submission or idle timeout, a privacy-safe confirmation loop, and single-tap restart. Buffers actions offline and syncs when back online. Speeds lines, protects PII in crowds, and keeps counts flowing even on shaky venue Wi‑Fi.
Locks the device to a designated RallyKit station page in full-screen, disabling navigation, external links, and browser UI elements to prevent session escape. Provides an admin-only exit path via PIN-protected overlay and/or secret URL gesture. Persists kiosk identity across resets to attribute actions to a physical station without exposing PII. Includes focus-loss detection with auto-restore to the station page, and documented OS-level kiosk instructions for iOS, Android, ChromeOS, and Windows. Integrates with RallyKit auth to fetch only station-scoped assets and scripts.
Automatically clears the form and returns to the station start screen after a successful action submission or when idle for a configurable period. Timers pause while a user is actively typing and resume on inactivity. Supports multi-step action flows and ensures state machines return to the entry screen deterministically. Resets include clearing validation messages, scroll position, virtual keyboard state, and restoring the initial script/district context. Configuration is per-station with sensible defaults and remote override from the RallyKit dashboard.
Displays a generic, non-identifying success confirmation after submission with optional countdown to auto-reset. The confirmation omits names, emails, phone numbers, addresses, and district details, while still communicating success and next steps. Supports large-text, high-contrast, and screen reader cues for accessibility, plus optional subtle haptic/audio chime in noisy venues. The screen includes a Restart button that immediately returns to the start view without revealing prior inputs. Content is localized and brandable without embedding PII.
Provides an always-available, kiosk-safe restart control that instantly resets the session and returns to the start screen. The control is large, high-contrast, and positioned to avoid accidental taps, with an optional 1–2 second press-and-hold to confirm. Works from any step, including error states and partial entries. Respects lockdown rules and does not require admin privileges. Emits analytics events for manual resets without logging PII to help optimize station staffing and UX.
Queues completed actions locally when connectivity is poor, encrypts them at rest, and syncs automatically when back online using exponential backoff and network awareness. Uses deterministic client-generated IDs to ensure idempotent server writes and prevent duplicates. Persists the queue in IndexedDB or native storage, with size limits and eviction rules. On reconnect, flushes in order, reconciles conflicts, updates the live RallyKit dashboard counts, and writes audit-safe timestamps and kiosk IDs without exposing PII. Shows a subtle offline banner that does not block flow.
On any reset (submission, idle, or manual), fully purges PII from memory, DOM, URLs, form fields, browser history, autofill, and all web storage (localStorage, sessionStorage, IndexedDB) not required for offline queueing. Prevents PII in query strings, disables browser autofill where possible, sets no-store cache headers, and uses CSP to block unintended data exfiltration. Redacts PII from client logs and telemetry while retaining anonymized operational metrics. Provides automated cross-browser tests to verify no residual PII after reset.
Ensures the kiosk runs reliably on iOS Safari, Android Chrome, ChromeOS, and modern desktop browsers, with responsive layouts for common tablet sizes and orientation lock where supported. Detects unsupported configurations (e.g., private mode storage limits) and surfaces clear remediation steps. Provides an in-app readiness check and a step-by-step deployment guide covering OS-level kiosk mode, screen timeout settings, and battery management. Includes a printable QR link to the station and a test script to validate reset, privacy, and offline sync behaviors.
Live map and per-code stream show volume, conversion, and wait indicators by station. Smart prompts recommend where to redeploy volunteers or open new stations, with one-tap SMS/Slack directions to team leads. Ensures people power is aimed at districts that need it now.
A live, auto-refreshing geospatial view that visualizes each action station (phone, text, or field hub) with key KPIs: current inbound volume, conversion rate, average wait time, queue length, and capacity utilization. Color-coded intensity and status badges enable instant hotspot detection. Includes pan/zoom, clustering, tooltips, drill-down to station detail, and district rollups. Filters by campaign/bill, legislative chamber, time window, channel, and tag. Updates via WebSocket server-push with graceful polling fallback and under-one-second perceived latency. Mobile-responsive and accessible. Integrates with RallyKit routing to attribute activity to districts and legislators.
A continuously updating feed that aggregates performance by code (ZIP, area code, and legislative district code), showing volume, conversion, average wait, abandonment rate, and capacity usage. Supports sorting, searching, threshold highlighting, and time bucketing with a rolling 24-hour backfill. Normalizes and maps codes to districts and stations, handling partial/ambiguous codes. Provides deep links to select the same slice on the map and supports CSV/JSON export for quick sharing.
A recommendation engine that monitors live KPIs and forecasts short-term demand to suggest actions like redeploying volunteers, opening pop-up stations, or pausing low-yield stations. Combines configurable rules with lightweight predictive models, includes cooldowns to avoid thrash, and respects constraints such as station capacity, volunteer skills, schedules, and travel times. Presents recommendations with clear rationale, expected impact, and confidence. Supports one-tap accept/decline and records outcomes for continuous improvement.
Integrated messaging that sends pre-filled, role-targeted instructions to team leads via SMS and Slack, including station location, directions, shift details, and deep links back to RallyKit. Supports reusable templates, variable substitution, preview/edit, and one-tap send from a recommendation card. Tracks delivery status, retries on failure, and falls back to alternate channels. Enforces role-based permissions and logs all messages for compliance.
An admin panel and quick actions to define and update station metadata: capacity (seats/lines), current staffing, operating hours, skills available, and live status (open, busy, paused). Allows rapid creation of temporary pop-up stations with address/QR and auto-synchronizes capacity changes to the heatmap, feeds, and recommendation logic. Includes API endpoints, validation, permission checks, and device/telephony health signals to derive effective capacity.
Configurable alerting when KPIs breach defined thresholds (e.g., wait time > target, conversion below goal, abandonment spike). Sends notifications via in-app, SMS, Slack, and email with rate limiting, quiet hours, acknowledgements, snooze, and escalation policies/on-call rotations. Displays alert badges on the map and streams, links to recommended mitigations, and maintains an alert history for review.
End-to-end event logging that captures metrics snapshots, recommendations generated, user decisions, dispatch messages, and subsequent performance outcomes with timestamps and actors. Provides exportable, immutable reports with retention/redaction controls for compliance and board reporting. Enables traceability from a recommendation to observed impact and dashboards for acceptance rates, time-to-action, and ROI of redeployments.
Automatically paces outreach by district and office to avoid overwhelming a single lawmaker’s lines. When voicemail is likely full or quotas are met, selected station codes shift to email or alternate targets and rebalance across swing areas—maximizing persuasion while preserving credibility.
Continuously capture and aggregate contact load signals at the target-office and district level (e.g., call answer rate, busy tones, voicemail full likelihood, average queue time, email/webform bounce or rate-limit responses) to determine saturation in real time. Normalize inputs across telephony and email providers, tag with station codes, and expose a single internal signal API for the pacing engine and dashboard. Trigger events when thresholds are crossed so campaigns automatically adjust before lines are overwhelmed, preserving relationships while maintaining throughput.
Automatically reroute supporters to the most effective available channel or target when call capacity is constrained or quotas are met. Update action pages and links on the fly to shift from calls to email/webform/text, or to alternate offices, while preserving district and bill context. Generate channel-appropriate instructions, dedupe repeat sends, and ensure all switches are transparent, reversible, and tracked for auditability without degrading the supporter experience.
Provide configurable per-office, per-district, and per-campaign caps and pacing windows (e.g., max calls/hour/day, quiet hours, per-supporter frequency) with time zone awareness. Enforce limits at assignment time to prevent oversaturation, and surface clear feedback to action pages when caps are reached. Support exception lists and temporary overrides for urgent moments while ensuring guardrails remain intact.
Redistribute pending and new actions across comparable or high-impact targets when certain districts hit limits, using configurable weights (e.g., persuasion score, responsiveness, district priority, current volume). Respect geographic and policy constraints, avoid double-contact, and provide explainable decisions with reason codes. Operate in near real time and support simulation mode to preview effects before applying.
Produce concise, channel-optimized scripts that adapt to bill status, district specifics, and saturation context (e.g., voicemail vs. live staff vs. email/webform). Maintain consistent core messaging while adjusting length, tone, and required fields per channel. Integrate with RallyKit’s existing script engine, support localization, and include compliance disclaimers where required. Update variants dynamically when the system switches channels or targets.
Record every pacing decision, switch, quota event, and rebalancing action with timestamps, user/segment identifiers, target details, channel, and reason codes. Provide real-time dashboards and exportable reports (CSV/JSON) to demonstrate compliance and impact to stakeholders. Include retention policies, privacy safeguards, and filters for investigating anomalies or complaints.
Deliver an admin UI to configure thresholds, caps, weights, quiet hours, and exclusion lists; pause specific targets; perform manual overrides; and run dry-run simulations. Provide role-based access, change history, and alerting via email/Slack when thresholds are crossed or anomalies appear. Include safe rollback to default routing if providers fail or signals degrade.
Set per-station and per-team targets with live progress rings, ETAs, and milestone chimes. Project a big-board view to fuel friendly competition and celebrate wins. Keeps volunteers motivated and gives organizers instant read on whether goals will be hit before the deadline.
Enable organizers to create, edit, and manage goals at multiple levels (campaign, team, station) with inheritance and overrides. Supports goal types (e.g., calls, emails, signups), absolute targets or rate-based targets, start/end times, and configurable milestone thresholds (e.g., 25/50/75/100%). Integrates with RallyKit’s campaign model and station/team assignments to ensure actions are attributed correctly. Includes validation (e.g., end time after start, numeric targets), conflict resolution when station and team goals differ, and retroactive recalculation when goals are updated. Provides secure API endpoints and UI forms to configure goals, preview ring behavior, and save drafts before publishing to live displays.
Render real-time progress rings that reflect current completion toward each goal using RallyKit’s action event stream. Subscribe via WebSockets/SSE to ingest actions, deduplicate events, and update ring visuals and counters with sub-second latency. Support concurrent rings per station and team, show total completed, percent to goal, and remaining. Implement client-side smoothing for bursty updates, offline/poor-network tolerance with queued deltas, and graceful degradation to periodic polling. Persist periodic snapshots for recovery, and ensure low CPU/GPU usage so big-board projections run smoothly on commodity hardware.
Calculate rolling-velocity ETAs and hit/miss predictions for each goal based on recent completion rates and remaining time. Display time-to-goal, likelihood bands (e.g., on track, at risk, off track) using color states, and update continuously as new actions arrive. Allow configurable lookback windows (e.g., last 5–15 minutes) and smoothing to reduce whiplash. Respect campaign deadlines and pauses, exclude test data, and surface clear messaging when velocity is insufficient or data is stale. Expose forecast data to the ring UI and big-board for immediate decision-making.
Trigger configurable audio/visual cues when milestones are reached at station and team levels (e.g., 25/50/75/100%, custom thresholds). Provide a library of short, preloaded sounds, per-device volume controls, and a do-not-disturb mode. Guarantee exactly-once firing per milestone with debouncing and replay protection across reconnects. Offer optional notifications to external channels (e.g., Slack webhook) without exposing PII. Ensure accessibility-friendly cues (visual flash with sufficient contrast and captions) and allow organizers to toggle chimes per station/team and per session.
Provide a full-screen, read-only display that aggregates rings for selected teams and stations with large typography, high contrast, and dark/light modes for venue lighting. Support auto-rotation between groups, pinning favorites, and on-screen ETAs and goal statuses. Include remote-safe sharing via expiring, tokenized URLs with no PII, automatic reconnect, and a low-bandwidth mode for spotty Wi-Fi. Add keyboard controls and simple touch remote (prev/next/refresh), and ensure performance at 60fps on common streaming sticks and older laptops.
Introduce leaderboards that rank teams and stations by progress percentage, absolute completions, and current velocity, with fair tie-breakers and normalization for differently sized teams. Display badges, streaks, and celebratory animations when goals are hit, with controls to limit visual noise on the big-board. Allow opt-in participation and filters to exclude training/test stations. Reset standings per campaign and preserve historical snapshots for post-event debriefs. Integrate with existing permissions so only authorized roles can modify leaderboard settings.
Continuously pulls official bill status changes (introduced, referred, hearing scheduled, floor vote, conference, signed/vetoed) and updates every linked action page and script in real time. Eliminates manual checks, prevents outdated asks, and keeps your campaign accurate across channels without extra work.
Connect to official legislative data sources (e.g., state capitols and Congress) via APIs, webhooks, or approved feeds to continuously ingest bill status events. Normalize provider-specific statuses to a RallyKit canonical status model (introduced, referred, hearing scheduled, floor vote, conference, signed, vetoed), resolve bill identifiers across sources, and deduplicate events. Enforce rate limits, handle authentication and key rotation, and provide per-connector health checks. Emit a consistent event payload with timestamps and source provenance for downstream processing.
Event-driven processing service that detects new or changed bill status events and propagates updates to all linked entities (action pages, scripts, automations) within 60 seconds. Supports idempotent processing, deduplicated replays, exponential backoff retries, and dead-letter queues. Guarantees at-least-once delivery with ordering per bill, and exposes metrics for lag, throughput, and failure rates.
Versioned templating system that renders district-specific call and email scripts based on canonical bill status, chamber, and the supporter’s legislator mapping. Supports conditional blocks (e.g., if hearing scheduled then include date/location), variable placeholders (bill number, sponsor, committee, vote time), and localization. Provides preview per status and automatic re-render when status changes, with safe fallback text if required data is missing.
Automatically refresh action page content, metadata, and embeds when linked bill status changes. Invalidate CDN and in-app caches within 60 seconds, update social sharing metadata, and avoid interrupting users mid-action by applying updates on next step or reload. Display a subtle “Updated just now” banner to build trust.
Maintain an immutable, queryable log of all ingested bill status events and resulting content updates. Record timestamp, source, previous and new canonical status, affected assets, and processing outcome. Provide a UI timeline, filters, CSV export, and one-click rollback to the previous script version when appropriate, with reason capture.
Configurable notifications for key status transitions (e.g., hearing scheduled, floor vote) via email, Slack, and in-app. Allow per-campaign subscriptions, quiet hours, digests versus instant alerts, and severity thresholds. Include deep links to affected pages and scripts.
Allow authorized users to pause automatic updates for a campaign or a specific bill, override the mapped canonical status, and set an expiry or manual resume. Display an override banner in the UI, log the action in the audit trail, and prevent scheduled updates until un-frozen.
Automatically recalibrates who supporters contact as the bill moves—committee members and chairs at hearing stage, floor leaders on vote days, conference conferees later, and the governor at signature time. Ensures each action hits the highest‑leverage target for that stage while preserving district‑accurate matching.
Implement ingestion and normalization of legislative bill metadata to detect and track the bill’s current stage across jurisdictions (e.g., introduced, committee assigned, hearing scheduled, floor calendar, floor vote, conference, governor desk). Map source-specific statuses to a canonical lifecycle, with configurable mappings per state. Monitor via polling and/or webhooks, debounce noisy updates, and emit a single authoritative stage state for each tracked bill. On stage transition, trigger recalculation of campaign targets and scripts. Support multi-chamber bills, joint committees, special sessions, and manual override with audit-tagged provenance. Provide latency SLA (e.g., under 5 minutes) and health monitoring with alerts on data feed failures.
Provide a configurable rules engine that determines who supporters should contact for each bill stage. Allow admins to define target sets such as committee members/chairs during hearings, floor leaders/whips on vote days, conference conferees during reconciliation, and the governor at signature time. Support conditions by chamber, party, sponsor/co-sponsor status, committee membership, and geographic relevance. Enable priority ordering, weighting, and deduplication across overlapping roles. Include jurisdiction-ready defaults with the ability to customize per campaign. Output a clean, ordered list of targets and contact channels for each supporter, ready for action page rendering and script generation.
Preserve district-accurate matching as targets shift by resolving each supporter’s address to the correct jurisdiction and districts using validation (e.g., CASS/USPS) and boundary lookups. Compute the applicable target set per supporter by intersecting their districts with the stage-specific rules (e.g., their committee member if applicable, otherwise leaders). Handle edge cases like multi-member or at-large districts, redistricting changes, and vacant seats. Cache lookups with TTL, revalidate on stage changes, and prevent misrouting. Record the resolution logic used for each action for traceability and QA.
Ensure action pages automatically display the current, stage-appropriate targets and scripts without republishing. When stages change or rules are updated, push updates to the client via real-time channels and/or perform CDN cache purges; enable client-side rehydration so preloaded pages refresh targets, contact methods, and labels in place. Provide visual cues indicating an update occurred, while preserving UTM parameters, attribution, and partially completed forms. Maintain versioned scripts per stage and guarantee zero-downtime transitions with graceful rollbacks.
Create an immutable, timestamped audit log capturing each detected stage, rules evaluation, and resulting target list changes per campaign and per action session. Store provenance (data feed vs manual override), actor, previous vs new targets, and affected supporter counts. Expose this in the dashboard with filters (date range, stage, jurisdiction) and export options (CSV/JSON). Provide reports that correlate conversion rates and outcomes by stage and target type to demonstrate effectiveness and deliver audit-ready proof for stakeholders and funders.
Define resilient fallbacks when data is missing or ambiguous to avoid dead ends. Examples: if committee rosters are unavailable, default to chair and majority/minority leaders; if address resolution fails, prompt for ZIP+4 or route to universal targets; if conferees are not published, target conference leadership. Provide admin-configurable policies, alerting for unresolved gaps, retry strategies, and jurisdiction-specific rules for special sessions and joint committees. Guarantee that every action renders at least one valid target and clearly indicates when a fallback was applied.
Generates fresh, stage‑aware call and email scripts with dynamic fields (bill number, committee name, hearing date/time, vote window). Offers quick-approve suggestions tuned to urgency and channel, so your team ships accurate, persuasive language in minutes instead of hours.
A rules-driven template engine that selects and assembles call and email scripts based on the bill’s current stage (e.g., introduced, in committee, floor vote, conference, signed/veto). It applies stage-specific frameworks, inserts required dynamic fields, and enforces channel-appropriate structure (concise call script vs. formatted email subject and body). It integrates with RallyKit’s campaign settings and legislator matching so scripts are district-specific, ensures safe fallbacks when data is missing, and outputs publish-ready text that can be consumed by action pages and outreach tools.
A service that fetches, formats, and validates dynamic fields required by scripts, including bill number, committee name, hearing date and time, and vote window. It normalizes time zones to the campaign’s locale, applies human-friendly formatting, and provides resilient fallbacks and warnings when inputs are missing or stale. It integrates with configured legislative data sources, caches results with defined TTLs, exposes validation errors to the UI, and guarantees consistent field availability to the template engine and action pages.
Configurable tone and length presets that tailor language to urgency levels (e.g., low, medium, high) and channel (call vs. email). The system adjusts calls-to-action, subject line intensity, and script length while adhering to organizational messaging and compliance guardrails. It provides previews for each combination, allows default presets per campaign, and exposes a simple control in the editor to switch urgency without rewriting content.
An inline editor and review flow that surfaces suggested scripts, supports rapid edits, and enables one-click approval and publish to action pages. It includes role-based permissions, approver attribution, timestamps, keyboard shortcuts, and bulk approval for multi-target campaigns. It shows change diffs between suggestions and current live copy, prevents accidental overwrites with optimistic locking, and records approvals for downstream reporting.
Automated regeneration of scripts when bill status or key fields change, triggered by webhooks or scheduled polling. The system queues regeneration jobs, respects rate limits, and updates drafts while preserving the current live version until approval. It notifies campaign owners via in-app alerts and email, shows a concise diff of what changed, and offers one-click approve-and-republish to keep language synchronized with the legislative timeline.
Support for district-specific and multilingual scripts with merge fields for legislator name, title, district, and local references. It localizes dates and times, provides Spanish as an initial secondary language with extensible language packs, and offers side-by-side previews for translators and reviewers. It ensures safe fallbacks when translations are missing, validates merge fields at publish time, and personalizes scripts using supporter location while protecting privacy.
Immutable versioning and storage of every generated, edited, approved, and published script with linked metadata (bill stage, data sources, approver, timestamps). It enables export to CSV and PDF, provides version IDs that can be referenced in reports, and links script versions to action outcomes for audit-ready proof. Retention policies and access controls protect sensitive information while satisfying compliance and grant reporting requirements.
Produces a plain‑language, color‑coded digest of what changed since your last update—status, amendments, sponsors, vote counts—and highlights exactly which script lines should be edited. Gives organizers a fast briefing they can trust and act on immediately.
Implement reliable connectors to official legislative data sources across jurisdictions and sessions, normalizing fields such as status, actions timeline, sponsors and cosponsors, amendment texts, committee and floor votes, and effective dates. Persist timestamped snapshots for each tracked bill and campaign linkage, with debounced polling/webhooks, rate limiting, retries, and deduplication to ensure freshness without noise. Store versions and metadata in a versioned datastore keyed by bill/session so that downstream services can compute precise diffs. Integrate with RallyKit campaign records to automatically associate updates to the correct campaigns and enable real-time dashboard updates.
Create a field-aware differencing service that compares the latest bill snapshot to the last briefed version and classifies changes into categories (status update, amendment added/removed, sponsor change, vote count/result change). Produce structured diff output (JSON) with severity levels and machine-readable tags used to drive consistent color-coding in the UI and exports. Include rules per jurisdiction to ignore trivial edits (e.g., formatting) and highlight meaningful changes. Expose an API to fetch diffs by bill or campaign, enabling the real-time dashboard to render color-coded updates and power follow-on features such as notifications and script mapping.
Transform structured diffs into concise, non-legalese summaries that explain what changed and why it matters, using deterministic templates with jurisdiction-aware phrasing and fallbacks. Support concise bullets and compact paragraphs with hyperlinks to source documents, while preserving accuracy via guardrails that restrict claims to verifiable data. Provide configuration for tone (neutral/advocacy-ready) and length, and integrate with the Brief view in RallyKit so organizers can review, edit, and publish the digest to action pages and updates without leaving the dashboard.
Analyze diffs against existing RallyKit call and email scripts to detect references to status, sponsors, vote outcomes, or key bill elements, then highlight specific lines and placeholders that should be updated. Present in-editor highlights with color-coded badges, inline suggestions, and one-click actions to accept updates or mark as reviewed. Track last-reviewed timestamps per script segment to prevent repeat prompts, and log applied changes for auditability. This integrates with one-tap action pages so updates propagate instantly to supporter-facing content once published.
Display verifiable provenance for every change, including data source, retrieval timestamp, version IDs, and direct links to official legislative pages and archived snapshots. Maintain an immutable record of published briefs and script updates, with reviewer identity and time, and provide export options (PDF/CSV/JSON) suitable for audits and grant reporting. Surface provenance badges within the brief so organizers can quickly confirm accuracy and share audit-ready proof with stakeholders.
Deliver Redline Brief updates through configurable channels (email, SMS, Slack) with noise controls that trigger only on material changes and support quiet hours. Include a compact digest with top changes and a deep link to the editor highlighting impacted script lines. Provide per-campaign notification preferences and team-level routing to ensure the right people see urgent updates. Integrate with RallyKit’s real-time dashboard to synchronize read/unread state and allow one-tap publish flows from the notification.
Adopt a WCAG AA-compliant color palette and redundant iconography/patterns for change categories to ensure readability for color-blind and low-vision users across web and print. Provide an in-product legend, tooltips, and a print-friendly mode that preserves meaning without color. Allow admins to select from approved palettes to match brand while maintaining accessibility guarantees. Apply the same semantics consistently in the brief view, script editor highlights, and exported PDFs.
Detects scheduled hearings and auto‑plans pre‑hearing ramps, respectful quiet windows during proceedings, and post‑hearing follow‑ups. Protects relationships with lawmakers while timing outreach for maximum impact and higher completion rates.
Continuously ingest and normalize legislative hearing schedules from multiple sources (official calendar APIs, ICS feeds, email alerts, and scraped pages) and map them to tracked bills, committees, and sponsors in RallyKit. Deduplicate events, resolve conflicts, handle timezone conversions, and automatically create a hearing timeline with key phases (pre‑hearing ramp, quiet window, post‑hearing). Provide reliability features including retry/backoff, change detection for reschedules/cancellations, and alerting on ingestion failures. Expose a clean event object to downstream modules (planning, throttling, messaging) and update linked action pages and scripts as bill status changes.
Auto-generate a backward plan from the hearing start time, defining a sequenced cadence of actions (email/SMS/one‑tap pages/call tasks) targeted to relevant supporters in affected districts. Use RallyKit’s bill‑status script generator to produce district‑specific talking points and action copy, and schedule sends with adaptive throttling and frequency caps. Segment by supporter engagement level and legislator position (sponsor, undecided, opposed) to maximize impact. Produce a previewable schedule, required assets, and readiness checks (audience size, deliverability, consent) before activation.
Automatically enforce respectful quiet windows from a configurable period before gavel-in through adjournment, pausing or queueing outbound calls, emails, and texts to lawmakers and committee offices involved in the hearing. Respect local office hours and per‑office preferences, block high‑pressure actions, and surface an in‑app banner to supporters indicating a quiet window is in effect with an option to pledge actions that will be sent after the window lifts. Provide real‑time controls to pause/resume, exemptions for non‑contact updates, and logs proving suppression for audit purposes.
Trigger tailored follow‑ups based on detected hearing outcomes (advanced, amended, failed, delayed) and known vote behavior. Generate appropriate scripts (thank‑yous, persuasion, regroup) using RallyKit’s templates, schedule sends within configurable windows, and retarget segments (e.g., those who acted pre‑hearing vs. not). Include smart retries, next‑step recommendations, and automatic updates to one‑tap pages. Capture performance metrics and feed learnings back into future ramp defaults.
Implement configurable safeguards to prevent over‑contacting lawmakers and staff: per‑office daily/weekly caps, rolling frequency limits, channel‑specific throttles, and exclusion lists (e.g., sponsors on vote day). Detect and flag risk conditions (too many calls in a short span, duplicate messages from a single supporter cohort) and automatically adjust sends. Integrate with supporter dedupe, consent, and geography matching to ensure contacts are district‑relevant and compliant. Surface violations and applied limits in reports.
Provide a single timeline view showing detected hearings with their pre‑hearing ramp, quiet window, and post‑hearing activities. Allow admins to preview content, adjust timings, add/remove steps, set manual quiet windows, and override or cancel automations. Show readiness checks, estimated reach, and predicted send volumes. Include role‑based permissions, full change history, and exportable, time‑stamped audit logs demonstrating what was sent, suppressed, or queued and why.
Auto‑adds verified citations and timestamps to scripts and receipts, including bill page URLs and docket links. Builds instant credibility with partners, leadership, and auditors, reducing back‑and‑forth and delivering audit‑ready proof of accuracy.
Aggregate and validate authoritative source links for each campaign’s targeted legislation, including bill pages, dockets, committee reports, and amendment histories across federal, state, and municipal jurisdictions. Implement jurisdiction-specific adapters to locate canonical URLs, perform HTTP health checks, canonicalize and de-duplicate links, and record provenance (publisher, retrieval method, and last_verified_at). Persist normalized source records tied to bill/version/status, detect content changes, and surface verification freshness to dependent services. Provide retries, error categorization, and observability to ensure reliability and audit-ready accuracy.
Embed verified citations directly into generated scripts based on bill status and district context, using template tokens and formatting rules that produce human-readable labels and clickable links. Ensure accessibility (clear labels, keyboard focus), mobile-friendly output, and copy/paste safety. Block or warn on insertion if sources are stale or unverified, and fall back to a safe message when required. Integrate with the existing script engine so citations appear consistently in canvasser views, action pages, and exports without additional configuration.
Augment supporter action receipts and audit logs with a structured "source stamp" payload containing the exact citations used, their last_verified_at timestamps, the bill status snapshot, and a content hash that ties the script to its sources at action time. Include actor, environment, and campaign identifiers to support end-to-end traceability. Expose this payload in on-screen confirmations, emails/SMS, CSV exports, and API/webhook deliveries to partner CRMs, ensuring audit-ready, tamper-evident proof of accuracy.
Record and display all source and action timestamps in immutable ISO 8601 with timezone awareness (stored in UTC, rendered in the organization’s preferred timezone). Define and capture key events—source_verified_at, script_generated_at, and action_submitted_at—to preserve causal ordering and enable reliable comparisons across campaigns and jurisdictions. Ensure clock synchronization, handle daylight saving transitions, and prevent modification after issuance while allowing append-only corrections with explicit reason codes.
Introduce a caching layer for verified sources with configurable TTLs by jurisdiction and source type, background refresh jobs, and webhook/queue triggers when bill status changes. Implement exponential backoff, rate limiting, and conditional requests (ETag/If-Modified-Since) to reduce load while keeping data fresh. Surface freshness indicators and failure states to dependent components, and provide manual refresh controls with safe concurrency to avoid stale citations in scripts and receipts.
Provide an admin panel to preview, approve, or disable auto-added citations per campaign, and to add vetted custom sources with explicit verification state and rationale. Enforce role-based permissions, show diff/lineage for changes, and maintain an append-only audit trail for all overrides. Include guardrails that prevent publishing scripts with unverified overrides unless a policy-based exception is acknowledged, ensuring speed under deadline without sacrificing auditability.
Lets you set the voice for each stage—Inform, Urge, or Escalate—and automatically adapts suggested scripts to the selected tone and reading level. Keeps multi‑org coalitions aligned on message while maintaining accessibility and inclusivity.
Enable creation and management of tone profiles for each campaign stage (Inform, Urge, Escalate). Each profile includes configurable attributes (formality, urgency, sentiment, assertiveness), inclusive language guidelines, target reading level ranges, and channel-specific nuances (phone, email, social). Provide default presets aligned with RallyKit best practices and allow per-campaign and per-coalition overrides. Include versioning with change history, role-based access controls, real-time previews, and validation warnings when settings conflict with accessibility or coalition guidelines. Integrate with existing campaign setup so profiles attach to actions and auto-apply during script generation.
Generate channel-ready scripts that automatically adapt to the selected stage tone and target reading level while incorporating district, legislator, and bill status data. The engine rewrites sentence structure, vocabulary, and calls-to-action to match tone parameters without changing core policy intent. Support placeholders for personalization, channel variants, and optional length constraints. Preserve manual edits across regenerations with diff-aware updates and offer seeded, deterministic outputs for coalition review. Integrate with the existing auto-match-to-legislators pipeline and cache generated variants for performance.
Provide real-time readability scoring (e.g., Flesch–Kincaid, SMOG) and enforce target grade bands defined in tone profiles. Offer automatic rephrasing suggestions to meet targets while preserving meaning, flag jargon, idioms, and exclusionary or polarizing phrases, and suggest inclusive alternatives. Validate ADA and screen-reader friendliness (plain language, link text clarity) and require alt-text where applicable. Allow configurable exceptions with justification logged for audit. Surface warnings and fixes inline in the editor and block publishing if mandatory thresholds are not met.
Implement a multi-organization approval workflow for tone profiles and generated scripts. Support roles (Owner, Editor, Reviewer), suggest-and-approve editing with inline comments, required consensus rules (e.g., majority or all sign-off), and time-boxed review windows with reminders. Provide version diffs, shareable previews, and audit-ready logs of approvals, overrides with justification, and publication timestamps. Ensure permissions respect coalition agreements and restrict unilateral changes to shared tone settings.
Track and report action outcomes segmented by stage tone and reading level, including conversion rates, abandonment, time-to-complete, call duration where available, and downstream outcomes (e.g., legislator responses). Enable A/B and multivariate tests between tone presets and reading levels, with statistically sound winner determination. Visualize trends by district, audience segment, channel, and time, and generate recommendations (e.g., escalate tone in low-response districts). Provide privacy-safe aggregation, opt-out controls, and CSV/API export to support external reporting.
Support multilingual tone profiles and script generation starting with Spanish, maintaining equivalent tone attributes (formality, urgency, sentiment) across languages. Provide locale-specific salutations, idioms, and accessibility guidelines, with region-aware legislator titles. Include translation memory, glossary management for policy terms, and a human-in-the-loop review mode for community validators. Detect target language from audience segments and allow per-language overrides while keeping coalition alignment and audit history intact. Ensure right-to-left and diacritic support where applicable.
Define flexible allocation formulas—percentage, fixed, tiered, or hybrid—by partner tag, campaign, channel, or date window. Add floors, ceilings, and rounding, then set fallbacks if a partner lacks budget. RallyKit auto-applies rules to subscription and usage items, recalculates when attribution changes, and issues clean, auditable adjustments without spreadsheets.
Provide a visual and API-driven rule builder that lets admins define allocation formulas (percentage, fixed, tiered, hybrid) scoped by partner tag, campaign, channel, and date windows. Include floors, ceilings, and currency-aware rounding policies with configurable precedence and conflict resolution. Support rule versioning, draft/publish workflow, validation (e.g., totals sum to 100%, no overlapping scopes unless prioritized), and rollback. Integrate with RallyKit’s settings and permission model so only authorized roles can create, edit, and publish rules.
Implement a deterministic, idempotent allocation engine that auto-applies Smart Split Rules to both subscription and usage line items at calculation time. Handle order of operations, proration, multi-currency rounding, floors/ceilings, and hybrid/tiered computations at scale. Ensure performance with batch processing and streaming triggers, and expose calculation results with trace IDs linking to the originating action, invoice, partner, and rule version. Provide configuration for synchronous (inline) and asynchronous (queued) execution paths.
Automatically detect attribution changes (e.g., partner tag edits, channel reassignment, corrected campaign) and re-evaluate impacted records within the relevant date windows and rule versions. Generate delta-only adjustments that are auditable and idempotent to prevent double counting. Provide controls for backfill range selection, throttling, and conflict handling when multiple changes occur. Surface a change log and reconciliation status within the dashboard.
Enforce partner budget caps and implement configurable fallback behaviors when funds are insufficient: reallocate proportionally to remaining partners, defer to a holding account, or apply a house allocation. Support partial fulfillment, soft/hard caps, and concurrency-safe balance checks during high-volume events. Provide per-partner or per-campaign fallback hierarchies, notifications on exhaustion, and dashboards to monitor remaining balances and applied fallbacks.
Record every allocation and adjustment in an immutable ledger capturing inputs (amounts, attribution, currency), the applied rule/formula and version, rounding behavior, floors/ceilings, and outputs per partner. Generate human-readable explanations that show step-by-step calculations and reasons for any adjustments. Provide filters, export (CSV/JSON), and API access, with traceability to actions, invoices, partners, and recalculation events to deliver audit-ready proof.
Offer a sandbox to preview rule outcomes against sample or historical data before publishing changes. Display per-partner allocations, edge case handling (floors, ceilings, rounding), potential budget exhaustion, and deltas versus currently active rules. Support shareable previews, scenario labeling, and zero side-effects (no production writes) to de-risk deployments and align stakeholders.
Expose secure endpoints to create, read, update, and archive Smart Split Rules; retrieve allocations and ledger entries; and initiate recalculations. Publish webhooks for allocation_created, allocation_adjusted, budget_exhausted, and rule_published events. Implement OAuth2/API keys, RBAC, rate limits, pagination, filtering by campaign/partner/date, and schema versioning to support integrations with finance, data warehouses, and partner portals.
Create time‑boxed funding pools that draw down first, then roll over to partners when exhausted. Assign buckets to campaigns or specific line items (e.g., SMS, lookups) with start/end dates, caps, and reporting labels. Prevent overspend, prove grant utilization instantly, and keep funder-backed activity flowing without manual tracking.
Provide UI and APIs to create, edit, activate, pause, and archive time‑boxed funding buckets with required fields: name, funding source label, start/end dates, hard spend cap, applicable scope (campaign-level and/or specific line items such as SMS, lookups, calling minutes, email sends), and reporting tags. Enforce validation (non-overlapping dates per scope when needed, currency consistency, required labels), support cloning templates, and display real-time remaining balance. Integrate with RallyKit campaigns so buckets can be attached at campaign creation or retroactively. Persist immutable audit metadata (creator, timestamps, changes) to meet grant compliance and enable downstream reporting.
Implement a deterministic, concurrency-safe allocation engine that routes eligible costs to the correct bucket at the moment of spend. Respect scope rules (campaign vs. line item), bucket priority within a campaign, and date windows. Draw down from the active bucket until exhausted, then automatically roll over to the next configured destination (partner bucket or default org funds). Ensure idempotency across retries, lock contention handling for high-throughput actions, and accurate partial allocations when a single action incurs multiple line-item costs. Provide configuration for fallback behavior when no eligible bucket is available.
Add pre-commit budget checks that prevent overspend beyond a bucket’s hard cap. Support configurable behaviors: block action, throttle volume, or reroute to fallback funds. Provide clear user-facing and admin notifications when blocks occur, and log each prevented or rerouted charge with reason codes for audits. Include rate-aware checks for burst traffic and ensure enforcement at both campaign and line-item levels.
Deliver real-time dashboards and exports showing consumed vs. remaining amounts by bucket, date range, campaign, and line item. Include drill-down to action-level entries with timestamps, costs, and allocation outcomes. Provide one-click CSV export and a read-only API endpoint for funders, with optional share links scoped to specific buckets. Surface key KPIs (burn rate, projected exhaustion date, blocked/rerouted events) to prove utilization instantly.
Enable bucket configurations to specify one or more partner recipients for rollover when exhausted. Support cross-tenant attribution with secure permission checks, acceptance workflow for partners, and auditable transfer records (who, when, from/to, amount). Notify relevant stakeholders via email/in-app alerts on nearing cap, exhaustion, and rollover events. Display partner rollover state within campaign and bucket views.
Tag every costed action (e.g., SMS send, lookup, call, email) with the resolved bucket ID, allocation amount, and reason codes. Expose attribution in the campaign activity feed, action detail pages, and exports. Ensure compatibility with existing RallyKit analytics so conversion metrics can be filtered by funding source, enabling comparison of funded vs. unfunded performance.
Set per-partner caps by month or campaign with live meters, early‑warning alerts, and soft‑stop options. Overflow automatically routes to a designated fallback payer or pauses only the billable components tied to that partner, protecting coalitions from surprise bills while keeping essential actions online.
Provide UI and API to define per-partner credit caps by month and/or by campaign, including cap amount, currency, effective dates, and scope (all campaigns vs. selected). Allow configuration of soft-stop behavior (pause only billable components tied to that partner) or overflow routing (designate one or more fallback payers with priority order). Support configurable threshold levels for alerts, default templates, and validation to prevent overlapping or conflicting caps. Persist configurations with versioning and change history. Integrate with RallyKit’s billing attribution and action orchestration layers so caps govern cost accrual in real time across one-tap pages and automated outreach flows.
Display live meters for each partner’s cap utilization at coalition, campaign, and partner detail levels. Ingest billable usage events from the billing engine and attribute them to partners/components within ≤5 seconds end-to-end. Provide percent-to-cap, remaining balance, projected hit time (simple trend), and breakdown by billable component. Ensure accuracy via idempotent event processing, late event handling, and backfill reconciliation. Expose meters in the dashboard widgets and via read-only API for embedding and data warehouse sync.
Enable configurable alert thresholds (e.g., 50%, 75%, 90%, 100%, custom) per cap with recipient lists and channels (email, Slack, webhook). Provide early-warning nudges based on projected run rate. Include alert deduplication, quiet hours, and escalation rules (e.g., notify finance at 90%, all owners at 100%). Surface alert history in the partner timeline. Deliver webhook payloads with partner, campaign, cap ID, utilization, and recommended actions for automation.
Implement a rules-driven engine that, upon cap breach, either pauses only the billable components mapped to the capped partner (soft-stop) or routes incremental costs to a designated fallback payer according to a priority list. Ensure atomic decisioning at the point of charge with <250 ms added latency and idempotent retries. If routing fails (e.g., fallback has no capacity), degrade gracefully by applying soft-stop while keeping non-billable and other-partner-funded essentials online. Log every decision with trace IDs for audit and provide reversible overrides by admins.
Provide a schema and UI to tag action components (e.g., call dialing minutes, email sends, SMS, data enrichment) as billable and attribute each component’s costs to a specific partner and campaign. Support default attribution rules and per-campaign overrides. Ensure that tagging drives metering accuracy, soft-stop scoping, and invoice line-itemization. Validate configurations to prevent orphaned costs and ensure every billable event resolves to exactly one payer or a routed fallback.
Record immutable logs for cap creations/edits, threshold crossings, routing decisions, soft-stops, overrides, and meter adjustments. Include timestamp, actor, before/after values, and related entities (partner, campaign, component). Provide dashboard views and export to CSV/JSON, plus API endpoints for retrieval by date range and entity. Generate an audit-ready summary per billing period showing caps set, utilization, overflows, and payers of record to satisfy compliance and grant reporting needs.
Enforce permissions so only authorized roles can create or modify caps, routing rules, and component tagging. Support dual-approval for high-impact changes (e.g., raising a cap or changing fallback payer) and optional reason codes. Provide preview/diff of changes and effective-dating to schedule updates at period start. Notify stakeholders of approved changes and lock configurations after period close to preserve financial integrity.
Automate late‑payer safeguards with configurable net terms, reminder cadences, pay‑by‑link, and ACH/card retries. Quarantine delinquent partner charges, reallocate after grace periods, and freeze new spend tied to that partner only—without disrupting the rest of the campaign. Every step is logged for transparent, audit‑ready history.
Provide organization- and partner-level configuration for invoice net terms (e.g., Net 15/30/45) and grace periods, including defaults, overrides, and effective-dating. Enforce validation (e.g., grace ≤ net term), surface settings in admin UI, and expose them via API for automation. Changes must propagate to billing, reminder cadences, retry windows, and quarantine/freeze rules so downstream safeguards trigger precisely when a partner becomes late. Include migration of existing partners to sensible defaults and guardrails to prevent accidental policy changes on active invoices.
Automate multi-step reminder sequences for upcoming and overdue invoices with configurable timing (e.g., T-7, Due, D+3, D+7), channels (email at MVP; webhooks for Slack/ops tools), and templates with dynamic merge fields (amount due, due date, pay-by-link, invoice line items). Support pause/resume on payment, skip if balance zeroed, throttling to avoid spam, and localization. Log delivery and engagement events and expose status in a per-invoice timeline. Admin UI to define org-wide defaults and partner-specific overrides; API to trigger ad-hoc nudges.
Generate secure, single-invoice payment links that prefill partner, invoice, and amount due, supporting card and ACH based on partner permissions. Links include expiration, one-time tokenization, and SCA/3DS where applicable. The checkout flow returns real-time success/failure webhooks, updates invoice status, and feeds retry/quarantine logic. Provide branded templates, mobile-first design, and a lightweight receipt flow. Admins can regenerate or revoke links, and links are embedded in reminders and the dashboard.
Automatically retry failed ACH/card payments with policy-driven schedules and caps, adapting to failure reason codes (e.g., insufficient funds vs. hard declines). Implement exponential backoff, banking-day awareness, and cutoffs tied to grace periods. Respect network and gateway rules, de-duplicate concurrent attempts, and surface next-attempt ETA to staff. Capture reason codes, update invoice timeline, and notify stakeholders selectively. Allow per-partner opt-outs and method preferences. Ensure PCI-compliant handling via tokenized instruments.
When an invoice becomes delinquent beyond grace, automatically quarantine new charges attributable to that partner into a suspense bucket rather than posting to billable spend. Flag quarantined items in real time across RallyKit modules (e.g., calling credits, messaging) without halting unrelated campaign operations. Provide reconciliation views, alerts, and rules to release or reassign quarantined charges upon payment or after escalation. Support reallocation after grace expiration per policy (e.g., move to org suspense account) with full reversibility and audit trail.
Enable policy controls to freeze only new spend tied to a specific delinquent partner once thresholds are hit, while allowing all other partners and campaign functions to proceed. Provide granular scopes (module-level toggles), automatic and manual triggers, and in-app messaging that explains the freeze to internal users. Include override roles, escalation workflows, and clear unfreeze conditions (e.g., payment posted, override approved). Surface freeze status in partner profile, invoice view, and APIs to prevent accidental new allocations.
Record an immutable, searchable timeline of all dunning-related events: configuration changes, reminders sent, pay-by-link generations and clicks, payment attempts and outcomes, retries, quarantines, freezes, reallocations, overrides, and releases. Each entry includes timestamp, actor/system, trigger, payload snapshot, and result. Provide filters by partner, invoice, date range, and event type, plus export to CSV/JSON and webhook streaming. Ensure retention policies, redact sensitive PAN/ACH data, and support evidentiary needs for audits and partner disputes.
Generate branded, itemized invoices per organization and campaign with rate cards, unit counts, taxes/VAT, PO fields, and notes. Include VerifyLink-backed, tamper‑evident receipt bundles for each line or batch. Export PDF/CSV, schedule sends, and sync references to your accounting system, cutting reconciliation time to minutes.
Enable per-organization invoice templates with logos, color palette, typography, header/footer blocks, legal entities, bank/remittance details, and locale-aware formatting. Provide a WYSIWYG template editor with live preview, tokenized fields (organization, campaign, billing period, VerifyLink), and multi-language support. Allow default templates at the org level with campaign-level overrides. Ensure generated PDFs meet accessibility standards (tagged PDFs, selectable text) and include precise page layout controls (margins, page breaks) for consistent rendering across devices and printers.
Provide rate card management per organization and campaign with item catalogs, unit types (hours, actions, contacts, seats), tiered pricing, effective date ranges, and currency. Allow creating invoices by selecting rate card items, entering quantities, and optionally overriding prices with audit notes. Support discounts (percent/fixed), per-line and invoice-level, and show computed subtotals. Permit attaching supporting evidence to each line and tagging lines to campaigns and service periods. Validate quantity and pricing inputs and prevent negative or inconsistent totals.
Implement configurable tax profiles per organization and destination, supporting VAT/GST/sales tax, tax IDs/registration numbers, exemptions, reverse charge, and zero-rated supplies. Allow per-line taxability and multiple tax components. Calculate taxes based on org and client jurisdictions with correct rounding rules and include a detailed tax breakdown on PDFs/CSVs. Validate tax ID formats where applicable and include required statutory notes on invoices. Maintain historical tax rates for accurate back-billing and auditing.
Capture purchase order numbers, client reference codes, internal cost centers, and freeform notes at both invoice and line-item levels. Allow admins to define required/optional custom fields per organization and mark which fields must appear on exports/PDFs. Enable filtering and searching by these references across the invoice list. Enforce presence and format of required fields before sending or exporting.
Generate tamper-evident receipt bundles per invoice line or per invoice batch that summarize underlying RallyKit actions (e.g., calls, emails) with cryptographic hashes, timestamps, and counts. Embed a VerifyLink URL and optional QR code in the invoice PDF and email that opens a verification page showing line-to-proof mapping and integrity status. Detect any data tampering and surface a clear validation state. Store immutable proofs and provide an API/CSV export for auditors. Log verification events for audit trails.
Support one-click export to PDF and CSV with consistent file naming, draft watermarks, and inclusion of all metadata (PO, notes, custom fields, tax breakdown, VerifyLink). Provide email delivery with per-organization templates, multiple recipients (To/CC/BCC), and attachment options (PDF and CSV). Allow scheduling initial sends and automated reminders with timezone awareness, and track delivery (bounces, opens, link clicks) with resend history. Preserve sent artifacts for audit.
Integrate with accounting systems (e.g., QuickBooks Online, Xero) via OAuth to push invoices, customers, line items, and tax codes, and to pull payment status updates. Provide mapping of RallyKit rate card items to accounting products/services and of tax profiles to tax codes. Store external IDs for round-trip sync, handle duplicates/conflicts, and support dry-run validation. Sync payments and status changes (paid/partial/void) back to RallyKit and present a reconciliation view that matches POs, totals, and dates to cut reconciliation time to minutes.
Offer prepaid balances with auto top‑ups, threshold alerts, and refund/credit handling. Assign wallets to partners or coalitions, set allowed spend categories, and enable shared wallets across campaigns. Small partners gain predictability, while organizers prevent dunning interruptions during peak moments.
Enable admins to create prepaid wallets with defined currency, starting balance, and ownership, then assign them to individual partners or coalitions. Wallets can be linked as the default funding source on selected campaigns and scoped by org-level permissions. Provide CRUD management, visibility settings, and real-time balance display in the RallyKit dashboard. Integrates with campaign action execution to validate available funds before spending. Ensures small partners can onboard quickly and launch without per-campaign billing setup.
Provide configurable auto top-up rules per wallet: low-balance threshold, top-up amount, funding method, daily/weekly caps, and retry/backoff on payment failures. Support pause/resume, test charges, and configurable grace behavior to prevent dunning interruptions during spikes. On threshold breach, initiate a tokenized payment, update balance atomically, and emit events for notifications and reporting. Integrates with existing billing providers and respects org permissions and audit logging.
Allow admins to define allowed spend categories (e.g., calls, emails, texts, data enrichment) and optional per-category caps for each wallet. During action execution, enforce category checks and block or warn when limits are exceeded. Provide overrides with approver workflow and detailed error messages back to campaign tools. Surface category-level usage charts to show burn rate and remaining capacity per category.
Enable a single wallet to fund multiple campaigns with configurable allocations (fixed amounts or percentage splits) and optional hard caps per campaign. Apply concurrency-safe deductions with priority rules when simultaneous actions occur. Provide fallback behavior when a campaign allocation is exhausted (e.g., stop, use unallocated pool, or escalate for approval). Display per-campaign consumption and remaining allocation in real time.
Offer configurable alerts for low balance, top-up success/failure, payment retries, and category cap nearing/exceeded. Support email and Slack notifications, daily digests, and escalation rules when repeated failures occur. Include deep links to add funds, edit rules, or pause a wallet. Respect role-based recipients and notification preferences at the partner or coalition level.
Automatically credit wallets for failed or reversed actions and provide manual adjustments with reason codes, notes, and permissions. Support refund-to-funding-source when applicable or credit-to-wallet policies configurable per org. Ensure all changes are reflected in balances, allocations, and reports, with idempotent operations and complete audit trails.
Maintain an immutable, timestamped ledger of all wallet transactions (top-ups, spends, refunds, adjustments) with attribution to campaign, category, user/system actor, and funding source. Provide filters, rollups, and dashboards for spend by partner, campaign, category, and time period. Offer CSV export and API endpoints to deliver audit-ready evidence to funders and stakeholders.
Model projected usage and see who pays what before launch. Test scenarios, caps, and grant exhaustion dates, then share a link for approvals. The simulator flags risk (late‑payer exposure, cap breaches) and outputs a sign‑off snapshot so coalitions align on cost expectations up front.
Provide an interactive builder to create and manage multiple simulation scenarios for coalition campaigns. Users can define coalition members, anticipated supporter actions per channel (calls, emails, texts), timeframes, pricing tiers, per‑member caps, shared grant pools, and assumption notes. Supports naming, cloning, and version labels; autosaves drafts and marks “ready for approval” states. Parameters update in real time with instant recalculation. Integrates with RallyKit org roster, campaign settings, and price books to prefill defaults. Produces a scenario summary and detailed line items sized for export and approval.
A deterministic calculation engine that models projected usage and allocates costs per member according to configurable rules: usage weights, minimum commitments, tiered rates, per‑channel pricing, caps and overages, shared grant offsets, and time‑based proration. Generates monthly and total projections, per‑member ledgers, and a consolidated coalition summary. Handles rounding, taxes/fees, and currency. Exposes a transparent formula view and validation checks. Integrates with RallyKit billing exports and dashboards to ensure consistency between simulation and live tracking.
Configure hard and soft spending caps per member (monthly, campaign‑level) and define shared grant pools with start/end dates, exhaustion order, and rollover rules. Simulate grant depletion dates and cap pacing, including spillover behavior when caps are reached (stop, reallocate, or overage rates). Recalculate as assumptions change and visualize timelines. Integrates with RallyKit grant records to import balances and with the allocation engine to offset charges.
Provide real‑time risk analysis that evaluates each scenario against configurable thresholds, including late‑payer exposure (uncovered costs), cap breach likelihood, grant depletion risk, and budget variance. Present inline warnings, color‑coded badges, and explanatory tooltips, and include risk flags in exported snapshots. Allow admins to tune thresholds and assumptions (e.g., payer reliability scores). Integrates with the allocation and cap/grant models to surface root causes and recommended mitigations.
Generate a read‑only, shareable link for a selected scenario with access controls (org‑restricted, invite list, optional passcode). Render a concise approval view: scenario assumptions, per‑member cost table, grant/cap timelines, and risk flags. Create an immutable, timestamped sign‑off snapshot (PDF and hashed JSON) that captures approver name, signature, and comments. Store snapshots in RallyKit’s audit log and attach them to the campaign record for downstream reference.
Maintain complete version history for each scenario, including parameter diffs, editors, timestamps, and approval state changes. Support labels (e.g., v1, Finance‑Approved), rollback to prior versions, and inline comments with mentions. Provide a printable audit report that aligns with RallyKit’s audit‑ready proof standard. Integrates with the shareable snapshot and approval flow to ensure traceability from draft to sign‑off.
Enable CSV and API import of coalition member rosters, historical usage baselines, and pricing defaults to seed scenarios. Provide field mapping, validation, and error resolution. Export scenario results (per‑member ledgers, assumptions, risk summary) to CSV, PDF, and RallyKit billing integrations. Support one‑click attach to the campaign kickoff checklist and notify stakeholders upon export.
One-tap SMS deep link that verifies the volunteer’s phone, pre-fills their profile, and starts district detection instantly—no passwords or app installs. Volunteers enroll in under 30 seconds, with clear consent capture and a smooth handoff to their first task, reducing drop-off at the door.
Generate signed, single-use SMS deep links that open a mobile web flow without passwords or app installs. Links include a short TTL, replay protection, revocation, and device-aware routing (iOS/Android/desktop) with graceful fallbacks to a responsive web join page. Support custom branded domains, UTM and referral parameters, multi-tenant campaign scoping, localized landing copy, and QR/short-link variants. Store link issuance and consumption events for attribution and security auditing.
Automatically verify phone ownership when the magic link is opened on the device that received the SMS, establishing a verified session without manual code entry. Provide resilient fallbacks: OTP via SMS and voice call, resend with backoff, and device handoff support if the link is opened on another device. Enforce rate limiting, fraud/threat detection, and VOIP handling rules. Persist verification status and telemetry for troubleshooting while meeting the sub-30-second enrollment target.
Present clear, localized consent language for SMS, calls, and email with explicit checkboxes and an easily accessible privacy notice. Capture immutable consent records (timestamp, phone, consent scopes, IP, user agent, locale, campaign) and store them in an append-only audit log. Support STOP/HELP keywords, opt-out management, region-specific compliance (e.g., TCPA/GDPR/CCPA), and exportable, audit-ready reports. Sync consent states to volunteer profiles and downstream messaging services.
Kick off district detection immediately upon link open by requesting precise or approximate location permission with privacy-first copy; gracefully fall back to ZIP+4 or street address entry. Resolve districts and legislators via civic data providers with real-time matching, caching, and retry logic. Handle edge cases (new districts, PO Boxes, campus housing) and allow manual correction. Persist district to the profile for use in targeting, scripts, and action routing.
Upon successful verification and consent, route volunteers directly to their best next action page with prefilled profile and district context. Support dynamic task selection by campaign rules, A/B tests, and inventory (e.g., calls vs. emails). Ensure a two-tap maximum to start the first action, with progress tracking, latency budgets, and offline-safe UI fallbacks if district detection lags. Record handoff and completion events for conversion measurement.
Provide an admin UI to configure link parameters (expiration, scopes, campaign, first-task mapping, UTM tags), consent text, and landing copy. Enable brand controls (logo, colors, sender name), preview flows for iOS/Android/desktop, and test-mode links. Support bulk generation via CSV and an API, role-based access control, and validation to prevent misconfiguration. Offer share-ready SMS text snippets that comply with carrier policies.
Expose a live funnel from link sent → clicked → verified → consented → district detected → first task started/completed, with per-link, per-channel, and per-campaign attribution. Provide exports, CSV downloads, and webhooks to CRMs, data warehouses, and Slack for alerts. Include deliverability and error insights (carrier blocks, OTP failures, location denial), retention settings, and PII-safe aggregation for reporting.
Automatically assigns new volunteers to the best-fit team using district, event code, capacity, language, and skill preferences. Sends an instant welcome with the right chat link, shift info, and first assignment so volunteers know exactly where to go and leaders spend zero time triaging.
Capture and persist structured volunteer attributes required for automated assignment, including district, language(s), skills, availability window(s), preferred communication channel, and consent flags. Provide validated intake via RallyKit forms, API, and manual admin entry with idempotent upsert and sensible defaults. Normalize data (e.g., language ISO codes, district IDs), deduplicate by contact identifiers, and map profiles to existing RallyKit contacts. Expose a read API for the matching engine and ensure PII is secured and access-controlled.
Ingest and validate event codes from sign-up links, QR codes, and landing pages to scope candidates for assignment to the correct campaign or initiative. Map each event code to eligible teams, geography, and time bounds; support code expiration and fallbacks (e.g., route to at-large team). Pass event code context to the matching engine and welcome messaging. Provide admin UI and API to create, edit, and report on event codes and their routing outcomes.
Implement a deterministic, explainable scoring and rules engine that selects the best-fit team per new volunteer using weighted criteria: district proximity, language match, skill fit, availability overlap, event code eligibility, and current team capacity. Support hard constraints (must-match language, capacity ceilings) and tunable weights per organization. Provide a low-latency service (<2s p95) with retry and graceful handling of incomplete data, and expose an API/webhook for upstream intake and downstream messaging triggers.
Track real-time team capacity with configurable limits and buffers. Enforce capacity during matching, place excess volunteers on a waitlist, or spill to predefined sibling/at-large teams based on rules. Allow dynamic capacity updates from team leads, auto-rebalancing when capacity opens, and notify affected volunteers and leads. Prevent rapid over-assignment via throttles and provide visibility into remaining capacity across teams.
Trigger an immediate, localized welcome message upon assignment via the volunteer’s preferred channel (SMS, email, WhatsApp) with the team-specific chat link, next shift info, and first task. Use templating with language localization, merge fields (team name, leader, schedule), deep links to Slack/Discord/WhatsApp, and link tracking. Integrate with messaging providers, respect consent and quiet hours, implement retries and fallbacks, and surface delivery/bounce status to leaders.
Provide an admin interface to configure matching weights, hard constraints, eligible teams per event code, capacity limits, and default fallbacks. Enable authorized staff to manually reassign volunteers, pause assignments to a team, and batch-update rules. Require audit notes on overrides, enforce role-based access control, and preview the impact of rule changes before applying them.
Record and expose a full audit trail for each assignment, including inputs (profile, event code), rule evaluations, score breakdowns, chosen team, and notification outcomes with timestamps and actors. Provide dashboards and exports for metrics such as assignment time, success rate, capacity utilization, language coverage, welcome message delivery/click-through, and waitlist aging. Support filtering by campaign, event code, team, and time range to meet audit and optimization needs.
A 60-second, swipeable training that previews the script, safety notes, and do/don’t basics, ending with a quick confirm. Volunteers start confident and on-message, while organizers get consistent, compliant onboarding—even in fast-moving, day‑of environments.
Deliver a mobile-first, swipeable training flow capped at 60 seconds that sequences 4–6 concise cards covering overview, script preview, safety notes, and do/don’t basics. Include a progress indicator, optional timer, and clear primary actions that do not auto-advance to ensure comprehension. Support low-bandwidth environments with lightweight assets and prefetching, resume-on-return for interrupted sessions, and event instrumentation on each card view. Integrate with RallyKit session context so the flow loads per-campaign content instantly and respects campaign-level settings (mandatory vs. optional).
Render the correct district- and bill-status–specific script inside the MicroBrief by pulling the same targeting and templating logic used by RallyKit action pages. Merge user and legislator tokens (e.g., name, district, bill identifier, stance) and show the exact wording the volunteer will use for call and email actions. Handle fallbacks for unknown matches, stale bill status, or missing data with safe, neutral copy. Cache the selected variant for the session and expose the variant ID for downstream analytics and handoff.
Provide a dedicated module that surfaces mandatory safety notes, legal disclaimers, and do/don’t guidance within the MicroBrief. Enforce inclusion of organizer-defined required content and automatically flag or block disallowed phrases using a configurable ruleset. Localize or vary guidance by state or campaign policy, and record the displayed policy version for each viewer. Ensure content is accessible, concise, and consistent across all volunteers to maintain compliant, on-message outreach in rapid, day-of mobilizations.
Conclude the MicroBrief with a lightweight confirmation step (single-tap confirm or 1–2 question micro-check) that verifies the volunteer understands the script and safety basics before proceeding. Require completion to unlock the action page when the campaign marks onboarding as mandatory. Store timestamp, campaign ID, MicroBrief version, and result for audit readiness. Provide accessible controls, instant feedback on incorrect answers, and a friction-minimized retry path.
Seamlessly transition users from the MicroBrief to the correct one-tap action page (call or email) with deep-link parameters that carry the selected script variant, confirmation state, and session identifiers. Prefill any necessary context so the action page loads instantly and reflects the briefed content. Emit a handoff event and handle edge cases such as back-navigation, incomplete confirmations, or device app switching. Preserve analytics continuity to attribute outcomes to MicroBrief completion.
Offer an admin UI for organizers to author and manage MicroBriefs using modular cards (overview, script preview, safety notes, do/don’t, confirm). Provide templates, drag-and-drop ordering, inline previews for mobile/desktop, and scheduling. Allow campaign-level settings for mandatory completion, A/B variants, localization, and policy attachments. Version each MicroBrief with change history and publish states (draft, scheduled, live) to coordinate day-of updates without downtime.
Track MicroBrief engagement and outcomes in real time, including starts, per-card views, time to complete, confirmation results, and drop-off points. Present a campaign dashboard with completion rates, action conversion lift, and variant comparisons, and provide exportable, timestamped logs linking MicroBrief version to subsequent actions for audit readiness. Respect privacy by minimizing PII, honoring consent settings, and applying role-based access controls to reports.
Lightning-fast device and comprehension check: confirms audio, connectivity, and script understanding, then recommends the best role (calls, texts, canvass, or data). Prevents stalls at the first action and routes volunteers to tasks they can complete successfully right away.
Performs automatic microphone, speaker, and permission diagnostics for call tasks, including loopback recording, playback, input level meter, and echo/noise cancellation checks. Guides users through browser and OS permission fixes with step-by-step prompts and detects common misconfigurations (muted mic, wrong input, Bluetooth conflicts). Supports desktop and mobile browsers, persists preferred devices, and retries gracefully. Results are scored (pass, warn, fail) and fed into Ready Check’s role recommendation. Logs outcomes to RallyKit’s real-time dashboard and flags users for non-call roles if audio readiness is insufficient.
Measures bandwidth, latency, jitter, and packet loss, performs STUN/TURN reachability tests, and checks firewall/NAT compatibility for WebRTC-based calling to ensure stable call quality. Detects captive portals and low-power modes on mobile that may disrupt calls. Classifies connectivity (excellent/good/limited/unsupported) and recommends calls, texts, canvass, or data tasks accordingly. Integrates with RallyKit’s telephony provider configuration to validate region-specific endpoints and records metrics to the organizer dashboard for triage and capacity planning.
Displays the district- and bill-status-specific script and runs a 30–60 second comprehension check using two quick items (multiple choice plus a confidence or paraphrase prompt). Adapts reading level, offers translations, and supports screen readers. Provides instant feedback, highlights key talking points, and captures self-reported comfort level. Scores understanding and confidence, then sends results to the recommendation engine. Stores aggregate comprehension insights for organizers to refine scripts without adding setup overhead.
Combines device tests, network health, script comprehension, user preferences, time available, and prior performance to generate an explainable score for calls, texts, canvass, and data tasks. Uses a transparent rules engine with configurable thresholds and safe defaults so organizers can launch in minutes. Presents the top recommendation with a brief rationale and alternative options, and supports organizer overrides. Writes the chosen role and rationale to RallyKit’s live dashboard and triggers assignment creation via existing matching and scripting services.
Provides immediate, single-tap transition from recommendation to the correct task experience (dialer, texting, canvass, or data cleanup) by deep-linking with secure tokens that carry script, district targeting, and user context. Pre-checks authentication and permissions, resumes sessions if needed, and gracefully falls back to an alternate role if an endpoint is unavailable. Tracks acceptance, drop-offs, and time-to-first-action to ensure Ready Check eliminates first-action stalls.
Captures and stores a tamper-evident record of all readiness checks, scores, recommendations, user choices, and overrides with timestamps and minimal necessary personal data. Presents a concise consent notice explaining tests performed and data usage, with links to policy and the option to opt out of non-essential tracking. Supports configurable retention, export to CSV for audits, and organizer-level access controls. Integrates with RallyKit’s audit-ready reporting to demonstrate due diligence and protect supporter privacy.
Generates a temporary volunteer badge as a QR and SMS code that encodes verified district, team, and permissions. Scan to check in at kiosks and launch one‑tap action pages without retyping PII; badges auto-expire for privacy and can be reissued instantly if a device changes.
Generate QR and SMS codes as cryptographically signed, time‑bound tokens that encode supporter district, team, and permission scopes. Tokens include issued_at, expires_at, and nonce; are signed with rotating keys; optionally encrypted to prevent data leakage in QR; and are validated by kiosks and action pages using cached public keys. Expired or tampered tokens are rejected, and configurable TTLs balance convenience and privacy. The implementation supports key rotation, revocation lists, and replay protection to ensure badges cannot be forged or reused improperly.
Provide a self‑service flow that verifies supporter identity and district, then issues a FastPass badge via SMS deep link and downloadable QR. The flow binds the badge to the current device when supported, allows instant reissue on device change, enforces rate limits and captcha on requests, and supports step‑up verification for elevated permission scopes. Delivery channels include SMS with email fallback, with localized copy and clear UX. Issuance events are logged and revocable by admins without requiring user PII to be re‑entered.
Deliver a kiosk scanning experience that reads QR badges via camera, accepts manual short codes as fallback, validates token signatures and expiry, and checks the volunteer in to the event and station. The kiosk records location, station ID, timestamp, and operator, queues events offline with automatic retry, and displays clear success or error states. It integrates with RallyKit attendance and action tracking, enforces permission scopes at the kiosk, and throttles repeated or suspicious scans.
Enable action pages to accept a validated badge token and launch the correct district‑specific scripts and legislator targets without retyping personal information. The action session is ephemeral, pre‑fills only non‑PII context derived from token claims, and routes to the appropriate call or email flow based on current bill status. The system prevents data persistence on shared kiosks, supports rapid multi‑action flows, and records outcomes for analytics and audit while minimizing data exposure.
Provide an admin console for configuring badge TTLs, permission templates, and team mappings; viewing active and expired badges; and revoking badges individually or in bulk. Include search and filters, webhook notifications for issuance and revocation, and CSV export of badge events. Admins can set kiosk policies such as offline limits and allowed scopes, require step‑up verification for sensitive permissions, and override or block reissue when risk is detected.
Implement privacy‑preserving, immutable logging for badge lifecycle and scan events, capturing hashed badge IDs, profile references, timestamps, kiosk or station identifiers, IP or device metadata, and action outcomes. Logs are queryable in real time for live dashboards and exportable for compliance audits, with retention policies and redaction routines to minimize PII exposure. Integrity is maintained via append‑only storage and signature chaining aligned with RallyKit’s audit‑ready proof standard.
Ensure the badge and kiosk experiences meet accessibility and reliability standards by supporting high‑contrast and large‑text modes, screenreader labels, keyboard‑only navigation, and multi‑language content. Provide low‑light camera guidance, manual short‑code entry, printable badges, and SMS links that open action pages directly. Handle camera permission denials gracefully and offer alternate flows without blocking check‑in or action launch.
Low-data onboarding and training with compressed assets, SMS fallbacks, and offline caching of the MicroBrief and scripts. Volunteers in rural or crowded venues can enroll and act even on shaky networks, with actions syncing as soon as a connection returns.
Deliver a text-first Lite Mode experience that minimizes bandwidth by aggressively compressing and conditionally serving assets based on detected network quality. Implement adaptive image/video compression (WebP/AVIF, bitrate ladder), system fonts, deferred/lazy loading, and removal of non-essential third-party scripts. Enforce payload budgets (<=250KB first interactive load on 3G; <=100KB per subsequent view) with build-time and runtime guards. Provide a text-only rendering path for MicroBriefs, scripts, and action pages that degrades gracefully without images. Integrate with the campaign content pipeline so organizers upload once and the system generates both standard and lite variants automatically. Include client-side cache-busting and integrity checks to ensure safe reuse of assets across flaky sessions.
Preload and cache the current campaign MicroBrief, district-specific scripts, and essential UI in a Service Worker-managed offline cache so volunteers can read training content and perform actions without connectivity. Version caches by campaign, bill status, and locale; apply TTLs and semantic versioning to invalidate stale content. Display freshness indicators and auto-refresh when a connection returns. Ensure all cached content is text-first, with optional low-fidelity media placeholders. Support multilingual content and right-to-left scripts. Provide graceful fallback when a new version is required but unavailable offline.
Enable actions (calls, emails, sign-ups) to be executed offline by recording them in a local, encrypted queue that syncs automatically when connectivity returns. Use client-generated, idempotent action IDs, local timestamps, and minimal PII to ensure deduplication and reliable replay. Implement background sync with exponential backoff, conflict detection, and server acknowledgments that include canonical timestamps for auditability. Provide user feedback for queued vs. synced states, and ensure organizer dashboards reflect eventual consistency with clear badges and retry errors. All stored data should be encrypted at rest using WebCrypto with secure key handling.
Provide SMS-based enrollment and action flows when the web experience cannot be reliably loaded. Support opt-in via keyword, SMS delivery of district-matched call scripts and targets, and simple reply-based confirmations (e.g., DONE) to log completion. Map campaign actions to concise SMS templates with dynamic merges (name, district, bill status) and ensure compliance with carrier policies (opt-in/out, HELP/STOP) and privacy constraints (avoid transmitting sensitive PII). Integrate with supported SMS gateways (e.g., Twilio) and record SMS events for analytics and audit logs. Offer locale-aware templates and automatic link shorteners for any required deep links.
Create a phone-number–first, low-field onboarding with OTP via SMS and a compact, text-only MicroBrief that renders under tight size budgets. Allow enrollment to complete offline with deferred verification and sync on reconnect. Present micro-lessons (e.g., key points, do/don’t, 1-step practice) in <500 characters with optional ultra-light audio/text alternatives for accessibility. Persist progress locally and reconcile when online. Ensure WCAG-compliant contrast, large tap targets, and support for languages selected by the campaign.
Continuously detect connectivity and network quality (online/offline events, Network Information API where available) to automatically enable Lite Mode and SMS fallbacks when conditions deteriorate. Provide clear UI banners for mode changes, a manual override, and persistent per-device preference. Throttle telemetry to respect low-data constraints and log transitions for diagnostics. Ensure all core flows have defined degraded behaviors so users can continue without error loops.
Give organizers per-campaign controls to enable Lite Mode, set content size budgets, and preview a lite rendering. Provide dashboards that report offline session rates, queued vs. synced actions, median sync delay, SMS fallback usage, and content bundle sizes. Trigger preflight warnings when assets exceed budgets and offer optimization suggestions. Allow export of Lite Mode metrics and synced action logs for audit-ready proof.
Innovative concepts that could enhance this product's value proposition.
Verify supporters are real constituents using address match, district lookup, and SMS code. Flag mismatches and dedupe by person to silence astroturf claims.
Create tiered roles and approval gates for coalitions, from script editors to data-only partners. Share pages safely while preserving attribution and restricting exports.
Append-only action log with cryptographic signatures and change history. Export tamper-evident receipts per action for auditors and funders.
Generate hundreds of unique QR-coded action pages in one click, each with station/team attribution. Watch live counts per code to route volunteers instantly.
Auto-sync scripts and targets to official bill status feeds. Highlight changes, suggest fresh language, and schedule quiet-hour sends around hearings.
Split subscription and usage costs across partner tags automatically. Generate itemized invoices per organization and campaign, with credit caps and late-payer safeguards.
Let volunteers self-enroll via SMS link, auto-detect district, and auto-assign teams. Show a 60-second training page before first canvass action.
Imagined press coverage for this groundbreaking product concept.
Imagined Press Article
San Francisco, CA — RallyKit today announced the general availability of its lightweight advocacy campaign manager built for small nonprofit directors and scrappy grassroots organizers. Designed to replace spreadsheets and bulky CRMs with one real-time dashboard, RallyKit auto-matches supporters to their legislators, generates district-specific scripts by bill status, launches one-tap action pages, and tracks every call and email live—delivering audit-ready proof from day one. RallyKit was created for lean teams who need speed, accuracy, and accountability without enterprise bloat. In just 45 minutes, organizations can set up a campaign, publish their first one-tap action page, and begin watching completions rise in real time. As bills move, RallyKit updates targets and scripts automatically, so supporters always reach the right office with the right message at the right moment. “Small teams shouldn’t have to choose between moving fast and staying credible,” said Jordan Reyes, co-founder and CEO of RallyKit. “RallyKit brings the essentials into one place—district-accurate matching, auto-updated scripts, live tracking, and proof you can hand to a board or auditor—so grassroots leaders can focus their energy where it matters.” At the center of RallyKit is a real-time campaign dashboard that shows where actions are surging, which districts need attention, and how many calls and emails are completing minute by minute. Supporters are matched to their legislators instantly, and script content adjusts as bill status changes—eliminating stale asks and manual rework that slow momentum. Early users say RallyKit unlocks a new level of clarity and speed. “I stopped juggling eight tabs and started leading,” said Alisha Morgan, Executive Director at River Commons Action. “With RallyKit, we launched one-tap pages in an afternoon, watched completed calls roll in live, and redirected volunteers based on what the map showed us—all with audit-ready proof for our funders.” Key capabilities available at launch include: - Auto-match and verify: Address Autocorrect and confidence scoring boost match rates while minimizing supporter friction. - Script intelligence: Status-aware Script Autodraft suggests language tuned to urgency and tone, with Redline Briefs that highlight what changed since the last update. - One-tap action pages: Mobile-first pages let supporters complete calls or emails in seconds, with Dual Codes (QR + short link/SMS keyword) to maximize access. - Live tracking: District-level heat maps and progress rings show completions as they happen, helping teams redeploy volunteers in real time. - Audit-ready proof: A tamper-evident ProofLock ledger with VerifyLink receipts and Privacy Proof Tokens satisfies compliance while protecting PII. “Accuracy builds trust, and trust drives volume,” added Priya Narayanan, Head of Product at RallyKit. “RallyKit’s live status sync, target shifts by stage, and source-stamped scripts mean organizers never have to wonder if their supporters are reaching the right office with credible, current information.” For coalition work, RallyKit includes granular permissioning and attribution that travels with each page, partner tag, and station code. Immutable credit-split rules, approval ladders, and scoped sharing keep multi-organization teams aligned, fast, and fair—so collaboration lifts results rather than creating bottlenecks or disputes. RallyKit’s on-the-ground toolkit turns crowds into completed actions. Swarm Builder creates hundreds of QR-coded action pages in one click, Print Packs auto-generate branded materials for stations, Auto-Reset Kiosk keeps lines moving at events, and Heatmap Router guides volunteers to the districts that need them most. Saturation Guard protects credibility by pacing outreach when lines to a single office are overwhelmed, rebalancing toward high-leverage targets. Compliance and accountability are built in, not bolted on. Time Anchor pins the campaign ledger to an independent timestamp authority, Trace Diffs show who changed what and why, Key Rotation preserves verifiability over time, and GrantPack outputs a signed, tamper-evident report bundle that funders can verify independently with a simple link or QR code. RallyKit is available starting today for advocacy teams in the United States. The platform supports multilingual scripts, accessibility features, low-data modes, and multiple verification channels to ensure inclusivity and reach across urban, suburban, and rural contexts. New customers can get started with a guided 45-minute setup and prebuilt flows tailored to common campaign patterns. About RallyKit RallyKit is a lightweight advocacy campaign manager for small nonprofits and grassroots organizers. It replaces spreadsheets and bloated CRMs with one real-time dashboard that auto-matches supporters to legislators, generates district-specific scripts by bill status, launches one-tap action pages, tracks every action live, and delivers audit-ready proof. Media contact - Press: press@rallykit.org - Phone: +1 (415) 555-0137 - Web: https://www.rallykit.org/press Quotes and customer references are available upon request. Demos can be scheduled at the link above. Organizations interested in coalition features or on-site event support can contact RallyKit’s partnerships team for tailored onboarding.
Imagined Press Article
San Francisco, CA — RallyKit today introduced ProofLock, a trust-and-compliance layer that turns every supporter action into a verifiable, tamper‑evident receipt. Built for nonprofit operations leaders, coalitions, and funders who require clear, defensible records without compromising privacy, ProofLock anchors an append‑only action log to an independent timestamp authority and provides instant verification via QR code or short link. With ProofLock, organizers no longer need to assemble audit binders or export raw PII to prove impact. Each action is recorded with cryptographic signatures, district verification status, and a human‑readable change history. Auditors and partners can confirm receipt integrity in seconds—no special software required. “Accountability should be simple, not scary,” said Maya Ortega, CTO and co‑founder of RallyKit. “ProofLock gives lean teams the same level of verifiability once reserved for large enterprises: immutable logs, clear diffs, and privacy‑preserving receipts that anyone in a coalition or a funder’s office can validate with confidence.” ProofLock weaves together four pillars of trust: - Time Anchor: The daily root hash of the action ledger is pinned to an independent timestamp authority, making backdating or silent rewrites provably impossible. - VerifyLink: Each receipt includes a short URL and QR code that opens a no‑PII verification page, so reviewers can validate signatures and chain position against the live ledger. - Trace Diffs: Human‑readable side‑by‑side diffs show what changed, who approved it, and why—compressing technical hashes into clear narratives that fit grant reports and coalition reviews. - Key Rotation: Automatic rotation with rollover proofs reduces security risk while keeping all historical receipts verifiable forever. To protect constituents and uphold data promises, ProofLock integrates privacy by design. Privacy Proof Tokens attest that a supporter was district‑verified without exposing their full address, while Export Guardrails enforce policy-backed controls like Aggregates Only or Row-Level with redaction. Watermarked downloads, scoped API tokens, and just‑in‑time access requests reduce the risk of uncontrolled list spread across coalitions. Operations teams gain additional safeguards with Dispute Seals, which allow staff to flag any entry or batch as disputed, attach evidence, invite co‑signs, and record resolution—without altering history. For grant periods, GrantPack creates a signed bundle of deduped counts, receipt sets, and verification instructions that funders can validate independently, cutting back‑and‑forth and accelerating disbursements. “Proof is the new performance,” said Denise Tran, Operations Director at Open Rivers Alliance. “With ProofLock, I can hand our board and funders a link that verifies itself. We keep PII tight, resolve questions fast, and spend more time organizing instead of assembling spreadsheets.” ProofLock integrates natively with RallyKit’s real-time campaign dashboard. As actions complete, receipts are generated instantly and can be surfaced in coalition views with immutable attribution. Approval Ladders and Ring Templates further ensure the right people review scripts, targets, and page publishes before they go live, while Draft Sandboxes enable safe collaboration without touching production. The compliance layer supports multi-language campaigns, low-data workflows, and accessibility needs. Fallback Verify options—email magic links, IVR phone codes, and WhatsApp—ensure that verification succeeds even when SMS is blocked or internet connectivity is inconsistent, particularly critical for rural reach and busy venues. “Trust grows when every stakeholder can see and verify the same source of truth,” added Ortega. “Whether you are a small nonprofit proving outcomes to a first-time funder or a coalition coordinating dozens of partners, ProofLock gives you audit-ready confidence at the speed of your campaign.” Availability ProofLock is available today to all RallyKit customers in the United States. Existing campaigns receive VerifyLink receipts immediately; advanced features such as GrantPack and Dispute Seals can be enabled per campaign in Settings. RallyKit provides implementation guidance to align Export Guardrails with your organization’s policies. About RallyKit RallyKit is a lightweight advocacy campaign manager that replaces spreadsheets and bloated CRMs with one real-time dashboard. It auto-matches supporters to legislators, generates district-specific scripts by bill status, launches one-tap action pages, tracks every action live, and delivers audit-ready proof. Media contact - Press: press@rallykit.org - Phone: +1 (415) 555-0137 - Web: https://www.rallykit.org/press For demos, pricing, and security documentation, contact the RallyKit team or visit the press page to request a technical briefing.
Imagined Press Article
San Francisco, CA — RallyKit today launched Bill Pulse Automation, a suite of tools that keeps advocacy campaigns aligned with fast-moving legislative calendars—without late-night copy‑paste or risky guesswork. By continuously syncing official bill status, automatically shifting targets as a bill advances, and drafting stage‑appropriate scripts with verified citations, RallyKit ensures every supporter reaches the right lawmaker with the right message at the right time. “Nothing undermines credibility like an outdated ask,” said Priya Narayanan, Head of Product at RallyKit. “Bill Pulse Automation takes the manual drudgery out of staying current, so small teams can mobilize faster, reduce errors, and convert more calls and emails when it counts.” The suite brings together six coordinated capabilities: - Status Sync: Continuous monitoring of official bill activity—introductions, referrals, hearings, floor votes, conference, and signature—updates linked pages and scripts in real time. - Target Shift: As status changes, RallyKit automatically redirects outreach to the highest-leverage offices, from committee chairs and members to floor leaders, conferees, and the governor. - Script Autodraft: Fresh call and email language is generated for each stage with dynamic fields (bill number, committee, hearing date/time, vote windows), ready for quick review and approval. - Redline Brief: A plain-language digest shows exactly what changed since the last update—amendments, sponsors, vote counts—and highlights which script lines to edit, compressing deliberation to minutes. - Hearing Guard: Scheduled hearings trigger pre-hearing ramps, respectful quiet windows during proceedings, and post-hearing follow-ups to preserve relationships while maximizing impact. - Source Stamp: Every script and receipt is annotated with verified URLs and timestamps for instant credibility with partners, leadership, and auditors. For coalition communications, Tone Tuner keeps partners aligned on voice. Organizers can set a stage-specific tone—Inform, Urge, or Escalate—and RallyKit adapts the suggested script language and reading level accordingly to maintain consistency across email, SMS, and social. “Because our coalition spans rural and urban districts, accuracy is non-negotiable,” said Marcus Lee, Policy Director at Forward Together Network. “RallyKit’s real-time status sync and Target Shift helped us reassure skeptical lawmakers and volunteers alike that we were always hitting the right inboxes and phone lines.” Bill Pulse Automation is deeply integrated with RallyKit’s verification and inclusion features. Address Autocorrect and Confidence Lights improve district matches while minimizing friction. Fallback Verify offers alternative channels—email magic links, IVR codes, WhatsApp—and multilingual prompts so campaigns remain accessible across connectivity levels and assistive technologies. Dual Codes pair every QR with a short link and SMS keyword to keep actions flowing when cameras or data are unavailable. Organizers also benefit from live operational awareness. Heatmap Router shows action flow by district and recommends where to redeploy volunteers. Saturation Guard paces calls and emails by office to avoid swamping a single line, automatically shifting to email or alternate targets if voicemail is full or quotas are met. Goal Rings provide visible progress, ETAs, and milestone chimes to keep teams motivated and on schedule for key votes. “Bill Pulse Automation is about sharper timing and fewer mistakes,” added Narayanan. “When the feed flips to ‘hearing scheduled,’ your pages and scripts reflect it immediately. When the floor vote is announced, Tone Tuner and Script Autodraft make it easy to escalate respectfully—and to de‑escalate after the vote with thanks or next‑step guidance.” Availability Bill Pulse Automation is available today for U.S.-based campaigns in RallyKit. Existing customers can enable Status Sync and Target Shift at the campaign level and opt into Hearing Guard calendars. Tone Tuner and Script Autodraft work with Approval Ladders to ensure the right reviewers can approve changes from email or mobile before publish. About RallyKit RallyKit is a lightweight advocacy campaign manager for small nonprofits and grassroots organizers. It replaces spreadsheets and bulky CRMs with one real-time dashboard that auto-matches supporters to legislators, generates district-specific scripts by bill status, launches one-tap action pages, tracks every action live, and delivers audit-ready proof. Media contact - Press: press@rallykit.org - Phone: +1 (415) 555-0137 - Web: https://www.rallykit.org/press Demo requests and technical briefings are available on request. Coalition leaders can contact RallyKit’s partnerships team for guided setup and role-based templates aligned to existing approval processes.
Imagined Press Article
Atlanta, GA — RallyKit today announced its QR Swarm Toolkit, a field-tested system that converts event energy into district-accurate, completed actions in minutes. Built for on-the-ground mobilization at rallies, town halls, concerts, canvasses, and campuses, the toolkit combines one-click page generation, print-ready materials, kiosk safety, and live routing to help volunteers act quickly and organizers keep pressure balanced across districts. “Events create powerful momentum, but conversion often stalls at the table,” said Fiona Alvarez, VP of Field Experience at RallyKit. “The QR Swarm Toolkit removes friction for supporters and chaos for organizers—so a great crowd becomes great outcomes, measured and verified in real time.” The QR Swarm Toolkit includes: - Swarm Builder: Generate hundreds of unique, team-tagged QR action pages from a single template in one click, prefilled with UTM and attribution rules. - Print Packs: Auto-generate posters, table tents, badges, and stickers with branded QR codes, matching short links, and bold station IDs—ready for standard printers. - Dual Codes: Pair every QR with a memorable short link and SMS keyword fallback to include supporters without camera access or mobile data. - Auto-Reset Kiosk: Lock any device to a station page with auto-clear after submission or idle timeout; buffers actions offline and syncs once reconnected. - Heatmap Router: Watch volume, conversion rates, and wait indicators by station; route volunteers by SMS or Slack to districts that need them most. - Saturation Guard: Pace outreach by office to avoid overwhelming a single lawmaker’s line; shift to email or alternate targets when voicemail is full or quotas are met. - Goal Rings: Set station and team targets with live progress rings, ETAs, and milestone chimes; project a big board to fuel friendly competition. Field leaders can launch in under an hour. Magic Join Link verifies a volunteer’s phone, pre-fills their profile, and starts district detection without passwords. Team Autopilot assigns them to the best-fit team based on district, role, capacity, language, and skills. MicroBrief 60 gives a swipeable, 60-second orientation to scripts, safety notes, and do/don’t basics, followed by a quick confirm. Ready Check validates audio, connectivity, and comprehension before the first task. “On Saturday we spun up 60 QR stations in 20 minutes,” said Evan Carter, an event producer and early RallyKit user. “Auto-Reset Kiosk kept lines moving, Lite Mode worked where the venue Wi‑Fi didn’t, and the big board turned volunteers into finishers. We left with proof we could hand straight to our grant officer on Monday.” Inclusivity is a core design principle. Lite Mode compresses assets and caches scripts for low-data environments, while Fallback Verify channels—email magic links, IVR, WhatsApp—ensure constituent checks succeed even when SMS is blocked. Accessibility features support screen readers and multilingual scripts so more supporters can participate without friction. Organizers retain granular control across coalitions. Ring Templates apply permission tiers in one click; Scoped Sharing limits which partners can edit, publish, or view assets by page, district subset, or channel; and Approval Ladders set clear review gates with SLAs and escalations so day‑of speed doesn’t sacrifice safety. Immutable Attribution Locks enforce credit-split rules at publish, with dispute workflows that protect trust among partners. Every action generates audit-ready proof through RallyKit’s ProofLock ledger. VerifyLink receipts and Privacy Proof Tokens allow funders and coalition leads to validate outcomes without exposing PII. Trace Diffs and Time Anchor make backdating or silent changes provably impossible, while GrantPack assembles a signed bundle of results by event or grant window. “Crowds are precious—don’t waste them,” added Alvarez. “With QR Swarm, an organizer can redirect ten volunteers to an underperforming district in seconds and know, on the spot, that completed calls and emails are actually landing where they count.” Availability The QR Swarm Toolkit is available today for RallyKit customers in the United States. Print Pack assets include common sizes with crop marks and optional district micro‑scripts. Organizers can request an on-site activation checklist and a remote rehearsal session via the RallyKit press page. About RallyKit RallyKit is a lightweight advocacy campaign manager for small nonprofits and grassroots organizers. It replaces spreadsheets and bulky CRMs with one real-time dashboard that auto-matches supporters to legislators, generates district-specific scripts by bill status, launches one-tap action pages, tracks every action live, and delivers audit-ready proof. Media contact - Press: press@rallykit.org - Phone: +1 (415) 555-0137 - Web: https://www.rallykit.org/press For coalition playbooks, station code templates, and sample big-board layouts, contact the partnerships team via the press page.
Imagined Press Article
Washington, DC — RallyKit today introduced Coalition Finance Controls, a transparent billing and safeguards system that helps multi‑organization campaigns plan, allocate, and reconcile shared advocacy costs without spreadsheets or surprises. Built for coalitions that mix grant-backed activity with partner contributions, the system translates complex attribution into clean invoices and auditable histories while protecting campaigns from late-payer risk. “Coalitions win when everyone sees the same numbers and no one gets blindsided,” said Jordan Reyes, co‑founder and CEO of RallyKit. “Coalition Finance Controls align expectations upfront, automate the hard parts of cost sharing, and preserve momentum when dollars get complicated.” The system is anchored by Smart Split Rules, flexible allocation formulas—percentage, fixed, tiered, or hybrid—applied by partner tag, campaign, channel, or date window. Organizers can add floors, ceilings, rounding rules, and fallbacks if a partner lacks budget. RallyKit auto‑applies these rules to subscription and usage items, recalculates when attribution changes, and issues clean, auditable adjustments—no offline math required. To manage funding that arrives in bursts, Grant Buckets create time‑boxed pools that draw down first and then roll over to partners when exhausted. Buckets can be earmarked for specific line items like SMS or lookups, with start/end dates, caps, and clear labels for reporting. Credit Caps set per-partner limits by month or campaign with live meters, early‑warning alerts, and soft‑stop options; overflow can route to a fallback payer or pause only the billable components tied to that partner. Dunning Guard automates late‑payer safeguards with configurable net terms, reminder cadences, pay‑by‑link, and ACH/card retries. RallyKit quarantines delinquent charges tied to a specific partner, reallocates after grace periods, and freezes new spend for that partner only—without disrupting the rest of the campaign. Every step is logged to ProofLock for a transparent, tamper‑evident record. “Before RallyKit, we lost hours reconciling costs and calming nerves,” said Carla Jimenez, Managing Director at Statewide Voices Coalition. “Now we model splits before launch, set caps everyone agrees on, and send invoices with receipts funders can verify themselves. It’s professional, predictable, and fair.” On the back end, Invoice Composer generates branded, itemized invoices per organization and campaign with rate cards, unit counts, taxes/VAT, purchase order fields, and notes. Each line or batch can include a VerifyLink-backed receipt bundle so recipients validate outcomes independently. Partner Wallets add prepaid balances with auto top‑ups, threshold alerts, and refund/credit handling, offering predictability to small partners while preventing dunning interruptions during peak moments. To align expectations before a campaign starts, Split Simulator models projected usage across channels and dates, showing who pays what under different scenarios. The simulator flags risk—late‑payer exposure, cap breaches, grant exhaustion—and outputs a shareable sign‑off snapshot so coalitions document consensus in advance. Coalition Finance Controls work hand in hand with RallyKit’s collaboration guardrails. Ring Templates apply permission tiers tailored for coalitions, while Approval Ladders add stage gates for scripts, targets, and page publishes. Scoped Sharing restricts what assets each partner can view or edit. Attribution Locks enforce immutable credit-split rules at publish, with a dispute workflow requiring dual confirmation and preserving a complete, tamper‑evident trail. “Money dynamics can strain even the strongest coalitions,” said Reyes. “By pairing clear, pre‑agreed rules with verifiable receipts and automated safeguards, RallyKit helps partners focus on outcomes—completed calls and emails—rather than spreadsheets and surprises.” Availability Coalition Finance Controls are available today for RallyKit customers in the United States. Organizers can import existing split rules, set up Grant Buckets and Credit Caps in minutes, and generate their first invoices from past activity with a guided wizard. RallyKit’s team offers implementation sessions to align policies and reporting needs with Export Guardrails and Privacy Proof Tokens. About RallyKit RallyKit is a lightweight advocacy campaign manager for small nonprofits and grassroots organizers. It replaces spreadsheets and bulky CRMs with one real-time dashboard that auto-matches supporters to legislators, generates district-specific scripts by bill status, launches one-tap action pages, tracks every action live, and delivers audit-ready proof. Media contact - Press: press@rallykit.org - Phone: +1 (415) 555-0137 - Web: https://www.rallykit.org/press Coalitions can request a finance briefing and sample invoice pack via the press page. RallyKit also provides a checklist to map existing policies to in‑platform controls and a calculator template to compare pre‑ and post‑automation reconciliation time.
Subscribe to receive a fresh, AI-generated product idea in your inbox every day. It's completely free, and you might just discover your next big thing!
Full.CX effortlessly brings product visions to life.
This product was entirely generated using our AI and advanced algorithms. When you upgrade, you'll gain access to detailed product requirements, user personas, and feature specifications just like what you see below.