YOUR TOOLS. YOUR DATA. THE DETAILS.

Useful by design.
Clear about your data.

HaloUtils works with your Halo session and stores its settings and update sets in your browser. Here is what that means, including what changes when you enable sync.

Last updated: 8 September 2026Extension reviewed: v0.17.4

THE SHORT VERSION

No built-in advertising, analytics, or developer telemetry. Local features do not require a HaloUtils account. The extension communicates with the Halo instances you configure. Sync is off by default.

If you enable sync, full update-set bundles can be sent automatically to your chosen server. These bundles may contain personal information and confidential configuration data. Everyone with a valid sync account on that server can receive the shared update sets.

01. Data the extension uses

Navigation, inspection, and appearance

HaloUtils reads the current Halo page URL, route, title, form labels, field metadata, and relevant page state to provide slash commands, ticket navigation, field API names, element GUIDs, record links, and instance styling. The JSON inspector and advanced record view fetch record data directly from your Halo instance. Record data may include ticket details, user or agent information, custom fields, and other information your Halo account can access.

Impersonation helpers search for agents or users and make requests to Halo’s impersonation API when you use them. They use your existing Halo permissions and keep state to identify the active impersonation and return to the original interface. The extension may read Halo’s existing access token and cached custom-table metadata from the Halo site’s local storage for these helpers.

Your Halo session

On configured Halo hosts, HaloUtils observes authorization headers on Halo API requests and temporarily caches the bearer token. It reuses that token to authenticate its own requests, including agent lookups, configuration change capture, replay, and rollback. This observation can happen while the extension is active on a configured host, even when no update set is recording. You do not enter your Halo password into HaloUtils.

Configuration changes and update sets

During recording, the extension reads Halo’s native /api/ConfigCommit change log and selects commits matching the recording agent and recording time windows. It stores update-set names and descriptions, agent identifiers and names, timestamps, tenant origins, record identifiers, endpoint paths, captured operations, configuration payloads, and available rollback data. Pinned page metadata, notes, execution logs, and target snapshots may also be stored.

Captured payloads are not guaranteed to be free of personal information or secrets. Halo may mask or encrypt some values in its change log, but raw commits and API snapshots can still contain sensitive content. HaloUtils does not promise comprehensive redaction or additional encryption of those records.

02. Where data is stored

LocationWhat it contains
Extension local storageCommands and aliases, instance hosts and appearance, preferences, palette position, active update-set ID, deletion markers, script registration metadata, and sync settings. The configured sync username and personal access token (PAT) are stored here; the PAT is not encrypted separately by HaloUtils.
Extension session storage & memoryObserved Halo API bearer tokens, page context, and capture diagnostics. These are transient rather than part of the persistent update-set database. Browser session storage is normally cleared when the browser session ends or the extension is reloaded.
Browser IndexedDBThe halo-update-sets database contains update sets, operations, snapshots, mappings, replay and rollback plans, logs, notes, and instance state.
Halo site storageHaloUtils stores some navigation preferences, return-navigation state, pending impersonation commands, and impersonation state in the Halo origin’s local or session storage. Local state may survive a browser restart.
Files & clipboardExports you save contain update-set data or command and instance configuration. Copy actions place the selected field value, identifier, or record JSON on your system clipboard. Files and clipboard contents are then subject to your device’s controls.

The extension does not use browser account sync (chrome.storage.sync) for its settings. Browser profiles, device backups, and your operating system may retain copies independently of HaloUtils.

03. Where data is sent

Your configured Halo instances

API requests go directly from your browser to the relevant Halo instance using your session and existing permissions. Capture reads source configuration history. Dry runs and lookups read target data; replay and rollback can write configuration changes to the selected tenant. The optional sync server does not execute these Halo API operations for you.

Your optional sync server

Sync is disabled by default. If configured and enabled, a manual sync or supported local update can trigger a transfer. Sync sends all locally held update sets in a full export bundle, rather than only the update set currently selected. The bundle includes operations, snapshots, replay and rollback plans, logs, notes, and metadata. The server returns its merged shared bundle to authenticated clients.

The extension sends your sync username and PAT to your configured server using HTTP Basic authentication. Saving or changing configured credentials may also contact the server’s /api/stats endpoint to verify them. The supplied server stores PAT hashes, shared update-set content, setup/invite records, and audit events such as actor names, timestamps, tenant origins, and operation summaries in its database.

The supplied server shares data across its authenticated sync users; it does not provide private update sets per user. Its administrator can inspect update-set contents and audit history. Use a server and user group appropriate for the information you record.

Halo API bearer tokens and your sync PAT are not included as credential fields in the normal update-set export bundle. This does not guarantee that captured Halo payloads themselves contain no credentials. The sync transport is not end-to-end encrypted by HaloUtils. Use HTTPS for a remote sync server; HTTP is accepted by the extension and does not encrypt credentials or bundles in transit.

Destinations you choose

Custom commands can open external URLs, including URLs containing command arguments or the current page path. Those destinations receive the resulting browser request. Copies and exported files go wherever you save, paste, or share them. The extension has no built-in developer data collection endpoint and does not sell data or send it to advertising networks.

Your Halo provider, chosen sync operator, destination websites, browser provider, and hosting providers have their own processing arrangements. Server location, recipients, backup retention, and any international transfers depend on the services you or your organization select.

04. Why browser permissions are needed

Halo host access is optional. Saving instances requests access to the configured HTTPS hosts, including custom Halo domains. The manifest permits requesting HTTP/HTTPS hosts so different installations and optional sync servers can be configured; it does not grant access to every website on installation. Removing or replacing instance settings releases host permissions that are no longer needed by the configuration.

PermissionPurpose
storageStore extension settings and working state.
scripting & host accessRegister and run the page tools on the Halo hosts you configure. Optional server access allows sync requests.
webRequestObserve authorization headers on configured Halo API requests to reuse your signed-in session. Captured configuration changes themselves come from Halo’s change log.
activeTab, tabs & windowsIdentify the current page, open or duplicate tabs, navigate between instances, and provide the panel or popup workflow.
sidePanel & commandsShow the Chromium side panel and support keyboard shortcuts. Firefox uses a sidebar in its browser-specific build.
notificationsDisplay extension status and error notifications.

05. Retention, deletion, and your controls

Persistent extension data has no scheduled automatic expiry. It remains until you delete it or clear the relevant browser storage. You can change settings, remove configured hosts, disable sync, delete local update sets, clear extension storage, or uninstall the extension.

  • Local deletion is not server deletion. Deleting an update set locally leaves a local deletion marker to prevent that browser from downloading it again. It does not remove the server’s copy or other users’ copies.
  • Disabling sync stops future bundle syncing. It does not erase data already sent or automatically remove saved credentials. Clear the sync fields separately, and have the server administrator revoke the PAT when it is no longer needed.
  • Server deletion is administered separately. Ask your sync administrator to remove shared update sets and address audit records, user records, backups, and applicable retention requirements. Server-wide update-set deletion uses deletion markers to propagate the change to clients.
  • Removing the extension normally removes its own storage. It does not delete exported files, clipboard copies, Halo tenant records, Halo site storage, or copies on a sync server. Halo site data can be cleared separately through the browser’s site-data controls; doing so may also sign you out of Halo.
  • Changes already applied to Halo remain in Halo. Deleting an update set does not reverse a replay. Rollback is a separate operation and depends on the available rollback data.

06. This website

This website’s code uses no analytics, advertising scripts, tracking pixels, cookies, or browser storage. Fonts, styles, scripts, and images are served with the website; there are no embedded third-party widgets. The interactive preview uses fictional sample data held in page memory and does not connect to Halo or the extension.

Loading the site necessarily sends connection information, including your IP address, requested URL, and browser request headers, to the hosting infrastructure. A hosting provider or reverse proxy may keep access and security logs; their configuration and retention are separate from the static website code. Contact the privacy address below for questions about the deployed site’s hosting.

Following a Chrome Web Store or source-repository link takes you to that provider, which processes the visit under its own privacy terms. If you email us, we receive your email address, message, and any attachments and use them to handle your enquiry. Please avoid including Halo credentials or customer records.

07. Contact and your rights

For questions about HaloUtils or this website, contact Silas Rühmann at privacy@ruehmann.net.

Your organization and the operators of your Halo tenant and optional sync server determine the purposes, access rules, legal basis, and retention for their processing. The extension developer does not automatically receive your locally stored extension data or data on a separately operated sync server. Requests about those records should go to the relevant operator.

Where applicable under data protection law, you may request access, correction, deletion, restriction, or portability of personal data, object to processing, withdraw consent for processing based on consent, and complain to your competent supervisory authority. Contact us about data we hold, such as privacy correspondence, or your organization about its Halo and sync records.

This notice describes the implementation reviewed above. It will be updated when HaloUtils’ data handling changes.