Crumb
Crumb is a lightweight WordPress plugin that embeds the Crumb Widget meeting finder on any page or post using a simple shortcode.
Features:
- List and map views with real-time search and filters
- Meeting detail with directions and virtual meeting join link
- Multi-language support
- Shareable per-meeting URLs
Usage
Add the shortcode to any page or post:
[crumb]
Override settings per page:
[crumb server="https://your-server/main_server" service_body="42" format_ids="17,54" view="map" geolocation="true" geolocation_radius="30"]
Shortcode attributes:
server— BMLT server URL (overrides the value set in Settings → Crumb)service_body— Service body ID or comma-separated list; leave empty to show all meetingsformat_ids— Format ID or comma-separated list of BMLT format IDs to lock the widget to; leave empty to show all formatsview— Default view when the widget loads:list(default),map, orboth(map above list with no toggle); can also be overridden at runtime via the?view=query parametergeolocation— Enable or disable geolocation for this page:trueorfalsegeolocation_radius— Geolocation search radius. Positive integer = fixed radius in miles (or km per server settings). Negative integer = BMLT auto-radius: the server expands the search until it finds roughly that many meetings (e.g.-50finds ~50 nearby meetings). Overrides the Geolocation Radius setting and Widget Configuration.
Documentation
Full documentation at crumb.bmlt.app.
External services
This plugin relies on two external services. Both are part of the BMLT (Basic Meeting List Toolkit) ecosystem — free, open-source tools built for Narcotics Anonymous service bodies (https://bmlt.app).
1. Crumb Widget CDN
The widget JavaScript is loaded from a CDN operated by the BMLT project.
- Service: cdn.aws.bmlt.app — delivers the Crumb Widget JavaScript file
- Purpose: Provides the JavaScript component that renders the meeting list interface
- Data sent: Standard HTTP request headers (IP address, browser user-agent, referring URL). No personal or meeting-search data is sent to the CDN.
- When: The script is loaded once per page load on any page that contains the [crumb] shortcode
- Privacy policy: https://crumb.bmlt.app/privacy.html
- Terms of use / License: https://github.com/bmlt-enabled/crumb-widget/blob/main/LICENSE
2. BMLT Server (meeting data)
The widget fetches meeting data from a BMLT server whose URL you configure in Settings → Crumb. This server is typically operated by a regional NA service body and is not a service operated by the Crumb project.
- Service: Your configured BMLT server (e.g. https://your-region.bmlt.app/main_server/)
- Purpose: Retrieve NA meeting listings (names, times, locations, formats) to display in the widget
- Data sent: Search query parameters (filters, keyword, selected formats). If geolocation is enabled and the user consents via a browser prompt, the user's geographic coordinates are also sent to this server.
- When: On each search or filter action within the widget
- Privacy policy: Determined by the operator of your configured BMLT server. Learn more at https://bmlt.app.
