WidgetStore - Widgets, animated icons, dashboards and personal pages for Notion

Privacy Policy

Effective date: 2026-11-06

We care about your privacy. This policy explains what WidgetStore collects, how we use it, and your rights.

1. Information we collect

Account information: sign-in method (WeChat, email or phone), nickname, avatar, email address or phone number.

Verified email: after signing in, you'll be asked to add and verify an email address. We use it only for account security (such as recovering your account and confirming it's you) and for important account or service notices. It is never shown publicly or used for marketing. Verification codes are stored only as hashes and expire after 10 minutes.

Usage data: the widgets you create and their settings, usage counts, membership period and order history.

Connected services: when you connect Notion or Obsidian, we store the authorization tokens and workspace details needed to provide the feature.

Connect GitHub (not used for sign-in): when you connect GitHub under Settings → Connected accounts, we receive your GitHub user ID, username, name, avatar, bio, follower count and public repo count, and store the access and refresh tokens GitHub issues to us (encrypted, used only on our servers). By default we request read access to your public profile and contributions only (read:user), and use it only to show your public GitHub data (contribution calendar, total stars, top languages, public repos) in your widgets, your page and My Data. Only if you separately turn on "Show private contribution counts in widgets" and authorize repo access again do we read daily counts that include private contributions; we never read code or show private repo names. Widgets and your page are public, so this data is visible to anyone who views them. If you turn on "Sync contributions to My Data daily", your daily contribution counts are written to a table in your My Data. You can disconnect at any time in Settings → Connected accounts — we revoke our access on GitHub and delete the tokens — or revoke it under Settings → Applications on GitHub.

Calendar subscriptions: when you add a calendar link under Settings → Connected accounts → Calendar subscriptions (such as Google Calendar's secret address in iCal format, an iCloud public calendar or an ICS link published from Outlook), we store the link encrypted, show only its host and last 4 characters, and never send the full link back. Our servers read the calendar from that link (read-only: we never create, change or delete events) and save only your subscription settings (name, color, visibility), not your events; events are cached for about 20 minutes and shown only to you while you're signed in (Focus, your start page, the browser extension popup, AI apps you connect). Widgets: calendar widgets in public places include only the calendars you set to "Show in public widgets" and show busy times only, unless you turn on "Show event titles in public widgets" in Settings and choose to show titles in that widget; locations and links are never public. Built-in holiday and solar-term calendars come from public government data. When you remove a calendar we delete its link immediately.

Connect Todoist / Linear (not used for sign-in): when you connect Todoist or Linear under Settings → Connected accounts, we receive your user ID, name, avatar and time zone (and, for Linear, your workspace name), and store your credentials encrypted, used only on our servers: for Todoist, the access and refresh tokens Todoist issues to us; for Linear, the personal API key you paste yourself (checked with Linear before it is saved, afterwards shown only as its last 4 characters and never sent back to your browser). We do not store your email address from them. What we read: your Todoist tasks for today / overdue (or the project or filter you choose) and the Linear issues assigned to you (in the states, team and cycle you choose). Task titles, due dates, priorities and states are shown only to you while you're signed in (Focus to-dos, your start page, the browser extension popup, AI apps you connect) and are cached for 90 seconds to 5 minutes only; we don't keep task content. What we write back: only when you check a task off in WidgetStore do we complete it in Todoist or move the issue to a Done state in Linear; only when you add a task in WidgetStore do we create it in Todoist or create an issue assigned to you in Linear; and only if you turn on "Log focus time on tasks" do we add a comment containing the number of minutes you focused. Widgets: task widgets placed in public places such as Notion or your page show counts only, unless you turn on "Show task titles in public widgets" in Settings and choose to show titles in that widget. If you turn on "Sync daily completions to My Data", the number of tasks you completed each day (no titles) is written to a table in your My Data. You can disconnect at any time — we revoke the Todoist tokens and delete the link (you delete a Linear API key yourself under Security & access in Linear) — or revoke our access in Todoist's app authorization settings.

Sign in with Google: when you choose Continue with Google or connect Google in Settings, we receive from Google your Google account's unique ID (sub), email address (used only if Google has verified it), name and profile picture. We use them to sign you in, find or create your account, and show the connected Google account under Connected accounts; a new account uses this email as its account email. We never receive your Google password and do not access Gmail, Drive, Contacts or any other Google data. You can disconnect at any time in Settings → Connected accounts, or remove access under Third-party apps & services in your Google Account. When you're signed out, some pages may show Google's One Tap prompt; if you've signed in with Google before and have one Google account, you may be signed in automatically — we tell you on the page and you can undo it. After you dismiss the prompt it stays away for a while, and after you sign out we won't sign you in automatically again until you choose Google yourself.

Device and access data: browser type, language, pages visited, referrer and error logs, used for analytics and troubleshooting.

“My IP” widget: the widget asks our check endpoint (widgetstore-edge on Cloudflare) and this site's Cloudflare edge, from your browser, for your public IP and the network details Cloudflare provides (country / region / city, time zone, ISP and ASN, connection protocol), and shows them only to you, the person viewing the widget. We don't log or store this information or link it to your account; to prevent abuse the endpoint only keeps a per-minute counter in memory (not the IP itself), cleared after a minute.

Payment information: payments are handled by Creem. We only receive the order ID, product, amount and payment status, never your card details.

2. How we use information

To provide, maintain and improve the Service, such as saving and displaying your widgets and applying membership benefits.

To process orders, refunds and support requests.

To understand product usage and find and fix problems.

To send service or account notices when necessary.

3. Service providers

We use the following providers to run the Service: Tencent CloudBase (accounts and data storage), Cloudflare (payment and sign-in service hosting; Turnstile bot protection on the sign-in page, to stop abuse of verification codes), Render (website hosting), Creem (payment processing), Mixpanel (analytics), Resend (verification codes and other system emails, sent without tracking pixels), Google (Sign in with Google, only when you choose to sign in with or connect Google), GitHub (only when you connect GitHub, to read your public profile and contributions), and Todoist (Doist) and Linear (only when you connect them, to read your tasks and write back the changes you make).

These providers process your data only as needed to provide their services. We do not sell your personal information.

4. Cookies and local storage

We use browser local storage for sign-in state, language preference and cached data, and analytics tools may use cookies to distinguish visits. You can clear this data in your browser, but you may need to sign in again.

5. Storage and retention

Account and widget data are stored on Tencent Cloud (Shanghai, China). We keep this data while your account is active. After account deletion we delete or anonymize it within a reasonable period, except records such as orders that we must keep by law.

6. Your rights

You may access, correct or delete your personal information, or ask us to delete your account. Email islaohu@gmail.com and we will respond within 15 business days.

7. Children

The Service is not directed to children under 14. If we learn we have collected a child's information, we will delete it promptly.

8. Browser extension

The WidgetStore browser extension (Chrome, Microsoft Edge, Firefox) only communicates with widgetstore.net. It does not read your browsing history, does not run on other websites, and contains no ads or third-party analytics.

Sign-in: after you confirm the connection on our website, the extension receives a one-time code and exchanges it for a session (the refresh token is kept in the browser's extension storage and the access token only in session storage). It lasts 30 days and you can disconnect at any time in the extension's settings. The extension never handles your password.

Data the extension sends to us: the to-dos, habit check-ins, completed focus sessions and daily check-ins you make in the extension (the same as Focus space and check-in on the website, saved to your My Data); the address and title of a page when you click “Save to start page” (written to your start page by the website's save page); the selected text or page title when you click “Add to to-dos”; and what you type after the ws keyword in the address bar (used only to search the widget catalog and not stored with your account).

Data kept only on your device: extension settings, a snapshot of your start page as it last looked (layout, wallpaper, site links and widget content, so new tabs open instantly and work offline), the focus timer and changes waiting to sync. Removing the extension or clearing its cache in settings deletes them.

Bookmarks and most visited sites (optional, from version 1.0.2): the extension asks for permission to read them only when you click “Read bookmarks” or “Most visited” on your start page (your browser asks you to confirm), and reads them only when you click. What it reads is passed only to the start page you're using to show you; neither the extension nor our servers store it. Only the sites you tick and import (their address and name) are saved as part of your start page. For preview icons our icon service receives only the site's domain name, never the full address, and doesn't log it. You can take back both permissions any time in the extension settings. When you import a bookmarks HTML file on the website, the file is read in your browser and never uploaded.

Popup and settings (from version 1.1.0): the toolbar popup and the extension settings are pages on widgetstore.net shown inside the extension, so opening them requests those pages from us like visiting the website. When you open the popup, the current page's address and title are only handed to the popup to show “Save this page” and aren't sent to us unless you click Save. The extension also periodically downloads a configuration file from widgetstore.net that only contains feature switches and menu labels; the request carries no personal information.

Permissions the extension requests: storage (settings and cache), alarms (ending the focus timer on time), notifications (focus and break reminders), context menus, active tab (reads the current page's address and title only when you click the extension), search (the new tab's search box uses your browser's default search engine), and access to widgetstore.net (showing your start page, syncing data and connecting your account). Optional permissions: bookmarks and most visited sites, requested and read only when you import (see above). We do not sell this data or use it for advertising.

Android app (net.widgetstore.app, from November 2026): Home, Library, Focus and Me are native screens, while the editor, dashboard and similar pages open widgetstore.net web pages inside the app; it signs in the same way as the browser extension (a one-time connection code is exchanged for a session; the refresh token is encrypted with the phone's system keystore, stays on that phone and is excluded from system backups). When you sign in through your browser, the one-time code that brings you back to the app is also bound to a secret only that phone knows, so another app that intercepts it can't use it. So it works offline, the app uses your session to sync your widget list, the widget library, tasks, agenda (from yesterday to 8 days ahead), focus sessions, habits and goals, and keeps them in the app's private storage on that phone (excluded from system backups); changes made offline are sent to us when you're back online. Widget images shown on your home screen are drawn and cached on the phone, and you can hide titles so widgets only show counts. Permissions: internet, network state, notifications (focus timer), camera (asked only when you open Scan, used on the phone to read the QR code on a computer's sign-in page; nothing is saved or uploaded) and foreground playback (ambient sound keeps playing with the screen locked; the sound is generated on the phone), foreground data sync (only to stay connected while you are in a Focus Room; the camera and microphone are never used) and Live Updates (from Android 16, the focus timer, Focus Rooms and update downloads show on the lock screen and status bar; you can turn this off in system settings). Apart from the optional features described below, it doesn't read contacts, photos or location, and it has no ads or third-party analytics. When you use the app to sign in on a computer by QR code, we show you that computer's browser, system, masked IP and approximate city so you can confirm; the request is kept for a few minutes at most and deleted once used. When you share a link to WidgetStore from another app, its URL and title are saved to your dashboard's Read later list (you can undo this). Logging out deletes the session, the local database, web and image caches and widget images on that phone. The following features (from 1.2.0) are off by default and only start when you turn them on: phone calendar and contact birthdays (read on the phone only; events and contacts are never uploaded); health (steps, sleep and resting heart rate via Health Connect) and screen time (screen-on time and unlocks), calculated on the phone — only if you also turn on “Upload daily totals” are a few numbers per day saved to your My Data, never raw records or which apps you used; in couple & family spaces, the location you choose to share (city-level or precise) is kept as a single latest point for 12 hours with no history; automatic status (home / work / new city) is decided on the phone and only the status is uploaded; photos you send are compressed on the phone and kept for at most 48 hours, at most 6 per space; nudges, moods and anniversaries are visible only to members of the same space. Any member can leave at any time, which deletes their location, mood and photos in that space.

Focus Rooms (from November 2026): messages go directly between devices, end to end — they never pass through our servers and are never stored. Setting up the connection does go through our server, and people in the same room can see each other's IP address. In detail: chat, status (focusing / on a break / away), today's focus minutes, the "working on" line if you choose to show it, and cheers are sent device to device over WebRTC data channels (DTLS-encrypted), so our servers never receive them; chat lives only in your browser's memory, disappears when you leave the room and is not stored anywhere (including your device). To set up the connection, our server (Cloudflare) relays connection details (which include IP addresses) and keeps track of who is in the room, but does not store those connection details; a room only stores its host, rhythm, locked / muted settings, removed accounts, and the names and random IDs of people who joined (used to verify reports), and is deleted when it's closed or after 7 days without anyone joining. To discover your public address, your browser contacts public STUN servers (Cloudflare, Xiaomi, Bilibili), which can see your IP address. Your block list only stores the other person's random ID and name. When you report someone, only the messages you choose to attach are sent to us, to handle the report. At the end of each focus session, the minutes you were actually present are logged to your own Focus space as usual. Only join rooms with people you trust. Grow together: your energy, the virtual trees you plant and the co-planter names you choose to add are stored only in your own My Data (the forest table); the room's tree, energy balls and leaves are only sent between devices in the room.

Messages (from November 2026): messages go directly end to end, never through our servers, and are never saved. Setting up the connection goes through our server, and the other person can see your IP address. In detail: you can only chat with mutual contacts (members of the same circle, or focus buddies you added each other as in a focus room), and only when you're both online. Text, emoji, photos, typing indicators and read receipts are sent device to device over a WebRTC data channel (DTLS-encrypted), so our servers never receive them; messages live only in the page's memory and disappear when the chat ends or you leave the page, and are not stored anywhere (including your device). Our server (Cloudflare) only knows you're online while Messages is open and tells your contacts (you can go invisible), and relays chat invites and connection details (which include IP addresses) without storing them. We only store your focus buddy list and pending buddy requests (the other account, name, avatar and time); you can remove a buddy or block someone at any time. When you report someone, only the messages you choose to attach are sent to us.

9. AI apps and the open API

You can connect AI apps such as Claude, ChatGPT and Cursor (via MCP) or your own scripts (via personal API tokens) to your account. A connection exists only after you click Allow on our consent page or create a token yourself; you choose its permissions and can disconnect or revoke it at any time in Settings → API & AI connections.

When you ask, an AI app reads the data you allowed (for example widget settings, your personal page, start pages, to-dos and My Data records). That content becomes part of your conversation with the app and is handled under that app's own privacy policy. We never provide your data to anyone for model training.

We store hashes of tokens and authorizations (never the tokens themselves), the app name, permissions, creation and last-used times, daily call counts, and an activity log of each change (who, when, what changed and the content before and after, so you can review and undo it). Activity logs are kept with your account and deleted when you delete your account. AI apps cannot delete your data or access your account, payments or membership.

10. Changes

We may update this policy. Updates will be posted on this page with a new effective date.

11. Contact

For privacy questions, contact islaohu@gmail.com.

서비스 약관 · 개인정보 처리방침 · 환불 정책