

A pin left directly on the page it refers to — no separate tool, no screenshot pasted into an email.
Visual feedback and bug reporting, pinned right on the page
Send a client or teammate a review link. They click around your site and pin comments directly on the thing they mean — a headline, a button, a broken layout — with a screenshot attached if it helps. No account for them to create, no browser extension to install, no separate feedback tool to learn. “The button on the homepage looks off” becomes a pin your team can act on, whether it’s a design note or a bug report.
Pins that actually stay put
Most website feedback tools lose track of where a comment belongs the moment the page changes. Vifee anchors every pin with four fallback strategies — a CSS selector, an XPath, an element offset, and a document-percentage position — so pins survive a theme switch, a viewport resize, lazy-loaded content, and a full DOM rebuild. If the exact element is gone, the pin degrades gracefully instead of vanishing or jumping to the wrong spot.
Nothing leaves your server
Feedback, screenshots, and reviewer details are stored in your own WordPress database and a private, non-public uploads directory. Vifee makes no outbound requests, calls no third-party API, and sends no telemetry. For agencies working with public-sector, healthcare, or legal clients, “the data never leaves our server” is often a procurement requirement, not a nice-to-have.
A feedback widget, not a per-seat subscription
There’s no per-user or per-project pricing here. You install the feedback widget once and use it on as many review links, client sites, and reviewers as you need.
How the visual feedback workflow works
A separate PRO add-on is planned for agencies managing feedback across multiple client sites. It will be entirely optional — nothing described above is disabled, watermarked, or held back in this free version to encourage an upgrade, and every feature here stays free, forever.
Vifee keeps separate feedback for every site of a network. When the plugin is active on a site — individually or network-wide — that site gets its tables, keys, the manage_vifee_feedback capability for administrators and its daily maintenance on its first request, including sites added to the network later. Uninstalling honours each site’s own “delete all data” setting.
Feedback may contain a display name, an optional private email address, technical browser data, replies and screenshots. Optional email addresses are encrypted at rest, using a dedicated encryption key generated on activation, and are never exposed to other reviewers.
Feedback is retained indefinitely by default; there is no automatic expiry, and older feedback must be removed manually from the Vifee admin screen. Review sessions expire automatically after 30 days.
Go to Vifee Settings to opt in to deleting all Vifee feedback, attachments and reviewer data when the plugin is uninstalled. This is disabled by default, so uninstalling the plugin normally leaves your feedback data in place.
This plugin supports the WordPress Tools Export/Erase Personal Data screens. They find guest reviewers by the email they left and signed-in authors by their WordPress account, and cover the profile, submitted feedback, replies and attachments. Erasure replaces the person’s text with a removal notice, clears browser details, deletes their screenshots and ends their review sessions.
Screenshots are stored under random file names in a private uploads subdirectory protected by .htaccess / web.config. On servers that ignore those files (nginx) the random names keep them unguessable; to keep them out of the web root entirely, define VIFEE_PRIVATE_DIR in wp-config.php with a directory outside it.
Bundled library
The review widget bundles html2canvas (MIT licence, GPL-compatible: https://github.com/niklasvh/html2canvas) to render the on-page screenshot capture entirely in the reviewer’s browser. No image processing happens server-side and no third-party service is involved.