Data & uninstall
Nothing leaves your site by default
- Lumtera runs entirely inside your WordPress. No account, no API key, no MantraBrain servers.
- Nothing runs for visitors, except site fixes you switch on.
- Nothing is sent to an outside service unless you switch on AI suggestions. Then data is sent only to the AI provider connected to WordPress, and only when someone clicks a button for a suggestion. For alt text, that's the image and the text around it. For link text, headings and summaries, it's the text involved and the post title.
- The weekly email summary is off by default. When it's on, WordPress emails site totals to the addresses you enter.
- While content is rendered for a check, outgoing HTTP requests are blocked, so blocks like RSS feeds and embeds don't fetch anything.
Lumtera Pro contacts store.mantrabrain.com to check your license and updates (it sends your site address and environment type). It sends data elsewhere only where you set it up:
- Slack and webhook addresses you add
- client sites you connect to the portfolio
- the issue tracker you connect (GitHub, GitLab, Jira or Linear). An issue holds the finding, its markup snippet, how to fix it, the page title, its view and edit links, a link to the task on the Fixes screen, and the site name.
Free plugin
Table
{prefix}lumtera_issues holds one row per open finding: id, post_id, rule_id, severity, fingerprint, occurrence, message, context (the markup snippet) and created_at. A post's rows are replaced each time it's checked, and removed when it's deleted. Dismissed findings, and findings ignored site-wide in Pro, have no rows.
Options
| Option | Contents |
|---|---|
lumtera_settings | Content types, check on save, before-publishing mode, outlines, per-check severities, and the AI switches (alt_text, link_text, headings, summary) |
lumtera_permissions | The roles ticked under Settings → Permissions, as a record of the last save. The roles hold the live state (see Roles and capabilities). |
lumtera_email_summary | Email summary switch, recipients and weekday |
lumtera_email_summary_state | Totals at the last summary sent, and posts whose score dropped since (up to 100) |
lumtera_site_fixes | Site fix switches and options |
lumtera_statement | Your statement form answers |
lumtera_db_version, lumtera_roles_version, lumtera_permissions_version | Version markers |
Post meta
| Key | Contents |
|---|---|
_lumtera_summary | Counts, score, reading grade and when it was checked |
_lumtera_score | Score, for sorting list tables |
_lumtera_dismissed | Dismissed issues, with who, when, why and the severity |
_lumtera_manual | Manual check results: for each test, the result, note, failed criteria, who recorded it and when |
_lumtera_image, _lumtera_image_noalt, _lumtera_image_noalt_manual | Which images a post shows, and which copies lack alt text (for the alt text manager) |
_lumtera_alt_ai | On images: who accepted an AI alt text suggestion, and when |
_lumtera_statement_hash | On the statement page, to tell whether it's been edited |
Lumtera also writes WordPress's own _wp_attachment_image_alt when you save alt text in the alt text manager. Before WordPress 7.0, it also copies alt text embedded in an uploaded image into it, when the image has none.
User meta and transients
User meta: lumtera_welcome_dismissed.
Transients:
| Transient | Kept for |
|---|---|
lumtera_totals, lumtera_by_rule, lumtera_by_rule_published, lumtera_worst, lumtera_groups | Up to a day. Cleared whenever a result or setting changes. |
lumtera_image_review | An hour |
lumtera_ai_ready, lumtera_ai_text_ready | 10 minutes |
lumtera_rate_{user ID} | A minute: live-check rate limit. Stored in the object cache instead when the site has a persistent one. |
lumtera_rate_ai_{user ID} | 10 minutes: AI rate limit |
Roles and capabilities
| Name | Given to | Grants |
|---|---|---|
lumtera_reporter (role) | Users you choose | read and lumtera_view_summary only. See Lumtera Reporter. |
lumtera_view_summary | The Lumtera Reporter role and administrators | Reading /site-summary |
lumtera_view_reports | Roles ticked under See reports and check the site. Default: roles that can edit others' posts. | Lumtera's report screens and site-wide checks |
lumtera_dismiss_errors | Roles ticked under Dismiss errors. Default: roles that can edit others' posts. | Dismissing and restoring errors |
lumtera_review_mode | Roles ticked under Review pages on the site. Default: roles that can edit posts. | Review mode on posts the user can edit |
Administrators always keep the last three. The defaults are granted once per site, when Lumtera first runs with this feature. The capabilities live on the roles, so a role editor plugin can show them and give them to single users. From WP-CLI, change them with wp cap add and wp cap remove, for example wp cap add author lumtera_dismiss_errors.
Scheduled job
| Hook | When |
|---|---|
lumtera_email_summary | Weekly at 09:00 site time, on the chosen weekday (default Monday). Scheduled only while the email summary is on and Lumtera Pro isn't active. |
The free plugin has no other scheduled jobs and no custom post types.
Lumtera Pro Pro
Tables
| Table | Contents |
|---|---|
{prefix}lumtera_pro_tasks | Fix tracking tasks |
{prefix}lumtera_pro_task_log | Task history, including issues created in a tracker |
{prefix}lumtera_pro_pages | Page check results, one row per URL and viewport (desktop or phone) |
{prefix}lumtera_pro_audit | Activity log |
Options
| Option | Contents |
|---|---|
lumtera_pro_license | The license. Stored network-wide (site option) when Pro is network-activated. |
lumtera_pro_alerts | Alert settings |
lumtera_pro_branding | Report branding |
lumtera_pro_history | Daily score snapshots, 400 days |
lumtera_pro_acr | Your conformance report details and per-criterion overrides |
lumtera_pro_ignore_rules, lumtera_pro_ignore_log | Ignore rules, with who added each and why, and the last 100 changes |
lumtera_pro_ignore_rescan | Posts waiting to be checked again after an ignore rule changed |
lumtera_pro_trackers, lumtera_pro_tracker_status | Issue tracker settings (the token encrypted), and the result of the last test and automatic issue |
lumtera_pro_sites, lumtera_pro_site_* | Portfolio sites and their results |
lumtera_pro_scheduled, lumtera_pro_scheduled_run, lumtera_pro_scheduled_lock | Scheduled page checks |
lumtera_pro_webhooks, lumtera_pro_webhook_status | Webhooks and their last delivery |
lumtera_pro_audit | Activity log retention |
lumtera_pro_db_version | Version marker |
Portfolio passwords, webhook secrets and issue tracker tokens are encrypted with libsodium, using a key derived from your site's secret keys, or LUMTERA_PRO_ENCRYPTION_KEY if defined.
Short-lived transients hold queued webhook deliveries (lumtera_pro_wh_*), alert de-duplication, tracker rate-limit waits and update details (lumtera_pro_update_info).
Post meta and post type
Post meta: _lumtera_pro_errors (alert baseline), _lumtera_pro_pdf and _lumtera_pro_pdf_attempt (PDF results), _lumtera_report (report snapshots).
Post type: lumtera_report, private, with no admin UI of its own.
Scheduled jobs
Pro uses Action Scheduler (group lumtera-pro) when it's loaded, for example with WooCommerce. Otherwise it uses WP-Cron.
| Hook | When |
|---|---|
lumtera_pro_license_check | Daily |
lumtera_pro_daily | Daily at 02:00: score snapshot and activity cleanup |
lumtera_pro_weekly | Mondays at 09:00: weekly summary |
lumtera_pro_scheduled_checks, lumtera_pro_scheduled_batch | 03:00, daily or weekly: scheduled page checks |
lumtera_pro_documents_scan | Daily, and after uploads: PDF checks |
lumtera_pro_portfolio_sync, lumtera_pro_portfolio_sync_site | Twice a day: portfolio |
lumtera_pro_deliver_alert, lumtera_pro_deliver_alerts | Straight after a save: alerts |
lumtera_pro_webhook_send | Straight away, with retries: webhooks |
lumtera_pro_ignore_rescan | Straight after an ignore rule is added or removed, 20 posts per run: re-checks the affected posts |
lumtera_pro_tracker_issue | A few seconds apart, when auto-create is on: creates tracker issues for new tasks, retrying up to 5 times when the tracker asks to wait |
Tools → Site Health includes a Lumtera Pro background tasks test that warns when jobs are more than an hour late. See Troubleshooting.
Privacy
Lumtera collects nothing about visitors.
Both plugins add sections to WordPress's privacy tools. See Tools → Export Personal Data and Erase Personal Data:
| Tool | Exports | Erasing |
|---|---|---|
| Lumtera accessibility dismissals and AI alt text | Issues the person dismissed (with notes), and AI alt text suggestions they accepted | Removes the person's name and notes. The dismissals and the "suggested by AI" record stay. |
| Lumtera manual accessibility checks | Manual check results the person recorded, with notes | Removes the person and the note. The result stays. |
| Lumtera Pro activity log | Activity log entries by the person | Replaces their name with "A removed user". The entries stay. |
Pro's fix tracking tasks and ignore rules also store user IDs (assignees, and who added a rule), and ignore rules store the reason typed. These aren't part of the export and erase tools.
Lumtera also adds suggested text to Settings → Privacy → Policy Guide, including a section on manual checks.
Uninstall
Deactivating the free plugin unschedules the email summary. Deactivating Pro cancels all its scheduled jobs. Neither deletes any data.
Deleting the free plugin removes, on every site of a network:
- the
lumtera_issuestable - the options listed above
- the post meta
_lumtera_summary,_lumtera_score,_lumtera_dismissed,_lumtera_image,_lumtera_image_noalt,_lumtera_image_noalt_manual,_lumtera_alt_aiand_lumtera_statement_hash - the user meta and transients listed above
- the email summary job
- the Lumtera Reporter role, and the
lumtera_view_summary,lumtera_view_reports,lumtera_dismiss_errorsandlumtera_review_modecapabilities from every role
It keeps:
- your accessibility statement page (it's your content)
- alt text Lumtera added to images and posts
- manual check results (
_lumtera_manualpost meta)
Deleting Lumtera Pro removes, on every site of a network:
- the options
lumtera_pro_branding,lumtera_pro_alerts,lumtera_pro_history,lumtera_pro_sitesandlumtera_pro_site_*,lumtera_pro_scheduled,lumtera_pro_scheduled_run,lumtera_pro_scheduled_lock,lumtera_pro_webhooks,lumtera_pro_webhook_status,lumtera_pro_audit,lumtera_pro_ignore_rules,lumtera_pro_ignore_log,lumtera_pro_ignore_rescanandlumtera_pro_db_version - the post meta
_lumtera_pro_errors,_lumtera_pro_pdfand_lumtera_pro_pdf_attempt - queued webhook deliveries and the cached update details
- all its scheduled jobs
By default it keeps:
- your license, because an expired key can't be activated again. Define
LUMTERA_PRO_DELETE_LICENSEastrueto remove it. - your reports, fix history, page results and activity log. Define
LUMTERA_PRO_DELETE_REPORTSastrueto remove them (thelumtera_reportposts and the four tables). - the conformance report details (
lumtera_pro_acr) and issue tracker settings (lumtera_pro_trackers,lumtera_pro_tracker_status). Delete these options yourself if you no longer need them, for example withwp option delete lumtera_pro_trackers.
// wp-config.php: remove everything when Lumtera Pro is deleted.
define( 'LUMTERA_PRO_DELETE_REPORTS', true );
define( 'LUMTERA_PRO_DELETE_LICENSE', true );On multisite, deleting a site drops its lumtera_issues table.