Skip to content

Data and privacy

Arkazzae edited this page Oct 7, 2026 · 1 revision

This page lists every outside service SafeHouse contacts, everything it stores on your site, and what deactivating and uninstalling remove. Use it for your privacy policy and for data protection questions. SafeHouse sends no telemetry.

Outside services

Apart from the SMTP and Redis servers you set up yourself, SafeHouse contacts up to four services, and only for the modules that need them. Server-side requests use WordPress's HTTP API and its default user agent, which includes the site's address.

Service Used by When What is sent
WordPress.org plugin directory (api.wordpress.org) Plugin health Once a week, and at the next daily check after plugins are added, removed or updated The slugs of installed plugins, to read whether each is closed and when it was last updated. Plugins that name another update source are not sent.
Design House update host (updates.designhouse.me) Signed updates When WordPress checks for plugin updates A request for the release manifest. Nothing about the site's plugins.
Design House update host (updates.designhouse.me) Vulnerability alerts At most every 6 hours Requests for a signed index and for the data files that cover the installed software. Each file covers about 1/256 of all plugins and themes, so the site never sends its plugin list.
Cloudflare Turnstile (challenges.cloudflare.com) Bot protection, only with Turnstile keys set When a visitor opens a page with a protected form, and when they send it The visitor's browser loads Cloudflare's Turnstile script. When the form is sent, the site sends the Turnstile token to Cloudflare to check it, with the visitor's address when SafeHouse knows the real one.
Cloudflare API (api.cloudflare.com) Cloudflare cache, only when on and set up After content changes, at most once every 30 seconds The zone ID and the addresses of the changed pages.

The vulnerability data comes from Wordfence Intelligence and is published by Design House. The Design House privacy policy is at designhouse.me/polityka-prywatnosci. Cloudflare's terms are in its privacy policy and the Turnstile privacy addendum.

LiteSpeed page cache also requests your own site's home page for its Site Health check, and wp shouse cache purge sends one request to your own site. Neither reaches an outside service.

Personal data SafeHouse stores

Data Where Kept for
The user and the visitor address of each activity log event Table {prefix}shouse_log 90 days
Visitor addresses with failed logins, and keyed hashes of the account names typed into login forms (never the names in plain text) Table {prefix}shouse_login Until 30 days without activity, unless still locked out
A signed device cookie for each login name and e-mail address that logged in Cookies shouse_device_* in users' browsers 180 days

SafeHouse keeps no mail log, so password-reset links and the contents of e-mails are never stored. It writes nothing to user profiles.

Everything SafeHouse stores

Database tables

Table Holds
{prefix}shouse_log The activity log
{prefix}shouse_login Login limits counters and lockouts
{prefix}shouse_price_history Omnibus price history: product ID, price and time of each change, kept for a year

Options

Option Holds
shouse_settings All settings (loaded on every request)
shouse_watch_state The Change alerts baseline
shouse_plugin_health The last Plugin health report
shouse_vulnerabilities, shouse_vulnerabilities_findings, shouse_vulnerabilities_notified Vulnerability data, current findings, and findings already e-mailed
shouse_lockdown_until When an install unlock ends
shouse_omnibus_since When Omnibus price recording started
shouse_cloudflare_pending, shouse_cloudflare_result Cloudflare purges waiting to be sent, and the last result
shouse_litespeed_purge A LiteSpeed purge waiting for the next request
shouse_object_cache_stale A marker that the Redis cache missed changes and must be cleared
shouse_db_version, shouse_login_db_version, shouse_omnibus_db_version, shouse_migrated_from_wphouse Internal version markers

Short-lived transients start with shouse_ too, such as the cached update manifest (3 hours) and one-time notices (60 seconds).

Scheduled tasks

Hook Runs Does
shouse_hourly Hourly Change alerts check, vulnerability data refresh
shouse_daily Daily Activity log clean-up, login record clean-up, Omnibus history clean-up, Plugin health check
shouse_cloudflare_purge Once, 30 seconds after a delayed Cloudflare purge Sends the waiting purge

Files and cookies

  • wp-content/object-cache.php, only after wp shouse object-cache enable
  • wp-content/shouse-safe-mode, only after wp shouse safe-mode on
  • cookie shouse_device_* (Login limits), and _lscache_vary for logged-in users, commenters and visitors with a cart (LiteSpeed page cache)

SafeHouse never writes to .htaccess or wp-config.php.

Deactivating and uninstalling

Deactivating SafeHouse stops it, removes its scheduled tasks, and removes its Redis object cache drop-in together with the site's keys in Redis. All data stays, so reactivating brings everything back.

Deleting SafeHouse on the Plugins screen also removes:

  • the three tables
  • every option and transient starting with shouse_ (and wphouse_, from before version 0.2.0)
  • the scheduled tasks
  • wp-content/object-cache.php, if it is SafeHouse's own (another plugin's drop-in is left alone)
  • the safe mode files

It leaves:

  • cookies already in visitors' browsers, until they expire
  • posts made with Duplicate posts and pages
  • a pending one-time shouse_cloudflare_purge task, if one was scheduled; it does nothing once SafeHouse is gone
  • on multisite, the tables and options of every site other than the one the uninstall ran for; remove those by hand

Related pages

Clone this wiki locally