Skip to content

Permissions

HarborClient uses a trusted-extension model similar to VS Code or Obsidian. Permissions are shown at install time and enforced in the main process on every privileged hc.* call.

PermissionGrants
uiAll hc.ui.register* methods, hc.themes.register, hc.ui.showToast, and hc.commands.register
storagePlugin-scoped persistent key-value storage via hc.storage
filesystem:pickOpen and save dialogs; read and write only user-selected paths
filesystem:readRead from allowlisted paths (plugin directory plus granted paths)
filesystem:writeWrite to allowlisted paths
httpHook into or send HTTP from main via hc.http
ipcRegister custom IPC handlers via hc.ipc.handle

Filesystem access never uses raw Node fs in plugin code. Use hc.fs.* helpers only; the host checks permissions and path allowlists on each call.

Declare required permissions in Manifest under permissions.