description: PiecesOS is a local-first workflow memory engine that automatically captures, structures, and resurfaces the context of your work across your entire toolchain.
reasoning: We’re building an agentic search engine for desktops to search memories that are formed on behalf of the user. We need this permission for read-only access to Chrome’s history SQLite databases to index and resurface user browser history. Under strict confinement, the home interface does not permit access to hidden directories (e.g., ~/.config/). Without this, the app encounters sqlite 14 (Permission denied) errors.
browser-history-chromium:
request-type: manual-connection
reasoning: Same as above for Chromium.
browser-history-brave:
request-type: manual-connection
reasoning: Same as above for Brave.
browser-history-edge:
request-type: manual-connection
reasoning: Same as above for Microsoft Edge.
browser-history-firefox:
request-type: manual-connection
reasoning: Same as above for Firefox, which stores its profile under ~/.mozilla/firefox.
Additional notes:
Privacy: All access is read-only. Pieces is private by design, performing all indexing and retrieval locally on-device.
Consent: We are requesting connection (manual), not auto-connection. This ensures users must explicitly opt-in via our doctor utility or the command line to grant these permissions.
Urgency: This request is associated with Revision 114, which addresses critical logging and performance issues for our enterprise users.
Requesting approval for versions 12.3.9 and 12.3.10. Thank you for your review.
The request seems reasonable given the snap’s functionality and the fact that it concerns a manual-connection. However, because the personal-files interface is considered super-privileged, a key requirement for granting it is the Snap Publisher Vetting process.
Could you please specify if the upstream repository is public? (#askForInfo) If it is not, there is a slightly different process for vetting (see Verified Accounts).
Our upstream source is proprietary and not publicly available, so we understand that vetting needs to proceed via the Verified Accounts process. We’ve submitted that request here:
Happy to provide any additional information needed in the meantime.
We are all set on the vetting front and would love to move forward with the review for these optional, read-only personal-files interfaces for pieces-os.
Could you clarify if you need access to the entire ~/.config directory for the browser, or just their history files? (#askForInfo)
While the interface is named browser-history-*, the current request asks for access to all files within the browser’s config directory.
If you only require the history, please update the file paths to restrict access to those specific files. Otherwise, the interface should be renamed to accurately reflect that users are granting access to the entire config directory for that browser.
Also, Firefox installed as a snap do not have their profiles on ~/.mozilla/firefox.
Hi @shishirsub10, thanks for the review and for the clear guidance!
We’ve addressed both points in a new build (revision 116, version 12.5.0), now in the review queue:
Interface naming vs. scope. We do intend to read from the broader browser config directory (not just the history files) — both for resolving history across per-profile subdirectories today and for additional context we plan to surface over time. Rather than under-scope the request, we’ve taken your second suggestion and renamed the interfaces so they accurately reflect that users are granting read access to each browser’s full config directory:
browser-history-firefox → dot-mozilla-firefox → reads $HOME/.mozilla/firefox and $HOME/snap/firefox/common/.mozilla/firefox
Firefox snap profile location. Good catch — thank you. The dot-mozilla-firefox plug now also includes $HOME/snap/firefox/common/.mozilla/firefox to cover Firefox installed as a snap, in addition to the traditional $HOME/.mozilla/firefox path.
As before, all access is read-only and requested as manual-connection (users explicitly opt in via our doctor utility or the command line). Could you take a look at revision 116 when you have a chance?