Last updated 28 September 2026 · Applies to PyDraft 0.9.2.1-alpha
PyDraft runs on your computer. It has no account system, no analytics, and no background telemetry. There are exactly three times the program touches the network, all listed below, and two of them only happen when you press a button.
When PyDraft starts, it requests a small text file from the PyDraft website to see whether a newer version exists. The request contains nothing about you or your drawing. As with any web request, the server can see your IP address and the version string in the user agent (for example PyDraft/0.9-alpha). Nothing is logged against an identity because there is no identity to log it against.
If you are offline, the check fails silently and the program carries on.
Nothing is transmitted unless you open Help → Send Bug Report, type a description, and press Send. There is no automatic crash reporting. Here is exactly what a report can contain:
| Data | Included | Detail |
|---|---|---|
| Your description | Always | The text you typed, and the time you sent it. |
| Tester ID | Always | A random code generated on your machine. It is not derived from your hardware, name, or email, and it identifies a copy of the program, not a person. |
| System information | Checkbox, on by default | Operating system and version, Python version, CPU model string, total and available RAM, screen resolution, UI scale, and app version. Uncheck the box and none of it is sent. |
| Your drawing | Checkbox, off by default | The geometry in your current model space. Only sent if you deliberately tick this. Leave it off unless the bug is about a specific file. |
If you would rather see the report before it leaves your machine, press Copy Report instead of Send. That puts the entire contents on your clipboard so you can read it, edit it, and send it however you like.
If you choose Update Now, PyDraft downloads the new PyDraft.exe and its fingerprint file (SHA256.txt) from the project's GitHub releases page, checks that they match, and replaces the old version on your computer. As with any download, GitHub can see your IP address. Nothing about you or your drawings is sent. If you never click Update Now, this never happens.
Registering is optional and happens on the website, not in the program. The form sends four things: your email address, your tester ID, the machine type if you entered one, and whether you ticked the update-email box. Its only purpose is to restore your free license if you lose the ID. Your email is not sold, shared, or used for anything except version announcements, and only if you ticked that box.
How it travels: the form goes to a small forwarding service run on Cloudflare, which passes it to a private Discord channel that only the developer can see. That channel is the registration list. The forwarding service does not save what you typed. As with any web request, Cloudflare and Discord handle the request the way any web host does.
The Recover a lost ID form sends only your email address, so the developer can look up your ID and email it back to you.
To have your registration deleted, tick Delete my registration instead in the recover form on the product page and send it. Every registration message for your email is removed, and you get an email when it is done.
PyDraft is fully functional with no internet connection. If you block it in your firewall, the update check fails quietly and every drawing, editing, and export feature continues to work normally. Nothing in the program requires a connection to run.
If a future version starts collecting something new, it will be listed on this page and called out in the release notes before it ships. Quietly expanding data collection is the kind of thing that makes people distrust software, and the point of this program is to be the one that does not do that.