Soft-factory

CHROME EXTENSION TEMPLATE

Privacy Policy

This page explains what data the Soft-factory browser extension template collects and how it is used.

Last updated: 2026-06-29

1. Who we are

Soft-factory is a software template vendor operated by an individual developer. The contact address for anything privacy-related is x7656297@gmail.com. We publish templates for SaaS, SaaS apps, browser extensions, e-commerce plugins and client apps. This policy covers the browser extension template and the marketing site at soft-factory.dev.

2. What the extension does

The extension adds a toolbar icon. When you click it, a 360-pixel-wide popup opens. The popup can read and write settings stored in chrome.storage.local, count elements on the active page via a content script, and (in the default configuration) call a single HTTP endpoint to log a short event.

The default endpoint is:

https://soft-factory-dashboard.x7656297.workers.dev/api/ingest/event

The default payload is a JSON object shaped like { project_id, event, user_id, properties } where user_id defaults to "ext_user" until you wire real authentication. You can change the URL and the key in extension/background/service-worker.ts.

3. Data we collect

If you keep the default factory-ingest wiring, the soft-factory dashboard receives:

  • Install event: project id, version, install reason.
  • Browser start event: nothing identifying beyond the project id.
  • Popup primary action event: project id, action name, timestamp.
  • Context-menu highlight event: project id, CSS selector string.

The extension does not read the content of the web pages you visit. The content script only counts elements matching a CSS selector you choose. It never sends DOM text, attributes beyond the count, or form values anywhere.

4. Data we do not collect

  • No page URLs beyond the active tab at the moment a highlight runs.
  • No page content. Ever.
  • No cookies. No localStorage from host pages.
  • No advertising identifiers. No cross-site tracking.
  • No third-party analytics inside the extension bundle.

5. Storage on your device

The extension stores settings and a rolling 20-entry history in chrome.storage.local. Nothing is uploaded except the events described in section 3. You can wipe the entire local store from the Options page (Settings, About, Clear all extension storage).

6. Permissions we request

  • storage: persist popup settings, history and the target selector.
  • activeTab: read the active tab id when the popup asks for a count.
  • scripting: call executeScript to count or outline elements on demand.
  • contextMenus: add a right-click entry that triggers the highlight on the page.
  • <all_urls> in host_permissions: required so the content script and scripting.executeScript can run on the page you choose. Tighten this to specific origins in production.

7. Third parties

The popup loads the Geist and Geist Mono fonts from Google Fonts. Google may receive your IP address as a result. If you self-host the extension you can remove the Google Fonts link in extension/popup/popup.html and extension/options/options.html and bundle the fonts locally instead.

8. Children

The extension is not directed at children under 13. We do not knowingly collect information from children.

9. Changes to this policy

We will post changes on this page and bump the date at the top. Material changes will be announced in the release notes on the Chrome Web Store listing.

10. Contact

Privacy questions: x7656297@gmail.com. We reply within 7 days.