I run TechFuel HQ at techfuelhq.com from St. Louis County, Missouri. This policy explains how I handle visitor information. The publisher is Lowell K. Wood IV.

Actions and their destinations

Choose the action that fits what you want to keep or share. A local save, a downloaded file, and a copied link are separate copies with separate clearing steps.

Save a project

Data and destination: the project, including notes and compatibility records, is saved in this browser profile on this device. It does not create a TechFuel HQ account or a synced backup.

Keep or clear: saved projects have no automatic expiry. Remove a project in Hardware Projects or clear this site's browser data. Browser cleanup can also remove the copy.

Download full JSON

Data and destination: the supported project fields, including private notes, evidence and compatibility records, go into a file handled by your browser's downloads. Current unsaved form edits can be included.

Keep or clear: review the file before sending it. Removing the browser project does not delete the download, its backups, or a recipient's copy.

Copy a limited snapshot

Data and destination: a link goes to your clipboard. It retains the title, type, products, supported tool inputs, dates and source ID. Private-note fields and the compatibility checklist are omitted; a title or device name can still identify you.

Keep or clear: review before pasting. The link does not expire automatically or update when you edit the original. Deleting the original cannot revoke copied links.

Copy a diagnostic summary

Data and destination: readable text containing the title, dates and completed diagnostic fields goes to your clipboard. It can contain current unsaved notes and is separate from the full JSON backup.

Keep or clear: check for names, addresses, hostnames and log excerpts before pasting. Local Delete does not remove a pasted message, document, or clipboard-history copy.

Open a connected tool link

Data and destination: the link can carry supported calculator inputs and a local project ID in its query string. Opening it sends the requested URL to the hosting services; anyone holding the link can read those inputs.

Keep or clear: the ID alone does not transfer your saved project. Removing it locally does not erase a copied URL, browser history, or a hosting log.

Data and destination: your browser searches the published index and puts the term and filters in the address bar. Search-event calls can include the term, result count and selected result for Google Analytics. Reloading a search URL also sends its query to hosting.

Keep or clear: Clear removes the current search and filters. It leaves unrelated URL parameters and does not erase earlier history entries, copied links, or events already queued or sent.

Submit the newsletter form

Data and destination: the form sends the entered email address to Buttondown. A separate analytics attempt event omits the email address; submitting does not prove a subscription was confirmed.

Keep or clear: unsubscribe to stop future newsletters. Deletion is a separate request; clearing this site's browser data does not remove Buttondown's subscriber record. See the newsletter section below.

Follow an external link

Data and destination: the destination receives the requested URL, including any product or affiliate parameters. Retailer and data-hub links also construct measurement events with their destination URL and link context.

Keep or clear: closing the tab or clearing local data does not withdraw a request already received by a provider. The destination's own privacy and deletion processes apply.

Event construction, a call waiting in the browser’s analytics queue, a network request, and a provider retaining that request are different stages. A queued event alone does not establish delivery or a provider’s retention period.

Information collected automatically

When your browser requests a page, the site’s hosting and delivery services receive technical request information, including your IP address, browser information and the requested URL. A shared calculator link can contain settings in its query string. Those settings reach the hosting infrastructure when someone opens the link, even though the calculation itself runs in the browser. Anyone holding the link can also read its settings.

Google Analytics 4 and Cloudflare Web Analytics separately measure site usage. Their browser measurement is described below. The hosted standalone self-hosting calculator uses Cloudflare Web Analytics without the shared Google Analytics tag.

Information you provide

If you contact us by email, we receive the information you choose to include — typically a name, email address, and message body. This information is used only to respond to your message.

Newsletter

The newsletter form sends your email address to Buttondown (Buttondown, LLC), the service used to manage and deliver this newsletter. I use the address for the newsletter and do not sell it or share it for advertising. Buttondown describes its handling of subscriber data in its privacy policy.

Use the unsubscribe link in a newsletter to stop future delivery. Unsubscribing is separate from deleting subscriber data. Buttondown’s default deletion process keeps a hidden record to prevent unwanted resubscription; permanent deletion is a separate operation described in its deletion and recovery documentation. You can request deletion by emailing the contact address below.

When analytics is enabled, submitting the newsletter form can also send Google Analytics a submit-attempt event with the form’s placement and page type. This event omits your email address and other input values. A submission is an attempt. It does not confirm a subscription or email delivery.

Cookies and similar technologies

Google Analytics 4 and Cloudflare Web Analytics measure usage, and Google AdSense serves display advertising (since September 30, 2026). The Grow entry below retains the history of a removed audience-engagement script.

The site uses cookies and similar technologies for analytics and advertising. Specifically:

  • Google Analytics may set cookies to measure site usage in aggregate
  • Cloudflare Web Analytics measures visits and page performance through a browser beacon. This is separate from Cloudflare receiving requests as the site’s content delivery network.
  • Google AdSense serves display ads on this site. Third-party vendors, including Google, use cookies to serve ads based on a visitor’s prior visits to this website or other websites. Google’s use of advertising cookies enables it and its partners to serve ads to visitors based on their visit to this site and other sites on the internet. You may opt out of personalized advertising at Google’s Ads Settings, and opt out of some third-party vendors’ cookies at www.aboutads.info/choices. How Google uses information from sites that use its services is described at policies.google.com/technologies/partner-sites. Other third-party vendors and ad networks may also serve ads on this site and use cookies to do so; Google’s list of the ad technology partners it works with is at support.google.com/adsense/answer/9012903, and many of them offer an opt-out through www.aboutads.info/choices. The tag was first added in 2026, removed on August 17, 2026 while the site was not approved, and restored on September 30, 2026.
  • Grow by Mediavine — removed 2026-08-17 and no longer present on any page. Its script (faves.grow.me) previously loaded on every page and could set cookies or browser storage to recognize returning visitors. It no longer loads and sets nothing.

You can control cookie behavior through your browser settings and use the opt-out links above. For visitors in the EEA, the UK and Switzerland, the site initially asks Google to deny analytics storage, advertising storage, advertising user data and ad personalization. These initial consent signals do not mean that no network requests occur, and they do not clear the separate local retailer-event queue described below.

Hardware Projects and the Diagnostic Workbench save records in this browser profile. A new dashboard project starts unsaved. Create project saves immediately inside a connected calculator. Import PC Builder saves also writes new copies immediately; the original builds remain.

Snapshots and full-file imports open an unsaved preview. Choose Save as a new project to keep it.

Full file or limited snapshot

Full JSON includes the supported project fields. That covers the title and type, products and tool inputs, the use case and constraints, diagnostic text and evidence, dates and compatibility records. The Diagnostic Workbench’s plain-text summary is a separate export containing the title, dates and completed diagnostic fields. Use the full file for backup.

A limited snapshot keeps the title, type, products and supported tool inputs, along with the dates, source ID and revision. It omits use case, constraints, diagnostic text, evidence, the compatibility checklist and the old PC Builder reference.

Review the title and device names. A private name entered as the title or a Power Cost device name survives in the limited snapshot, even though the designated private-note fields are omitted. Current form edits can enter a download, summary or snapshot before you save them locally.

Opening a copy

Creating the link keeps the source ID. Opening it creates a fresh ID and revision 0 for the unsaved preview, with the original dates retained. Full-file import also creates a fresh ID, preserves supported private fields and compatibility records, and drops the old PC Builder reference.

What the URL carries

A snapshot uses the part of a URL after #. That fragment is not sent in the initial page request, but recipients and scripts running on the page can read it. Encoding does not encrypt the link.

A connected tool link uses a ? query for its inputs and local project ID. Opening that URL sends the parameters to hosting; simply updating the address bar does not make a page request. The ID alone looks up a record already in this browser. It does not transfer private notes.

Removing a local project

Saved records do not expire automatically. Delete removes the selected local copy; clearing site data can remove all the site’s saved copies.

Neither action recalls downloaded files, clipboard copies, shared links, or records someone else saved. Scripts running on this page can access its saved browser data. Keep a private backup if losing the browser record would matter.

Compare a full file with a shared snapshot

Synthetic example: every product, note, source URL and compatibility status is fictional. These expandable examples show the JSON produced by Hardware Projects. A share link encodes the limited JSON in its #project= fragment.

Full JSON file: includes the private fields
{
  "version": 2,
  "revision": 1,
  "id": "p-00000000-0000-4000-8000-000000000001",
  "title": "Fictional home server plan",
  "kind": "nas",
  "use_case": "PRIVATE EXAMPLE: family backup plan",
  "constraints": "PRIVATE EXAMPLE: spending limit and location",
  "products": [
    {
      "id": "example-cpu",
      "category": "cpu",
      "label": "Fictional CPU reference"
    },
    {
      "id": "example-drive",
      "category": "storage",
      "label": "Fictional drive reference"
    }
  ],
  "tools": {
    "pc-builder": "cpu=example-cpu&storage=example-drive",
    "nas-storage-calculator": "d=4&c=8&u=TB&r=raid5&nas_price=880",
    "power-cost-calculator": "rate=0.15&cloud=12&n=Fictional%2520server%3A0%3A20%3A65%3A8"
  },
  "diagnostic": {
    "symptom": "PRIVATE EXAMPLE: symptom",
    "hardware": "PRIVATE EXAMPLE: hardware",
    "display_path": "PRIVATE EXAMPLE: display_path",
    "trigger": "PRIVATE EXAMPLE: trigger",
    "recent_change": "PRIVATE EXAMPLE: recent_change",
    "observations": "PRIVATE EXAMPLE: observations",
    "tests": "PRIVATE EXAMPLE: tests",
    "outcome": "PRIVATE EXAMPLE: outcome"
  },
  "evidence": [
    {
      "label": "PRIVATE EXAMPLE: receipt",
      "url": "https://example.invalid/private-receipt",
      "checked_at": "2026-10-23"
    }
  ],
  "created_at": "2026-10-23T12:00:00.000Z",
  "updated_at": "2026-10-23T12:00:00.000Z",
  "compatibility": [
    {
      "id": "dimensions",
      "status": "confirmed",
      "source_url": "https://example.invalid/manual/dimensions",
      "private_note": "PRIVATE EXAMPLE: fictional dimensions note",
      "checked_parts": "[[\"cpu\",\"example-cpu\"],[\"motherboard\",\"\"],[\"ram\",\"\"],[\"gpu\",\"\"],[\"storage\",\"example-drive\"],[\"psu\",\"\"],[\"case\",\"\"],[\"build\",\"\"]]"
    },
    {
      "id": "connectors",
      "status": "confirmed",
      "source_url": "https://example.invalid/manual/connectors",
      "private_note": "PRIVATE EXAMPLE: fictional connectors note",
      "checked_parts": "[[\"cpu\",\"example-cpu\"],[\"motherboard\",\"\"],[\"ram\",\"\"],[\"gpu\",\"\"],[\"storage\",\"example-drive\"],[\"psu\",\"\"],[\"case\",\"\"],[\"build\",\"\"]]"
    },
    {
      "id": "bios",
      "status": "confirmed",
      "source_url": "https://example.invalid/manual/bios",
      "private_note": "PRIVATE EXAMPLE: fictional bios note",
      "checked_parts": "[[\"cpu\",\"example-cpu\"],[\"motherboard\",\"\"],[\"ram\",\"\"],[\"gpu\",\"\"],[\"storage\",\"example-drive\"],[\"psu\",\"\"],[\"case\",\"\"],[\"build\",\"\"]]"
    },
    {
      "id": "memory",
      "status": "confirmed",
      "source_url": "https://example.invalid/manual/memory",
      "private_note": "PRIVATE EXAMPLE: fictional memory note",
      "checked_parts": "[[\"cpu\",\"example-cpu\"],[\"motherboard\",\"\"],[\"ram\",\"\"],[\"gpu\",\"\"],[\"storage\",\"example-drive\"],[\"psu\",\"\"],[\"case\",\"\"],[\"build\",\"\"]]"
    },
    {
      "id": "lanes",
      "status": "confirmed",
      "source_url": "https://example.invalid/manual/lanes",
      "private_note": "PRIVATE EXAMPLE: fictional lanes note",
      "checked_parts": "[[\"cpu\",\"example-cpu\"],[\"motherboard\",\"\"],[\"ram\",\"\"],[\"gpu\",\"\"],[\"storage\",\"example-drive\"],[\"psu\",\"\"],[\"case\",\"\"],[\"build\",\"\"]]"
    }
  ],
  "legacy_id": "example-old-saved-build"
}
Limited share payload: inspect what the link retains
{"version":2,"revision":1,"id":"p-00000000-0000-4000-8000-000000000001","title":"Fictional home server plan","kind":"nas","use_case":"","constraints":"","products":[{"id":"example-cpu","category":"cpu","label":"Fictional CPU reference"},{"id":"example-drive","category":"storage","label":"Fictional drive reference"}],"tools":{"pc-builder":"cpu=example-cpu&storage=example-drive","nas-storage-calculator":"d=4&c=8&u=TB&r=raid5&nas_price=880","power-cost-calculator":"rate=0.15&cloud=12&n=Fictional%2520server%3A0%3A20%3A65%3A8"},"diagnostic":{},"evidence":[],"created_at":"2026-10-23T12:00:00.000Z","updated_at":"2026-10-23T12:00:00.000Z"}
Counterexample: sensitive text in a title or device name survives

The fictional title is SENSITIVE EXAMPLE: title <do not share>. The Power Cost device name is SENSITIVE EXAMPLE: private device name. Both remain in this shared payload; excluding the private-note fields does not remove them.

{"version":2,"revision":1,"id":"p-00000000-0000-4000-8000-000000000001","title":"SENSITIVE EXAMPLE: title <do not share>","kind":"nas","use_case":"","constraints":"","products":[{"id":"example-cpu","category":"cpu","label":"Fictional CPU reference"},{"id":"example-drive","category":"storage","label":"Fictional drive reference"}],"tools":{"pc-builder":"cpu=example-cpu&storage=example-drive","nas-storage-calculator":"d=4&c=8&u=TB&r=raid5&nas_price=880","power-cost-calculator":"rate=0.15&cloud=12&n=SENSITIVE%2520EXAMPLE%253A%2520private%2520device%2520name%3A0%3A20%3A65%3A8"},"diagnostic":{},"evidence":[],"created_at":"2026-10-23T12:00:00.000Z","updated_at":"2026-10-23T12:00:00.000Z"}
When does the project get a new ID?

Creating the link retains the source ID and revision. Opening it creates a new, unsaved preview with revision 0. Importing the full file also creates a new ID. The example uses fixed fictional IDs so you can compare them.

Saved source and encoded share
p-00000000-0000-4000-8000-000000000001 · revision 1
Opened share preview
p-00000000-0000-4000-8000-000000000002 · revision 0
Imported full-file preview
p-00000000-0000-4000-8000-000000000003 · revision 0

Neither preview is stored until you choose Save as a new project. A full import keeps supported private fields and compatibility records, but drops the old saved-build reference.

Analytics and tool interactions

Saved PC builds

If you choose Save build in the PC Builder, your browser stores the build’s name and selected parts on that device. This does not create an account or sync the saved list between devices. You can delete a saved build in the tool or remove the site’s data through your browser settings. Browser cleanup or private-browsing settings can remove saved builds.

Saving the list does not upload it to a TechFuel HQ account. Restoring a build updates the settings in your address bar; opening or sharing that URL has the effects described above under Information collected automatically. Successful save, restore and share actions, and completed builds, can generate Google Analytics events. Those events omit build names, selected part IDs and the saved list; retailer-click measurement is separate, as described below.

Visit and interaction measurement

Google Analytics 4 measures site visits. The site filters calculator settings, search queries and URL fragments from the page-location and page-referrer values it supplies to Google Analytics, while retaining standard campaign tags. This filtering leaves your address bar and copied link intact. It does not remove an intentionally recorded search term, a full destination URL in a link event, or text included in a campaign parameter.

Tool-interaction events identify the tool and control used, including whether the interaction was a click or a change. They omit the control’s input value. Retailer-link measurement covers displayed components and clicks, recording the retailer and placement alongside product IDs, destination URLs and link text. A PC Builder retailer link can therefore identify a selected product. Opening it also sends the destination URL and affiliate attribution to the retailer or affiliate network.

Retailer components receive temporary identifiers within the current page so analytics can associate a visible component with its first click. These identifiers do not identify a person or connect separate visits. Events waiting for the analytics library may be stored locally and retried with the original identifier. An event older than 30 minutes is no longer eligible for retry, but that age check does not guarantee its stored bytes have been deleted. Clear the queue through browser site-data controls. This cannot delete events already received elsewhere.

Visit and engagement counters use browser session storage. They can survive a reload or restored tab. Known automation and engagement signals help interpret events; they do not establish that a visitor is a person.

Site search separately constructs events containing the search term, result counts, searches with no results and selected result links. Removing the query from analytics page URLs does not remove those intentional event fields. The search interface does not save a separate search-history list in local storage; its address-bar history and any queued events are separate.

Clear resets the current term and filters. Unrelated URL parameters and the fragment remain. Earlier history entries and copied URLs can still contain the search.

Data-hub link events include the dataset, action, destination type, full destination URL and link text. Ordinary external links still request their destination even when they have no dedicated site event. The browser may also send referrer information under its applicable policy; referrer filtering does not remove the destination URL’s own parameters. Local controls do not request remote deletion. Use the relevant provider’s privacy or deletion process for its copy.

Cloudflare Web Analytics measures visits and page performance. Cloudflare says this service does not log query strings. That statement concerns Web Analytics; the site’s CDN still receives the requested query string when serving a shared link.

Browser security reports

Cloudflare Client-Side Security uses sampled browser reports to identify scripts loaded by a page and outbound connections. These report-only checks help detect unexpected resources without blocking them. The service can also detect cookie names and attributes in HTTP traffic. Our connection-target setting is Log host only, which limits that connection analysis to the destination hostname. This setting does not strip all URLs from security reports: page and script context may still be included, and Cloudflare already receives requested site URLs as the content delivery network.

Third-party services

The site is hosted on GitHub Pages (whose origin is served through the Fastly edge network) and delivered through the Cloudflare content delivery network (which proxies and caches the site at the edge). Email sent to this site’s contact address is handled by Namecheap Private Email. These services may collect technical information as described in their respective privacy policies:

Children’s privacy

TechFuel HQ is not directed at children under 13 and does not knowingly collect information from children under 13.

Your rights

Depending on your jurisdiction (including the EU/UK under GDPR and California under CCPA), you may have the right to access the personal data we hold about you, request correction or deletion, restrict or object to certain processing, and opt out of personalized advertising. To exercise any of these rights, email contact@techfuelhq.com.

International transfers

If you visit from outside the United States, note that information collected through the site may be transferred to and processed in the United States.

Changes to this policy

This policy may be updated as the site evolves. The “Last updated” date at the top reflects the most recent revision. Continued use of the site after changes are posted constitutes acceptance of the updated policy.

Contact

Privacy questions go to contact@techfuelhq.com.

Publisher: Lowell K. Wood IV Location: St. Louis County, Missouri, United States

Sources and corrections

Last updated
Methodology
See our methodology for research and review standards.
Update log

9 dated updates are retained in the full log.

Read the full update log (9 entries)
  • 2026-10-23 — Added action-by-action destinations and clearing limits, actual full-file and limited-snapshot examples, and retained-title/input warnings. Corrected newsletter unsubscribe versus deletion and narrowed the consent description to the configured initial signals.
  • 2026-10-03 — Described newsletter submit-attempt measurement and temporary identifiers used to count retailer components and their first clicks within a page.
  • 2026-10-03 — Added PC Builder’s optional browser-local saved builds and its completion, save, restore and share measurements.
  • 2026-10-03 — Added a disclosure for Cloudflare’s sampled browser security reports and the connection-target hostname setting. Corrected the email provider to Namecheap Private Email after checking the live domain’s MX records; the previous Cloudflare Email Routing statement was incorrect.
  • 2026-09-30 — Google AdSense approved the site on September 30, 2026, and its account tag and ad loader returned to the site’s pages the same day. This policy again names AdSense as a live advertising service: what its cookies do, the opt-out paths, and how consent is handled for visitors in the EEA, the UK and Switzerland. The August 17 removal entry below stays as history.
  • 2026-09-08 — The August 17 entry incorrectly described Google Analytics 4 as the only measurement script. Cloudflare Web Analytics also runs on the site. This policy now names that service, distinguishes hosting requests from browser analytics, and describes settings in shared links, retailer product fields and site-search terms. Google Analytics page URLs and referrers now exclude calculator parameters while retaining campaign tags.
  • 2026-08-14 — This policy did not disclose a tracker that was running on it. Grow by Mediavine (faves.grow.me/main.js) loads on every page of the site, including this one, and appeared in neither the cookie list nor the third-party services list. Both were corrected: Grow is now named in the cookies section as an audience-engagement layer that may set cookies or browser storage to recognize returning visitors across sessions, and the Mediavine Legal and Privacy Center is now linked under third-party services. The script is active regardless of whether display advertising is being served, so the omission understated what was collected.
  • 2026-08-17 — Two trackers named in this policy no longer run. Google AdSense and Grow by Mediavine both declined the site, so their page tags were removed from every page on 2026-08-17 and neither script loads any more. The cookie list and third-party services list have been corrected to say so rather than continuing to disclose collection that is not happening. Google Analytics 4 is unchanged and is now the only third-party measurement script on the site.
  • 2026-08-15 — Correction history is now shown on this page. The 2026-08-14 disclosure fix above had been made in the page text but was not visible as a change to anyone who had already read the policy, because this page’s layout rendered no update log.
Corrections
Spotted an error? Email a correction with the affected line and what you found. The draft includes this page’s address. Verified changes are recorded here. Contact details.