Onboard new users. Hear from the ones who leave.
Two hosted pages, one tiny SDK — both independently optional. Install: welcome screen, "where did you hear about us?" microsurvey, optional setup steps. Uninstall: reason chips, free-form text, optional email opt-in. No permission warnings. No trackers. Hashed IPs only.
Three lines of code. Two hosted pages. Zero permission warnings.
From signup to first feedback row in under ten minutes.
Sign up
Email-based identifier; we generate a strong password and a one-time recovery code. We never send email.
Register your extension
Paste your Chrome Web Store ID. Configure copy, color, reason chips, and optional microsurvey from the dashboard.
Drop in the SDK
One ES module. Both pages are independently optional:
import { ExtensionFeedback }
from "./ef-sdk.js";
ExtensionFeedback.init({
apiKey: "ef_live_…",
install: true, // default false
uninstall: true, // default true
});
What we do, what we refuse to do.
We do
- Open hosted install & uninstall pages on your domain.
- Capture reason chips, free-form text, optional email opt-in.
- Let you export everything as CSV. Your data is yours.
- HMAC-hash the IP with a server-side secret. Cannot be reversed.
- Auto-NULL free-form text and email at 90 days.
- Show a one-click opt out link in every feedback page.
- Open-source the SDK (MIT). Audit it once and you're done.
We don't
- Ship third-party analytics (no GA, Plausible, Segment, Mixpanel).
- Run remote code from the SDK.
- Fingerprint or set cross-site tracking cookies.
- Sell, share, or license submission data.
- Send email — recovery is a code you save at signup.
- Trigger permission warnings.
storageis the only requirement — a silent permission, no install prompt.
Open source. Single file. Zero dependencies.
Drop it in your extension folder, import it relatively, and you're done. No bundler, no npm install, nothing to evaluate at runtime.
Quick answers to common questions.
Does my extension need new permissions?
Only "storage", which most extensions already have. It's one of Chrome's silent permissions: users see no warning at install, and adding it in an update won't disable your extension pending re-approval. Everything else the SDK touches — chrome.runtime.setUninstallURL() and chrome.runtime.onInstalled — is permission-free.
Will the Chrome Web Store flag this?
An uninstall URL is an explicitly supported Chrome feature. You're not collecting anything you weren't entitled to. A short note in your privacy policy is good practice.
What does it cost?
Free during alpha. When pricing lands there will be a free tier and a paid tier; existing accounts get at least 30 days' notice and grace.
Where do I get the SDK?
Three options. Direct download from /sdk/ef-sdk.js; the public source at GitHub; or read it inline at /docs/sdk before downloading.
Can users opt out forever?
Yes — one click on /opt-out. We then drop every submission from that browser, for every extension on the platform, forever.