Privacy policy
Effective 12 October 2026
PixelPup uses Garmin data on your watch to display your watch face. It does not send your health or activity readings to danyzmaj.
Who is responsible
PixelPup is made by Danijel Lovric, publishing as danyzmaj. This policy covers the PixelPup watch face, this website, and information you send directly for support. Contact: danijel@danyzmaj.com.
Data used on your watch
Depending on your settings and what your Garmin supports, PixelPup reads time and date, battery level, heart rate and recent heart-rate history, steps, calories, floors climbed, distance, stress, active minutes, Body Battery history, and Garmin weather temperature.
If you select estimated active calories, PixelPup uses your Garmin profile’s weight, height, birth year, and gender to estimate resting calories and subtract them from the daily total. This calculation happens on the watch. If the required profile information is unavailable, it displays total calories instead.
The watch face requests Garmin’s UserProfile and SensorHistory permissions for these functions. It does not request GPS-position access or record routes. Distance is read from Garmin’s activity totals; temperature comes from Garmin’s existing weather data.
Storage and transmission
Breed, palette, dark mode, stat-row choices, and calorie preferences are stored through Garmin’s application-settings system. You can change them in Connect IQ settings; dark mode can also be changed by holding the pup on touchscreen watches.
PixelPup does not create its own persistent health-history database. Readings are used locally to render the face, and the watch face has no network-request code, advertising, analytics, or developer-operated backend. Garmin’s own recording, syncing, and retention of your data are separate from PixelPup.
This website
The website uses no advertising trackers or cookies. The interactive preview stores nothing in your browser: it uses sample readings rather than your Garmin data and resets when you reload. The breed vote page is the one exception that stores something in your browser, a random voter ID, as described under Breed vote.
The website counts visits with Umami, a cookieless analytics tool hosted on danyzmaj’s own server in Germany. It records the page viewed, the site you came from, your browser, operating system, device type, screen size, language, and approximate location (country, region and city) derived from your IP address. Your IP address itself isn’t stored, nothing is saved on your device, and the data isn’t shared or sold.
The site is hosted on GitHub Pages. GitHub states that it logs and stores visitors’ IP addresses for security purposes. Hosting therefore is not a zero-data service. See GitHub’s Privacy Statement for its processing, retention, and international-transfer practices.
Breed vote
On the breed vote page you can vote once a month for the next dog breed to add to PixelPup and suggest breeds that are not on the list. The vote runs on danyzmaj’s own server in Germany. It stores:
- Your vote: the breed you chose for that month. You can change it until the month closes.
- A random voter ID: created by the vote page when you first vote or suggest a breed, kept in your browser’s local storage (not a cookie) and sent with your votes and suggestions, so a second vote replaces your first instead of counting twice. The page also sends it when it loads, to show your current vote. It is not linked to your name, email address or Garmin account. Clearing this site’s data in your browser removes it there.
- A keyed hash of your IP address: used only to limit how many votes and suggestions come from one network. It is made with a key that changes every month, so it cannot be turned back into your IP address or matched across months, and it is deleted when the month is counted. Your IP address itself is not saved in the vote database.
- Suggestions: the breed name you type, kept for my review. After the month is counted it is kept without the hash.
When a month closes, its votes are counted: the voter IDs and hashes for that month are deleted and only the number of votes per breed is kept. Results are published only as totals, never per person.
To keep automated votes out, the vote page uses Cloudflare Turnstile, which Cloudflare loads from its own servers when you open the page. For this bot check Cloudflare processes your IP address and signals from your browser. See Cloudflare’s Turnstile privacy addendum for its processing. Requests to the vote server also pass through Cloudflare’s network on their way to my server.
This processing is based on my legitimate interest in running a fair public vote. Voting is optional; until you vote or suggest a breed, the vote page stores nothing in your browser.
Support and breed requests
If you email me, I receive your email address, your message, and any attachments or device details you choose to include. My email provider also processes those messages. Please do not send sensitive health information or payment-card details.
I use your messages to answer questions, troubleshoot problems, and consider suggestions. I don’t add you to a marketing list. I retain it only as long as needed for those purposes or applicable legal obligations. Where applicable, this processing is based on responding to your requested service or my legitimate interest in providing support and improving PixelPup; legal obligations may require retaining particular records.
Information sent directly to PixelPup support is sent to me, not to Garmin. Garmin is not responsible for my handling of that correspondence.
Garmin and purchases
Garmin operates Connect IQ, Garmin accounts, weather services, and its purchase systems under its own policies. When the paid release becomes available, the store will handle payment details. This website and the watch face do not handle payments. Any sales or transaction records made available to me will be used for purchase support, accounting, and legal obligations.
See the Garmin Connect IQ Privacy Policy for Garmin’s processing. This policy does not replace Garmin’s or GitHub’s policies.
Your choices and rights
You can change watch-face settings or stop PixelPup’s local processing by selecting another face or uninstalling it. Removing PixelPup does not delete activity or profile records held by Garmin; manage those through Garmin.
For personal information I hold, such as support correspondence, email me to request access, correction, deletion, restriction, portability, or to object, where those rights apply. Some records may need to be kept for legal reasons. You may also complain to your local data-protection authority. There is no health database at danyzmaj for me to retrieve or delete.
Changes to this policy
This page will be updated when PixelPup’s data practices change, with a revised effective date. Any additional notice or permission required by applicable law will be provided before the relevant new processing.