Last updated: September 15, 2026
HTML to Figma Helper respects your privacy and is committed to protecting your data. This policy explains exactly what the extension does with your information, and why it needs each permission it requests.
This extension does not collect, store, or transmit any personal data.
There is no account system, no analytics, no telemetry, no advertising and no tracking of any kind. The extension has no server of its own, and nothing you export is ever sent to us.
All processing is performed locally within your browser. The extension only accesses webpage content when you explicitly trigger the export function.
The extension saves two small preference values locally using chrome.storage.local, so that the popup reopens with the settings you last used:
desktop-1440);These values contain no personal data, no page content and no browsing history. They are stored only on your device, are never synced to your Google account and are never transmitted anywhere. They are deleted when you remove the extension or clear the extension's data.
The extension does not store the webpages you export, the exported files, your history or your bookmarks.
The extension requests the following permissions. Each one is required for the core export functionality described next to it.
| Permission | Why the extension needs it |
|---|---|
activeTab |
Grants access to the page you are currently viewing, and only after you click an export button in the extension. It is the mechanism by which an export is initiated by you rather than by the extension on its own. |
scripting |
Injects the exporter into the current tab so it can read the page's structure, styles and referenced assets, and produce the export file. The injection happens only in the tab you are exporting. |
debugger |
Temporarily emulates the viewport size and user agent you selected (desktop, tablet or mobile), so the export matches the target device. The debugger session is attached only while a capture is running, only to the tab being captured, and is detached as soon as the capture ends. Your page's original scroll position, viewport and video playback state are restored afterwards. No session data is read, recorded or transmitted. |
alarms |
Keeps the extension's background service worker from being terminated during a long capture. Chrome shuts an idle service worker down after roughly 30 seconds, while capturing a long or complex page can take up to about 5 minutes. A repeating tick is scheduled only while a capture is in progress and is cleared when it finishes; no alarm is ever scheduled when you are not exporting. |
storage |
Saves your last export settings locally on your device, as described in section 2. |
declarativeNetRequest |
Lets the exporter read images, fonts and stylesheets that are hosted on the page's own CDNs, so that they can be included in the export file. These requests are made from the extension context and are therefore subject to CORS, so they fail when a CDN does not send permissive CORS headers. While a capture is running, the extension adds a single session-scoped rule that sets Access-Control-Allow-Origin on those resource responses, and removes the rule the moment the capture finishes. Session rules are used instead of the blocking webRequest API because they are declarative and non-blocking: they never block, redirect or alter your ordinary browsing traffic, and no rule is active outside of a capture. |
| Host permissions ( https://*/*, http://*/*) |
Allow the exporter to read the content and assets of the page being exported, regardless of the site you are on. Reading happens only in the tab you explicitly export. |
These permissions are used solely for the core functionality of the extension.
The extension does not send data to any server operated by the developer, and there are no analytics or error-reporting endpoints.
During a capture, the extension may fetch resources that the page being exported already references (for example images, fonts, video files and stylesheets), so that they can be embedded in the export file. Those requests go only to the same third-party origins the page itself already loads from, with the same scope your browser would use when loading the page — the extension simply re-reads assets you are already viewing. The content of those requests is never stored or sent anywhere else.
The serializer used for Figma export is Figma's official capture.js. It is bundled inside the extension at build time and is injected locally; the extension never downloads it at runtime.
All actions are initiated by you. The extension does no work unless you click an export button, and it never captures pages on its own.
While an export is running, the extension temporarily performs the limited background and page-level operations described in sections 3 and 4 (keeping the background worker alive, emulating the selected viewport, and reading the page's own assets). All of these end and are reversed automatically when the export finishes.
You can stop any export by closing the tab or the popup. You can revoke every permission at any time from chrome://extensions, and you can clear the locally stored settings from your browser's extension data settings.
No data is shared with, sold to, or transferred to any third party. No data is transmitted to external servers.
The exported .mopack (or .html) file is written directly to your device by the page itself. It is never uploaded anywhere by the extension; what you do with that file is entirely up to you.
The only data the extension keeps is the local preference described in section 2, and it is retained until you clear it or uninstall the extension. Because no data is sent to us, there is nothing for us to retain or delete on any server.
This Privacy Policy may be updated from time to time. Any changes will be posted on this page, together with an updated revision date at the top.
If you have any questions, please contact: simreamtoo@gmail.com