Version 1.3 · Last revised 10 November 2026

Privacy policy

The short version: this website has no accounts, no forms, no cookies, no analytics and no ads. The ecadlib software runs on your computer and has no telemetry. It sends us nothing unless you switch on automatic crash reports, which carry no personal information and become public GitHub issues.

This policy explains how Oliver Browne, an individual based in Colorado, United States, who runs the ecadlib project ("we", "us" or "our"), handles personal information when you visit pcblivinglibrary.vercel.app (the "Site") or use the ecadlib software (the "Software"). For the Site, we are the controller of the limited data described below.

1. What the Site collects

  1. Server logs. The Site is hosted by Vercel Inc. Like any web host, Vercel's servers receive technical data when your browser requests a page: your IP address, the page requested, the time, your browser's user agent and the referring page. Vercel processes this to deliver the Site and keep it secure, and keeps it for a short period under its own policies. We do not use it to identify you and we do not combine it with other data. See Vercel's privacy policy.
  2. No cookies or tracking. The Site sets no cookies and uses no analytics, pixels, fingerprinting or advertising tools. It loads no third-party scripts or fonts.
  3. Theme setting. If you press the theme button, your choice ("light" or "dark") is saved in your browser's local storage so the Site remembers it. It stays on your device, is never sent to us, and you can clear it with your browser's site data settings.
  4. Contacting us. If you open a GitHub issue or message us on LinkedIn, we receive what you choose to send, along with your public profile on that platform. We use it only to reply and to improve the project. GitHub issues are public. Those platforms handle your data under their own privacy policies.

2. The Software

The Software runs on your own computer. It has no account and no telemetry, and we receive nothing from it unless you switch on automatic crash reports (below). When you use a feature that needs an outside service, the Software sends data directly from your computer to that service, using your own key where one is needed:

Bug reports. When the Software hits an error it did not expect, it saves the error on your computer only (the newest 20), with API keys, tokens, e-mail addresses, your user name, your computer's name, your company's name in an Altium 365 address and your home folder blanked out. ecadlib report-bug or the Report a bug button shows you that text and opens a GitHub issue filled in with it, the ecadlib version, your operating system and your Python version. Nothing leaves your computer until you choose to open that issue on GitHub: the text then travels to GitHub inside the link so GitHub can show it to you, and it becomes a public issue only when you press Submit. You can edit it first, and ecadlib report-bug --clear deletes the saved errors.

Automatic crash reports (only if you switch them on). The Software asks once, after the first bug it hits, and the setup page has a switch; they are off until you say yes. With them on, every bug the Software hits (at most 10 a day for each user account on a computer) sends our crash-report endpoint on the Site only: the error's type (such as KeyError), the lines of ecadlib's own code it went through, where in ecadlib it happened, and the ecadlib, operating system and Python versions. Never the error message, your file or part names, your keys or anything you typed; the endpoint accepts only values it knows (file and function names from the Software's own code, a command name, an error type, version numbers) and refuses anything else. It files the report as a public issue in the project's GitHub repository (one issue per distinct crash; a repeat raises its count, and a closed issue seen again on a newer release gets one comment), where anyone can read it and help fix it. Issues stay public after you switch reports off. Vercel receives your IP address with the request, as for any page of the Site (section 1). To stop floods, the endpoint counts reports per address for one hour under a one-way hash of the address, never the address itself, and then forgets it; we do not put the address in the issue or pass it on. Turn reports off with ecadlib report-bug --auto off, on the setup page, or with the environment variable ECADLIB_NO_CRASH_REPORTS=1 (or DO_NOT_TRACK=1).

Each of these services handles that data under its own terms. The full list, with how to turn each one off, is in PRIVACY.md. API keys you add are stored only on your computer and are never sent to us.

3. How we use and share information

We use the limited information above only to run and secure the Site and to answer you. We do not sell or rent personal information, we do not share it for advertising, and we do not use it to train AI models. We share it only with our hosting provider (Vercel) as needed to run the Site, or when the law requires it. Automatic crash reports hold no personal information and are published as GitHub issues so anyone can help fix the bug.

4. Legal bases (EEA and UK)

If you are in the European Economic Area or the United Kingdom, we rely on our legitimate interests in delivering and securing the Site (for server logs) and in answering your messages (for anything you send us). Storing your theme choice on your device is strictly necessary to provide the feature you asked for. Automatic crash reports are sent only with your consent (you switch them on), which you can withdraw at any time.

5. International transfers

Vercel may process server logs in the United States and other countries. Where personal data from the EEA or UK is transferred, Vercel relies on safeguards such as the EU-U.S. Data Privacy Framework and standard contractual clauses, as described in its own policies.

6. How long we keep it

We do not keep server logs ourselves; Vercel keeps them for a limited time under its own retention policy. Messages you send us stay on the platform you used until you or we delete them.

7. Your rights

Depending on where you live (for example under the GDPR, the UK GDPR, or US state laws such as the CCPA/CPRA), you may have the right to access, correct or delete your personal information, to object to or restrict its use, to data portability, and to opt out of its sale or sharing. We do not sell or share personal information as those laws define it. Because we hold almost no data about you, most requests can be answered quickly. To make a request, email ofbrowne04@gmail.com. We will answer within 45 days, and if we decline a request you can ask us to reconsider by replying to our answer. We will not treat you differently for using your rights.

If you are in the EEA or UK and are unhappy with how we handled your data, you can complain to your local data protection authority. In the UK that is the Information Commissioner's Office.

8. Children

The Site is a tool for electronics engineers and is not aimed at children. We do not knowingly collect personal information from children under 16.

9. Security

The Site is served over HTTPS. No method of transmission or storage is completely secure, but because the Site collects so little, there is very little to protect.

10. Changes

We may update this policy, for example if the Site ever adds analytics. The date at the top shows the latest version, and every change is public in the repository's history.

11. Contact

For privacy requests or anything private, email ofbrowne04@gmail.com. For everything else, open an issue on GitHub or contact Oliver Browne on LinkedIn.

Adapted from the Privacy Policy (GDPR Enhanced) template prepared and made publicly available by General Legal, PC ("General Legal") under CC0 1.0. It is provided for general reference purposes only and does not constitute, and should not be construed as, legal advice. Use of the template does not create an attorney-client relationship with General Legal. General Legal has not reviewed, and takes no position on, any modifications made to this document.