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.
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
| Location | What it contains |
|---|---|
| Extension local storage | Commands 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 & memory | Observed 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 IndexedDB | The halo-update-sets database contains update sets, operations, snapshots, mappings, replay and rollback plans, logs, notes, and instance state. |
| Halo site storage | HaloUtils 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 & clipboard | Exports 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.
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.
| Permission | Purpose |
|---|---|
storage | Store extension settings and working state. |
scripting & host access | Register and run the page tools on the Halo hosts you configure. Optional server access allows sync requests. |
webRequest | Observe 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 & windows | Identify the current page, open or duplicate tabs, navigate between instances, and provide the panel or popup workflow. |
sidePanel & commands | Show the Chromium side panel and support keyboard shortcuts. Firefox uses a sidebar in its browser-specific build. |
notifications | Display 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.