1. Introduction
Hourmark is a Chrome extension that records how long you study, organises that time by course and task, and shows which websites the time went to.
This policy covers three things: what information Hourmark handles, when it handles it, and what control you have over it.
It is built by Aryan Baki, an independent developer. Google sign-in and account backup are optional. You can use the study timer without signing in.
2. Information Hourmark processes
Study information you create
- Course names, descriptions, colours and icons
- Task names, notes, colours, icons, cumulative study goals and optional per-session planned durations
- Session dates, start and end times, and duration
- Paused time within a session
- Manually recorded study time
- Notes you write, including rich text and any images you insert
- Completion status for courses and tasks
- Your settings — website dark-mode preference, idle threshold and automatic pause, retention period, view preferences, timer configuration and website blocklist
Browsing information processed during an active study session
- Website hostname, for example
wikipedia.org - Page URL and path, after the redaction described below
- Page title
- Search terms taken from a URL's query string, such as the
q=value on a search results page - Time spent on each website, and the timestamps needed to build your reports
- Whether you were idle, or had Chrome in the background
Derived work progress and completion notifications
The Admin page in this test extension offers local sample tools without sign-in or email restrictions. Only the extension dashboard can change fixtures. Samples affect charts and exported backups, earn no XP and follow your existing optional cloud backup. The tools do not change account ownership, enable sync or grant access to another user's data.
Hourmark derives XP and time milestones locally from automatically recorded work, including work outside Chrome. Pauses, breaks, manual entries, sample data and known distraction intervals do not earn XP. Configured website rules identify known distractions; browser metadata cannot determine mental attention. This calculation preserves your study totals and uses no additional page collection.
Local derived metadata includes credited work amounts keyed by session ID, an exclusion flag on activity intervals, completed timer rounds, task queues, pending completion choices and notification delivery status. Reward credits remain after activity-detail retention or deletion so retries cannot award the same work again. Clear all data resets them. These fields are included in JSON backups and your existing optional account backup when you enable sync.
Work and break notifications use Chrome's notification API and are enabled by default. You can disable them in settings. Browser notifications are silent and show generic phase text without task names, website details or page content. A notification click opens Hourmark; it does not start work or mark a task complete. Your completion choices remain saved when Chrome or the operating system blocks notification delivery.
Start reminders and local timer sound
Start reminders are enabled by default. They can appear after opening Chrome or returning after 30 minutes of observed idle, locked or outside-Chrome absence. This observation runs independently of study collection and automatic pause. It stores only local scheduling timestamps, a local date for Skip today, and opaque occurrence/tab/document claims. It does not save webpage addresses, titles, body text or input, and this device state is excluded from backups. Running work and breaks are not interrupted; paused sessions can offer Resume. You can dismiss, skip today or turn reminders off.
Project and task choices and new-task text stay inside an extension-origin frame, separated from the website. The page receives only a public dialog identifier and generic labels, not your catalog or typed task names. Temporary document/navigation identity and private dialog credentials live in Chrome session storage, excluded from backups and cleared on browser restart. Web Navigation permission detects real document and single-page navigation changes so an old dialog cannot change a newer session. It does not add browsing-history collection.
Work and break boundaries can play a short tone generated entirely inside an extension offscreen document. No sound file is downloaded, no microphone is used, and no audio leaves the device. Mute alerts persists in settings and is separate from browser notifications. Boundary and delivery status are saved before delivery so alert failures cannot lose your recorded time or completion choices.
Website appearance outside a study session
Website appearance runs on supported webpages even when you are not studying. It reads page styles and computed colours locally to generate Dark or Light colors and apply brightness, contrast, sepia, and grayscale, or uses supported native dark styling with the default dark filters. The bundled engine may request a page's linked stylesheets with credentials omitted. AO3's native Reversi stylesheet is also requested from AO3 with credentials omitted; this does not change your AO3 account settings or page URL. These styling reads are not saved as browsing activity and are not sent to Hourmark's backend. The Website appearance panel controls styling and a host-only site list. Hosts include subdomains; pasted page URLs save only the host, without paths, queries, or credentials. These preferences are included in local backups and in cloud backups when you opt in. Styling does not start study collection. Chrome and extension pages and the Chrome Web Store are unsupported. The moon button opens the panel; Hourmark's own interface remains dark.
Redaction applied before study records are stored
Before a web address is written to a durable study record, Hourmark removes:
- any username or password embedded in the address;
- the fragment — everything after
#; - any query parameter whose name looks credential-bearing, including
token,access,auth,authorization,bearer,code,credential,jwt,key,oauth,password,refresh,secret,session,signatureandsigned.
Only http and https pages are recorded. Chrome's own internal pages and other address schemes are never recorded.
3. When information is processed
Browsing information is recorded only during a running focus phase of a tracked study session. Specifically:
- While focus is running — website activity is recorded.
- During a Pomodoro break — no website activity is recorded, and break time is excluded from study totals.
- While a session is paused — no website activity is recorded. Paused time is also excluded from your study totals.
- After a session is stopped — no website activity is recorded.
- When no session exists — no website activity is recorded. Installing Hourmark and never pressing start records nothing about your browsing.
- Manual time entry — records only the course, task, date, duration and any note you type. No browsing information is attached, and none is invented.
4. How information is used
Information is used only to operate the features of the extension:
- To run the study timer and keep its elapsed time accurate
- To connect recorded time to your courses and tasks
- To build your session history
- To show which websites your study time went to
- To calculate the totals and charts on your dashboard
- To recover a session that was interrupted by a browser restart
- To save your settings and preferences
- To support the export, import and deletion features
Your information is not used for advertising, profiling, credit decisions, or sale to data brokers.
5. Local storage and data transmission
- Hourmark stores your information locally, using Chrome's extension storage on your own device.
- If you choose Google sign-in, Google and Supabase process your name, email address, basic profile information and account identifier to authenticate you. Hourmark does not request Gmail access.
- Study data stays local until you click Sign in with Google beside the cloud-backup explanation. That click authorizes automatic backup and restore after Google verifies your account, without a separate enable-sync step. Sync sends courses, tasks, notes, completed sessions, the session-ID XP ledger, retained redacted website activity and preferences, including your blocklist, to the Hourmark Supabase backend. Active sessions stay on their original device; linking waits until the timer ends.
- Signed-out study tracking needs no backend requests. Website styling can request linked stylesheets from their existing hosts. Sign-in and enabled sync make requests to Google and Supabase. Images, icons and animations are bundled inside it — including the small icons beside website names, which are drawn locally rather than fetched from a favicon service, because requesting one would itself reveal to a third party which sites you had visited.
- You may deliberately export a backup file. Once exported, that file is an ordinary file on your computer and you control where it is stored or shared.
Hourmark uses chrome.storage.local, not Chrome's synchronised storage. Your working study record remains in this Chrome profile. With account sync enabled, a server backup can restore completed study data after a reinstall or on another device. Account credentials are stored in extension-origin IndexedDB, separate from study records.
6. Chrome permissions
Chrome shows a list of permissions when you install any extension. Here is what each one lets Hourmark do, and why it is needed.
| Permission | What it allows, and why |
|---|---|
| Access to all websites | Hourmark records addresses and titles during running focus to attribute study time. Students use different course portals, documentation and lecture sites, so those sites cannot be specified in advance. Access also lets Hourmark show its floating timer and redirect sites you explicitly add to an enabled focus blocklist. |
| Tabs | To see which tab is currently active and read its address and title, so time is attributed to the right website. |
| Scripting | To show the floating study timer and an eligible start reminder on pages that were already open. |
| Web Navigation | To validate the current document and invalidate stale dialogs after document or single-page navigation. Raw navigation addresses are kept only in temporary Chrome session storage for eligibility, never added to study records by this feature. |
| Idle | To pause focus automatically after your configured inactivity threshold or device lock, and resume on activity. You can disable automatic pause; idle time then remains a separate activity category. Independent reminder scheduling observes idle/locked absence without saving page metadata. |
| Alarms | To checkpoint a running session periodically, so its elapsed time survives the browser closing or restarting; also to schedule start reminders, phase boundaries and local absence checks. |
| Notifications | To display silent work/break notifications and open your saved completion choices. This permission adds no page collection or network transfer. |
| Offscreen | To generate a short local work/break tone in an extension document when tabs or the popup are closed. No microphone, external audio or additional page collection is used. |
| Identity | To open the optional Google sign-in flow and return its result to this extension. |
| Storage | To save your courses, tasks, sessions, notes and settings on your device. Unlimited Storage keeps the working record and account merge base without Chrome’s 10 MB local-storage cap. |
| Declarative Net Request | To redirect top-level navigation to domains and subdomains in your enabled blocklist during running focus. Matching open tabs also redirect when blocking begins. Rules release on breaks, pauses and completion; embedded resources stay available. Your blocklist is stored locally and included in your backup when you enable account sync. |
8. Stripe and optional support
Supporting Hourmark financially is entirely voluntary, and no payment flow is live yet. When one is added it will work as described below, and this section will be updated with the date it went live.
- Choosing "Support Hourmark" opens a payment page hosted by Stripe in a new browser tab.
- Stripe processes your payment and billing information under Stripe's own privacy policy.
- Hourmark does not receive or store your full card details.
- Supporting Hourmark does not unlock any features. The extension is fully functional without it.
- Your study records are never sent to Stripe. The payment page has no connection to the extension's data.
9. Data retention, export and deletion
Your information stays on your device until you change or remove it.
- Automatic retention — detailed website-activity records are kept for a period you control in Settings. The default is 90 days, adjustable from 1 day to 10 years. Older detail is removed automatically.
- Delete individual records — any session, course, task or note can be deleted from the dashboard.
- Delete website detail only — Settings can erase all retained page and domain information while keeping your session durations and totals.
- Delete everything — Settings includes a "clear all local data" action.
- Export — you can save your sessions or website activity as CSV, or take a complete JSON backup that can be restored later.
- Uninstall — removing the extension from Chrome removes its locally stored data with it.
Signing out pauses sync and keeps local data. A verified sign-in during an active timer keeps a pending linking choice in private extension storage and completes it automatically when the timer ends. Cancelling a later chooser, signing out, revoked account access or requesting cloud deletion clears that choice. Account switching and conflict resolution retain local recovery copies. Account metadata and these copies remain until the extension is uninstalled; clearing the current study record does not remove them. Uninstalling removes local data and credentials but keeps an enabled account backup for restoration. Account controls let you export or delete the cloud backup; deletion also disables automatic sync on that device. The server keeps a deletion revision, and the extension asks you to choose before recreating a deleted backup. Clearing local data while linked updates your cloud backup at the next sync. Supabase infrastructure backups have separate provider-managed retention. Contact the developer below to request deletion of your account identity.
10. Data security
Local tracking uses Chrome’s extension storage. Optional cloud backups use HTTPS and database access rules that restrict each signed-in user to their own backup. Server administrators retain administrative access.
Beyond that, Hourmark limits data handling to what its features actually require, and it redacts web addresses before storing them, as described in section 2. It relies on the isolation and storage protections Chrome gives extensions.
No software can promise perfect security, and this policy does not. Your device, your Chrome profile and any backup file you export are ultimately in your hands.
11. Children's privacy
Hourmark is intended for students in higher, professional and continuing education. It is not designed for or directed at young children, and optional Google sign-in processes the consenting user’s name, email address and account identifier.
12. Changes to this policy
This policy may be updated when Hourmark's features or data practices change. The "Last updated" date at the top of this page identifies the current version, and material changes will also be noted in the extension's release notes.
13. Contact
Questions about this policy, or about how Hourmark handles information:
- Developer: Aryan Baki
- Email: aryanbaki [dot]dev [at] gmail.com
Please do not include browsing history, screenshots of private pages, or other sensitive information when asking for support. It is never needed to answer a question about Hourmark.