GitHub Smart Downloader

Local-first by design.
Private by default.

GitHub Smart Downloader has no backend server, no analytics, no telemetry, and no advertising. The developer receives no data from it. The extension fetches files from official GitHub endpoints and builds ZIP archives inside your browser.

Last updated
Product
GitHub Smart Downloader Chrome extension, version 2.7.0
Contact
serdar@serdardundar.dev

01 / Plain-language summary

What this policy covers

This Privacy Policy explains what GitHub Smart Downloader (the "extension") stores, where it sends data, and why it needs each browser permission. It also covers this product website.

Short version: repository files travel from GitHub to your browser and into your downloads folder. Nothing is uploaded anywhere. The extension does not collect or transmit personal data to the developer or any third party.

02 / Data the extension stores

Information kept in your browser

GitHub Personal Access Token (optional)

If you add a token, it is stored only in this browser's local extension storage (chrome.storage.local). It is not synced to your other devices through Chrome Sync, so you enter it separately on each browser. The token is encrypted with AES-GCM using a key that is stored next to it in the same local storage. That protects against casual reading of the profile files, but it is obfuscation rather than strong protection: anyone or anything that can read this extension's local storage can recover the token. The token is sent only over HTTPS to the GitHub URLs listed in section 3, never to any other host, and it is left out of settings exports.

Versions up to 2.6.x kept the token in chrome.storage.sync. On update to 2.7.0, the extension moves it to local storage and removes it from sync.

Repository files

Files you download are fetched from GitHub, packaged in your browser's memory with JSZip, and saved to your computer through the browser's download manager. Nothing is uploaded anywhere.

Archive cache

To avoid downloading the same repository twice, the extension may keep a downloaded repository archive in memory and in the extension's IndexedDB storage for up to 10 minutes from when it was saved (capped at 512 MB in memory). Expired archives are deleted when the extension or browser starts, and when their 10 minutes are over. Archives of private repositories are cached the same way and follow the same expiry.

Download history and statistics

The last 50 downloads (repository, folder, or file name, item count, size, and date) and total counters are stored locally in chrome.storage.local so the settings page can show them. You can clear them in Settings.

Settings

Your preferences (theme, button style, naming policy, exclusion packs, and similar options) are stored in chrome.storage.sync, so Chrome may sync them between your signed-in browsers. They never contain the token.

Rate-limit status

The last GitHub API rate-limit numbers are stored locally to show them in the popup and settings page.

Website visits

This website is a static product site. It does not include analytics, advertising pixels, account login, or tracking cookies. Your browser and the hosting provider may process normal technical request data such as IP address, user agent, and requested URL to deliver the page.

03 / Network destinations

Where the extension connects

The extension connects only to official GitHub endpoints, always over HTTPS. It does not sell data and does not send data to the developer or any other third party.

api.github.com

Repository metadata, branch lists, file trees, and rate limit.

github.com

Repository archive downloads. The GitHub pages you visit are also where the in-page controls appear.

codeload.github.com

Repository archive downloads.

raw.githubusercontent.com

Single-file downloads.

Where the token is sent

When you add a token, it is attached only to:

  • api.github.com requests;
  • same-repository raw.githubusercontent.com file URLs;
  • the repository's own github.com/<owner>/<repo>/archive/<ref>.zip URL.

The archive redirect to codeload.github.com is followed without the token.

Recommended token

Use a fine-grained token with read-only permissions: Contents: read and Metadata: read, limited to the repositories you need. A classic token with the repo scope also works, but it grants write access to all your repositories, so use it only as a fallback.

04 / Browser permissions

Why the extension requests permissions

storage

Saves your settings, the token (locally), download history, statistics, and rate-limit status.

downloads

Saves the files and ZIP archives you request to your computer.

offscreen

Runs ZIP creation in an offscreen document so large downloads keep working while the background service worker sleeps.

contextMenus

Adds right-click entries: "Download with GitHub Smart Downloader" on GitHub links, and "Download current repo / folder with GSD" on GitHub pages.

Host access to the four GitHub hosts

Shows the download controls on GitHub pages and fetches repository data from the endpoints listed in section 3.

05 / Retention and removal

How to manage or delete local data

Local data stays in your browser until you remove it.

  • Use Remove in the token section of Settings to delete the token.
  • Use Clear All History & Stats in Settings to clear download history and statistics.
  • Cached archives expire on their own after 10 minutes.
  • Uninstall the extension to delete everything it stored.
  • Delete downloaded ZIP files from your file system as you would any other file.

06 / Chrome Web Store Limited Use

Chrome Web Store User Data Policy

The use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements.

GitHub Smart Downloader's handling of user data is limited to providing its single purpose: downloading GitHub repositories, folders, files, and selected paths directly from the browser.

  • Allowed use: data is used only for the extension's user-facing download, ZIP packaging, settings, authentication, and progress features.
  • Allowed transfer: data is sent only to the official GitHub endpoints in section 3 when needed to fetch repository metadata or content.
  • No sale and no advertising: data is not sold, and is not used for advertising, retargeting, credit decisions, or user profiling.
  • No human reading: humans do not read repository contents, selected paths, or token data through this extension.

07 / Children and sensitive data

Children's privacy and sensitive content

GitHub Smart Downloader is a developer utility and is not directed to children under 13. The extension does not intentionally collect personal information from children. Only download repositories you are authorized to access.

08 / Changes

Policy updates

This policy may be updated from time to time. Changes are shown by the "Last updated" date at the top of this page.

09 / Contact

Questions

If you have questions about this Privacy Policy or GitHub Smart Downloader's data handling, contact:

serdar@serdardundar.dev

GitHub Smart Downloader is an independent project and is not affiliated with or endorsed by GitHub, Inc. GitHub is a trademark of GitHub, Inc.