

A true-to-scale wall preview with bookmarks and recently viewed posters.
“How big is it, really?” is the question that stops a poster sale. SeeOnWall answers it on the
product page: shoppers photograph their own wall with the phone already in their hand and see your
print on it at true physical size — 30×40 looks like 30×40, next to their actual sofa, in their
actual light. No app, no shopper account, no AR-capable phone. Add the button once and it appears
on every poster you sell, now and in the future.
Requires WooCommerce (8.0+) installed and active. Connecting takes one click — no signup, no
API key: the plugin proves it controls your domain and a free account is provisioned.
This plugin is the client for SeeOnWall, a hosted service (https://seeonwall.com) that renders
the wall previews. The plugin does not visualize anything itself and is not usable without that
service, which is operated by the plugin author.
What the plugin sends: on connect, once, when you click Connect — your store’s URL and the
connecting admin’s email address, in exchange for a store token; the email is used only for
account notices and billing, never shown to shoppers or used for marketing. On product pages
of connected stores — the viewer script is loaded from https://seeonwall.com/seeonwall.js
(loaded, not bundled, because the preview is a live service kept current server-side) and passed
the product’s image URL and physical dimensions. The plugin sends no shopper data.
What the service does with shopper data, once a shopper opens the preview: a room-scene
template uploads nothing at all. A photo of the shopper’s own wall is stored in an EU
Cloudflare R2 bucket and analysed by Google Vertex AI (EU Data Boundary endpoint, europe-west1)
to detect the wall corners; it stays in the EU for its whole lifetime, is never used to train
models, and is deleted when the session expires after 7 days. Shoppers never create an account,
Cloudflare Turnstile guards uploads against bots, and a notice stating all of this is shown in
the viewer before the shopper uploads. Your WordPress admin also carries this text, ready to copy
into your own policy, under Settings Privacy.
Terms of Use: https://seeonwall.com/terms · Privacy Policy: https://seeonwall.com/privacy ·
Sub-processors: https://seeonwall.com/subprocessors
Content hosted by SeeOnWall that is unlawful — a poster image used without the rights holder’s
permission, say — can be reported to [email protected]. The Article 16 EU Digital Services Act
notice-and-action procedure is at https://seeonwall.com/report
The admin settings page is a small React + TypeScript app. The plugin ships its compiled, minified
output (assets/js/settings.js, assets/css/settings.css); the human-readable source is under
src/, with build instructions in src/README.md. Node.js + Vite (npm install && npm run). React and ReactDOM resolve at runtime to the copies WordPress ships.
build
Shoppers get eleven languages. The wall preview and the “See on wall” button speak English,
German, Polish, Spanish, French, Italian, Portuguese, Dutch, Swedish, Norwegian Bokmål and
Danish, following the language your store page is in — no setting to change, and no per-language
setup on a multilingual store.
The settings screen ships six translations beyond English — German, Polish, Spanish, French,
Italian and Portuguese — for the PHP strings and the React settings screen, following your
WordPress admin language including variants such as de_AT, es_MX, fr_CA, pt_BR and pt_AO.
Portuguese is European Portuguese, with Brazilian and Angolan locales resolving to it rather than
to English. translate.wordpress.org translations take precedence.