AtlasHub Privacy Policy
Sichuan Wills Curated Goods Ltd. (“we”, “us”, or “our”) values and protects your personal information. This Privacy Policy explains how AtlasHub handles personal information and how you may exercise your rights.
1. Scope and controller
This Policy applies to downloading, installing, starting, signing in to, browsing, and using the Android and iOS versions of AtlasHub, and to the AtlasHub servers that provide authentication, AI, quota, and diagnostic-intake functions for them. The personal-information handler is Sichuan Wills Curated Goods Ltd..
AtlasHub is a GitHub client and is not operated by GitHub, Inc. When you use a GitHub account, GitHub APIs, or a GitHub page, GitHub processes information under its own rules. We recommend reviewing the GitHub Privacy Statement.
2. Information we collect and use
We follow the principle of necessity and process information needed to provide a feature.
| Feature or scenario | Information | Purpose and processing | Storage or retention |
|---|---|---|---|
| GitHub sign-in and authentication | GitHub OAuth authorization code and PKCE verifier, the GitHub access credential issued after authorization, and (in some client versions) a GitHub Personal Access Token you enter | Sign-in runs OAuth with GitHub through the AtlasHub server (a self-hosted Supabase authentication service). AtlasHub requests the user, repo, and read:org scopes: repo lets the app read private repositories, issues, pull requests, and similar content you can access, and read:org lets it read information about your organizations. We read and display this content only when you use the related feature. | The GitHub access credential is encrypted on the device with Android Keystore or iOS Keychain and deleted when you sign out. The authorization itself is managed by GitHub; AtlasHub does not revoke it for you, and you can revoke it in your GitHub authorized-apps settings. Uninstalling generally removes app-sandbox data, but iOS Keychain retention depends on system behavior and device settings. |
| AtlasHub account and sign-in records | An AtlasHub account is created automatically when you first sign in with GitHub (there is no separate registration): AtlasHub user ID, GitHub numeric ID and login, the email returned by GitHub authorization (if any, which the authentication service may store), and the version, time, and method of your acceptance of the User Agreement and Privacy Policy. At each sign-in or session restore we also record device registration data: platform, device manufacturer and model, OS version, app version, release channel, system language, time zone, request IP and User-Agent, and an irreversible digest computed by the server (HMAC) from a device identifier (Android ID); the server does not store the raw value | To create and maintain your account and sign-in session, attribute private data such as AI quota and subscription preferences to you, recognize new and existing devices, protect account security, and troubleshoot sign-in problems. | Kept on the server while your account exists until it is deleted (see Section 8). Session tokens are stored securely on the device and deleted when you sign out or authorization becomes invalid. |
| Account profile and display | GitHub user ID, login, display name, avatar URL, profile URL, bio, company, location, blog, email where returned by GitHub, and repository/follow counts | To display the signed-in user profile, support user features, and restore local sign-in and page state. | Stored on the device, separated per account, until you sign out, clear app data, or uninstall the app. |
| Browsing, search, and content services | Search terms you enter, selected language, time range, theme and other preferences; repositories, users, issues, pull requests, files, events, stars, follows, trending, and news content you request; your news-subscription language preferences | To perform your query, load GitHub-related content, remember interface and filter preferences, and improve loading performance. | Preferences and caches are mainly stored on the device; you may clear them, the system may clear them, and they are deleted on uninstall. News-subscription preferences are stored on the server with your account. |
| AI features (introduction, translation, code explanation) | When you trigger an AI feature: the GitHub resource link you are viewing, the prompt you enter, content the client reads and submits to complete the task (for example a README, source file, issue, or pull request body), and your interface-language preference | Content is relayed by the AtlasHub server to a third-party AI model provider (see Section 4), which generates the answer returned to you. Web search is used only when GitHub confirms the repository is public; private or unknown repositories never trigger web search, but private file content you choose to submit is still sent to the model provider. Do not use AI features on content you do not want a third party to process. | Server-side business records keep only the request ID, request type, model used, associated GitHub link, status, token usage, and settlement data for quota settlement and usage history, while your account exists; we do not write prompts or answer text to the business database. Answers and history are cached on the device. The model provider may retain request records for a period under its own policy. |
| AI token quota and top-ups | Balance, reservation and settlement history, and grant records; for Google Play top-ups, the product ID, order ID, purchase token, purchase time, quota amount, and whether it was a test purchase | To verify purchases, grant and deduct quota, reconcile, and deduct the corresponding quota when Google refunds a purchase. Payment is processed by Google Play; we do not receive your card number or similar payment credentials. | Kept on the server while your account exists. Deleted with your account, except that we retain a SHA-256 digest of the purchase token to prevent a used purchase from being redeemed again; the digest is not linked to you. |
| AI content reports | The report reason and note you submit, a snapshot of the reported answer, the related AI request ID, and your account ID | For content moderation and compliance. Our administrators review reports in a controlled back office and record the outcome. The answer snapshot is not placed in analytics events or diagnostic logs. | Kept while your account exists; deleted with your account. |
| Sharing, news, and external links | Content and links you choose to share; the app checks on the device whether WeChat, X, and certain news apps are installed to decide which share targets to show or what to open | To perform sharing you initiate and to open news sources and external links. News items only link to third-party sources and are not published by us. | Install checks are used on the device only; AtlasHub does not upload an installed-app list. Third-party pages and apps process information under their own rules. |
| Device and service operation | Device manufacturer and model, OS version, app version, release channel, system language, time zone, User-Agent, IP address; the platform, channel, and version used for update checks | To determine update rules, identify client compatibility, complete requests, maintain service security, troubleshoot, and improve stability. | Server logs are retained only for a reasonable period needed to achieve these purposes and are protected as required by law. |
| Usage analytics and performance monitoring (Android, with your consent) | Page views; fixed-category events such as sign-in attempt/success/failure, AI request failure, file-preview failure, and link-open failure; crash, ANR, stall, startup, memory, and power performance data; device identifiers and network information | To understand feature usage and stability and improve the product; see the Umeng entry in Section 4. Events carry only stable identifiers and non-sensitive types, outcomes, and failure categories. | Kept by Umeng under its policy. If you decline authorization the SDKs are not initialized. |
| Diagnostic logs (Android) | App runtime logs, exception stack traces, and diagnostic observations of network requests and responses, each record encrypted whole before storage and upload | To troubleshoot crashes, sign-in, network, and AI problems; see Section 5. | Up to seven days and 100 MiB on the device; thirty days on the server. |
| Contacting us | Name, email address, issue description, screenshots, and other information you voluntarily provide by email, feedback, or support communications | To verify identity, reply to inquiries, handle complaints, investigate, and resolve issues. | Retained for the period needed to handle the matter, unless law requires otherwise. |
GitHub access credentials, OAuth authorization information, email addresses, private-repository content, and purchase records may be sensitive or important information. You may decline to provide non-essential information, but you may then be unable to use the feature that requires it.
3. Permissions and local functions
The AtlasHub Android app declares or uses the following permissions and system capabilities related to personal information:
- Network access, network state, and Wi-Fi state: to request GitHub, AtlasHub services, and network images, and to tell whether the current network is metered (supplemental debug-log uploads run only on unmetered networks);
- Background work (wake lock, foreground service, boot completed): used by the system background-work library and third-party SDKs to finish tasks such as log uploads after a restart or after the app is closed; we do not use them to read other apps’ data;
- Google Play Billing: for AI token top-ups;
- Advertising ID: the Umeng SDK declares the permission to read the Google advertising ID, used only for analytics. AtlasHub shows no ads and does not use the advertising ID for ad targeting; you can reset or delete it in system settings. On some devices Umeng may also read anonymous manufacturer identifiers such as OAID, with the related permissions declared by the SDK.
These capabilities do not allow us to read your contacts, messages, call history, photos, camera, or microphone, and we do not obtain precise location. The app locally stores sign-in credentials, appearance and language preferences, search preferences, AI history, and content caches to restore sign-in state, apply settings, and optimize loading. You can remove credentials by signing out and remove relevant local app data by clearing in-app cache, using Android’s “Clear data”, or uninstalling the app. iOS Keychain retention depends on system behavior and device settings, so we recommend signing out before uninstalling the iOS app.
4. Third-party SDKs and services
We use the following third-party services to provide necessary functions. Third parties independently process information under their own privacy policies, and we require them to take protection measures required by applicable law and our agreements. AtlasHub’s authentication, quota, and diagnostic-intake services run on servers that we deploy and operate and are not third parties.
| Third party | Purpose | Information that may be processed | Privacy policy |
|---|---|---|---|
| GitHub, Inc. | GitHub OAuth authorization, GitHub REST/GraphQL API access, and GitHub web and public trending-content retrieval | GitHub authorization information or token, GitHub resources you request, GitHub account and public/authorized profile data, and information required for network requests | GitHub Privacy Statement |
| Umeng Tongxin (Beijing) Technology Co., Ltd. (友盟同欣(北京)科技有限公司; U-Share / U-Link / Mobile Analytics / U-APM / U-Yumao) | Perform sharing you initiate; restore a supported in-app destination after a smart link wakes or installs the app; analyze app activity, feature usage, failure outcomes, uninstall activity, and user loss; and monitor Java and native crashes, ANRs, stalls, startup, memory, power, and other performance or stability problems | The content and link you choose to share; smart-link path, parameters, attribution identifiers, installation or wake-up matching information; device identifiers including Android ID, OAID, Google advertising ID, and GUID; device and system information; and network information including IP address, Wi-Fi status, and network type. Where required for uninstall and user-loss analysis, U-Yumao may also process installed-app-list, network, and approximate-location information. U-APM may additionally process the current application process, failure type, application runtime state, Java and native crash stacks, ANR and stall thread stacks, and startup, memory, and power performance information. AtlasHub does not enable U-APM collection of network-request headers or bodies, WebView H5 injection, or remote log retrieval. AtlasHub custom analytics events and actively supplied U-APM custom fields contain only stable identifiers and non-sensitive types, outcomes, build information, and failure categories; we do not actively submit GitHub credentials, GitHub login names, OAuth code/state, raw URLs, file names or paths, network-request content, prompts, AI answers, user-generated content, or other sensitive information. | Umeng Privacy Policy |
| Tencent (WeChat Open Platform) | Share a web card through the WeChat Open Platform SDK when you tap WeChat or Moments sharing and WeChat is installed | The title, description, link, and thumbnail you choose to share, and app identifiers such as package name and signature used to verify the sharing source | WeChat Privacy Protection Guidelines |
| X Corp. | Launch the X app or open the x.com post page when you tap X sharing | Prefilled text and link (and an image when shared through the client); AtlasHub uses no X account credentials | X Privacy Policy |
| Google (Google Play and Play Billing) | App distribution and updates; payment and purchase verification for AI token top-ups | Order ID, product ID, purchase token, and purchase time; your Google account and payment details are processed directly by Google and are not available to us | Google Privacy Policy |
| Third-party AI model providers (currently OpenAI and Alibaba Cloud Qwen are supported; the provider actually enabled on the server applies) | Generate answers for introductions, translation, and code explanation | The prompt, GitHub resource link, and content read (such as a README, source, issue, or pull request body) when you trigger an AI feature, plus the AtlasHub request ID and task type. We do not give them your GitHub credentials or account profile | OpenAI Privacy Policy; Alibaba Cloud Privacy Policy |
| News source sites and external web pages | Third-party pages opened when you tap a news item, Markdown link, or web entry | That site processes your visit information (such as IP and browser details) under its own rules | Please review the privacy rules of the relevant site |
| Operating system and a sharing target you select | Perform the SMS, email, or social-platform sharing action you actively initiate | Text, links, or content you confirm for sharing, and information handled by the target app under its own rules | Please review the privacy rules of the applicable operating system, email, messaging, or social platform |
Where consent is required by law, we will obtain your valid consent before formally initializing or invoking the relevant third-party SDK service interface. If you decline authorization, the Umeng SDKs will not be formally initialized or invoked for sharing, smart-link restoration, analytics upload, or performance-monitoring data upload; WeChat sharing is likewise not initialized without authorization. Basic functions that do not rely on those SDKs remain available.
5. Encrypted diagnostic logs
To troubleshoot crashes, sign-in, network, and AI problems, the AtlasHub Android app records diagnostic logs on the device and uploads them to the AtlasHub server after you consent to the current version of this Policy. In brief:
- What is recorded: app runtime logs, exception stack traces, and diagnostic observations of network requests and responses (request line, headers, GraphQL, and the body actually sent or read, up to 100 MiB per direction). These may include GitHub content, AI prompts and answers you submitted, and sensitive data such as authentication headers.
- Whole-record encryption: each record is encrypted whole with an age (X25519) public key before it is written, so Logcat, local storage, and the server hold only ciphertext. The decryption private key is kept offline by us and is not in the app, the server, or the back office; authorized personnel decrypt records offline only to investigate specific problems and not for any other purpose.
- Searchable plaintext index: to locate problems, the following sits beside the ciphertext: time, log level, app package name, release channel, device ID (the raw Android ID where available, otherwise an install-level fallback ID), and, when signed in, your AtlasHub user ID and GitHub username. This index is visible to authorized administrators in a controlled back office.
- Upload rules: encrypted local logs may be created before you consent, but they are uploaded only after you consent to the current Policy version. By default only INFO, WARNING, and ERROR are uploaded; uploads are anonymous when signed out and linked to your account when signed in. You may also tap the app icon/version area on the About page ten times in a row to authorize a 24-hour window in which more detailed DEBUG logs are uploaded and continued on unmetered networks; it turns off automatically.
- Retention: up to seven days and 100 MiB on the device, with the oldest records evicted first; thirty days on the server, then automatically purged. When your account is deleted, logs indexed to your account are deleted too.
- Quotas and blocks: to prevent abuse, the server applies separate quotas to anonymous and signed-in uploads and may stop accepting uploads from abnormal devices. A blocked device keeps logging locally but no longer uploads.
7. Storage, security, cross-border processing, and retention
The AtlasHub servers (including authentication, AI quota, diagnostic-log intake, and this website) run on servers located outside the People’s Republic of China, so personal information you submit to the servers when using AtlasHub is transferred to and stored outside China. AI requests are also sent to third-party AI model providers, which decide where they process data. The overseas recipients are the servers we operate and the providers listed in Section 4. If you do not agree, you can stop using the related features or contact us; Section 8 explains how to exercise your rights.
We use measures appropriate to risk, including HTTPS transmission, platform-provided secure storage such as Android Keystore and iOS Keychain for GitHub credentials, whole-record encryption of diagnostic logs, server access controls, least privilege, and security maintenance. However, no internet environment is absolutely secure; please protect your device and GitHub credentials.
We retain personal information only for the shortest reasonable period necessary for the purposes described in this Policy: account data while the account exists, diagnostic logs for the periods in Section 5, and other information for the periods listed in Section 2, unless law requires a longer period or retention is necessary to resolve a dispute or meet a legal obligation. When the retention period ends, we will delete or anonymize information as required by law.
8. Your rights and account deletion
Within the scope provided by applicable law, you may use app features or contact us to exercise the following rights:
- Access and correction: review and update your GitHub account details or app settings, or ask us about relevant information;
- Deletion: sign out, clear cache, clear app data, or uninstall the app to delete local information; you can also request deletion of your AtlasHub account and the data we hold as described below;
- Withdrawal of consent: turn off relevant permissions in system settings or stop using the related feature. Withdrawal does not affect processing based on consent before withdrawal;
- Sign-out or account management: sign out in AtlasHub. Manage GitHub account closure, token revocation, and authorizations with GitHub; and
- Complaint and inquiry: contact us if you believe our processing harms your lawful rights, or complain to a competent authority.
Request deletion of your AtlasHub account
You can delete your AtlasHub account in any of these ways. Deletion takes effect immediately and irreversibly, with no cooling-off period:
- In the app: go to Me → Profile → Delete account and confirm twice;
- On the web, without the app: open the account deletion page (https://atlashub.willscurated.com/account-deletion.html), verify with the GitHub account linked to AtlasHub, and confirm; or
- By email: write to [email protected] with the subject “Delete AtlasHub account” and the linked GitHub username. We delete the account within 30 days after verifying your identity.
Deletion removes:
- the AtlasHub account, GitHub identity link, sessions, profile, and subscription preferences;
- records of your acceptance of the User Agreement and Privacy Policy, device registrations, and sign-in events;
- AI request records, quota, ledger, and purchase records, plus any AI content reports you submitted; and
- diagnostic logs indexed to your account.
Please note: any remaining AI token balance is forfeited with the account and is not refunded; anonymous diagnostic logs indexed only by device are not linked to your account and are purged automatically after the thirty-day retention period; to prevent a used purchase from being redeemed again we keep only a digest of the purchase token that is not linked to you; the deleted data may remain in operational database backups created before deletion for up to 90 days, after which those backups are deleted, and it is not used for any processing in the meantime; and Google Play keeps its own order records under Google’s policies. AtlasHub does not revoke your authorization on GitHub, so please also revoke AtlasHub in your GitHub authorized-apps settings and sign out or uninstall the app on your device.
To protect security, we may request information necessary to verify your identity before handling a request. We will respond within the period required by applicable law.
9. Children and minors
If you are under 18, please read this Policy with your guardian and obtain their consent before using AtlasHub. If we discover that we collected a minor’s personal information without the guardian’s consent, we will delete it or take other appropriate measures after verification as required by law.
10. Updates to this Policy
We may update this Policy from time to time and publish the updated text in the app, on a website, or by another reasonable method. For changes that materially affect your rights, we will provide prominent notice and, where necessary, obtain your consent again. The updated Policy takes effect on the stated effective date.
11. Contact us
If you have questions, comments, complaints, suggestions, or rights requests regarding this Policy or personal-information processing, contact:
Personal-information handler: Sichuan Wills Curated Goods Ltd.
Contact email: [email protected]
After verifying your identity and receiving your request, we will handle and respond as soon as required by applicable law.