PRIVACY POLICY
Video Watched Time Companion Privacy Policy
Summary
- Video Watched Time Companion measures how long videos play and records, for each day, the hostname of each website where video played (such as www.youtube.com) and for how long, together with your settings and any custom character image you add.
- These records are stored only in Chrome’s extension storage on your device. The Extension does not send them to the Developer or to any other server, does not use Chrome Sync, and removes daily history older than 366 days the next time it saves its records.
- To work, the Extension places a timer overlay, a random tab identifier and reports about embedded frames inside the web pages you visit, where the websites’ own scripts may be able to read them.
- The Developer operates no server, account system, analytics or advertising for the Extension, and does not sell or share the information the Extension processes.
- The Report form (Google Forms), Ko-fi and Discord open only when you click them, and the Extension attaches no data to them.
- You can clear today’s records or all data in the popup, or remove the Extension at chrome://extensions to delete everything it has stored in Chrome’s extension storage; tab identifiers saved in websites’ session storage disappear when each tab is closed.
1. Introduction
This Privacy Policy (the “Policy”) is issued by That Developer Steven (the “Developer”, “we”, “us” or “our”), an independent software developer based in the Hong Kong Special Administrative Region. It applies to the Video Watched Time Companion extension for Google Chrome (the “Extension”). In this Policy, “you” and “your” refer to any person who installs or uses the Extension, and “Personal Data” means information relating to an identified or identifiable natural person.
The Extension measures how long videos play in Google Chrome. It shows an on-page timer on websites that contain a video, keeps session, website, daily, weekly, monthly and yearly watch-time totals on your device, and offers a statistics chart, an optional companion character and optional break reminders.
This Policy explains what information the Extension handles, why it handles it, where the information is kept and the choices available to you. By installing or using the Extension, you acknowledge this Policy.
2. Scope of This Policy
This Policy applies to the Extension as distributed through the Chrome Web Store, version 1.0.4 and later versions until this Policy is updated. In version 1.0.4, the Extension’s toolbar popup is headed “Anime Watch Timer”; this Policy applies to the popup in the same way.
The Extension runs on the websites you visit in Google Chrome and measures video played in standard HTML5 video elements, for example on YouTube or the Netflix website. This Policy does not apply to those websites, to Google Chrome itself, to the Chrome Web Store, or to any third-party service that you reach through a link in the Extension, such as Google Forms, Ko-fi or Discord. Each of them is governed by its own terms and privacy policy.
3. Information the Extension Processes
This Policy distinguishes between two kinds of handling. Processing on your device means that the Extension creates, reads or stores information inside Google Chrome on your own computer. Collection by the Developer means that information is transmitted to, and received by, the Developer. The Extension processes information about video playback, and the websites where it happens, on your device in order to show your watch time. It does not transmit that information to the Developer or to any server, so the information is not collected by the Developer.
The table below lists each category of information that the Extension processes.
| Category | What it includes | Purpose | Where it is kept | Retention |
|---|---|---|---|---|
| Settings | Whether the overlay is enabled; which timer statistics are shown; the selected character; the position, size and transparency of the timer, the character and the break reminder dialog; and whether break reminders are on and their interval. No record of when a break reminder was last shown is kept. | To apply your choices. | Chrome’s extension storage on your device (chrome.storage.local). | Until you change them, select Clear all data or remove the Extension. |
| Today’s watch time | Today’s date, the total playing time and the time for each website, recorded under the hostname of the top-level page. | To show today’s figures in the popup and the overlay. | Chrome’s extension storage on your device (chrome.storage.local). | Replaced with an empty record when a page is first loaded or video first plays on a new day; reset by Clear Today and Clear all data. |
| Daily watch-time history | For each day with playback: the date, the total time and the time for each website hostname; for the current day only, hour-by-hour totals overall and for each website. | To calculate weekly, monthly and yearly totals and to draw the Statistics Chart. | Chrome’s extension storage on your device (chrome.storage.local). | Normally 366 days (today and the previous 365 days); older days are removed only the next time the Extension saves its records, as explained in Data Retention and Deletion. |
| Current session | The length of the current viewing session, recent timestamps, whether video is playing and the hostname currently credited with playback. | To count session time once across all tabs and to start a new session when playback resumes after three minutes or more. | Chrome’s extension storage on your device (chrome.storage.local). | Overwritten continuously; reset when the Extension is installed or updated or Google Chrome is updated; not affected by Clear Today; erased by Clear all data. |
| Custom characters | For each custom character: a random identifier, the name you type (up to 40 characters) and an unchanged copy of the image file you select, with no size limit set by the Extension and including any embedded metadata, such as camera details or a GPS location. | To show your chosen image beside the timer. | Chrome’s extension storage on your device (chrome.storage.local). | Until you select Clear all data or remove the Extension; a single custom character cannot be deleted. |
| Active tab address | While the popup is open, the address of the active tab, from which only the hostname is used. | To show the current website and its time in the popup. | In memory only; the address is not stored. | Discarded when the popup closes. |
| Playback status | Internal messages between the Extension’s own components containing the top-level hostname, whether video is playing, the random tab identifier and a timestamp, sent about once per second while video plays, when playback starts or stops, and when you leave a page; and, when the popup asks the current page for live figures, today’s date, that hostname, its time and today’s total, and whether video is playing and the overlay is enabled. | To credit playing time to the correct website without counting it twice. | In memory only, inside the Extension. | Stale entries are removed when the next message arrives; all are discarded when Chrome stops the Extension’s background process. |
| Video player state | Properties of video elements, such as whether they are paused, playback rate, current position, size, muted state, volume and fullscreen state, and the positions of embedded frames. | To find the main video and tell whether it is playing. | In memory only. | Discarded when the page is closed. |
| Embedded-frame reports | From every frame embedded in a page, about once per second: the frame’s full address (including any query string), whether it has a video and whether it is playing, a score, a random identifier and a timestamp, sent to the top-level page. | To detect video playing in embedded players. | In memory only, in the top-level page. | Each report is discarded after about 15 seconds and when the page closes; the Extension keeps the frame address in memory only and does not use or save it. |
| Tab identifier in website storage | A randomly generated identifier, which also encodes the time it was created, saved under the name awt_session_tab_key in the session storage of each website you open as a top-level page in a tab, whether or not the page has a video and whether or not the overlay is enabled. | To tell tabs apart when counting playback. | That website’s session storage in the tab. | Until the tab is closed; not removed by Clear all data or by removing the Extension. |
| On-page overlay | On pages that contain a video element, even a paused one, while the overlay is enabled, and on any page while you use Adjust Size & Position: the page’s hostname, whether video is playing, all six timer values (including rows you have hidden), the selected character image and the break reminder dialog. | To display your watch time and character on the page. | The web page you are viewing (display only). | Until the page is closed or reloaded, even if you turn the overlay off in the meantime. |
| Reports and messages you send (optional) | Anything you choose to enter in the Report form or send to us by email and, for email, your email address. | To respond to your report or message and to improve the Extension. | Not stored by the Extension. Form answers are held in Google Forms, where the Developer, as the form’s owner, can read them; emails are held by the email providers involved and in the Developer’s mailbox. | Only as long as reasonably needed to handle them and maintain the Extension; you may ask us to delete them. |
Please note the following details:
- What counts as watch time. Time is counted only while a video is playing. The Extension does not check whether the tab is visible or the video is muted, so muted autoplaying videos, such as previews or advertisements, and videos in background tabs are also counted. When several tabs play video at once, the time is counted once and credited to one website.
- Hostnames, not full addresses. Watch time is recorded under the hostname of the top-level page only; full addresses, page titles, video titles and video sources are not stored. Video in an embedded frame is credited to the website that embeds it, and pages without a hostname, such as local files, are recorded as “this-site”.
- Information placed in web pages. A website’s own scripts may be able to read the overlay, the tab identifier and the embedded-frame reports, and the website could send what its scripts read to its own servers. A website showing the overlay could therefore learn your total watch time across all websites for the current session, today, this week, this month and this year (but not the per-website breakdown) and see your character image, including a custom image. Because frame reports are posted without restricting the recipient, a website could also receive the current addresses of frames embedded in its pages. Websites may also be able to detect that the Extension is installed. Turning off Enable overlay stops time tracking and keeps the overlay out of pages loaded afterwards, but an overlay already shown is only hidden until the page is reloaded. The tab identifier and frame reports continue while the Extension is enabled in Chrome.
- Incognito windows. Chrome runs extensions in Incognito windows only if you turn on “Allow in Incognito”. If you do, watch time and hostnames from Incognito tabs may be recorded in the same storage on your device and remain after the Incognito window is closed.
The Extension does not collect or process the following:
- It has no account or sign-in and does not collect your name or email address (we receive your email address only if you email us or choose to enter it in the Report form).
- It does not read page text, messages, form entries or passwords. It responds only to the Escape key and to dragging or scrolling over the overlay while you adjust its size and position, and it does not record keystrokes or mouse movements.
- It does not access cookies, payment information or contacts, and it does not use your device’s location services, camera or microphone.
- It does not use analytics, telemetry, advertising identifiers or third-party tracking tools, and it does not load code from outside the Extension.
4. How Information Is Used
Information processed by the Extension is used only to provide the Extension’s features to you on your device, namely to:
- detect when a video is playing and calculate session, website, daily, weekly, monthly and yearly watch-time totals;
- show the overlay timer, the figures in the popup and the Statistics Chart;
- display your chosen or custom companion character and apply your layout and transparency settings;
- show break reminders after the interval you set, if you turn them on; and
- remember your settings.
The Developer does not use this information for profiling, advertising or marketing, does not sell it, and does not use it to determine creditworthiness or for lending purposes. Because the information never reaches the Developer, no person acting for the Developer can view your watch-time records, settings or custom images.
If you send us a report or an email, we use it only to respond and to improve the Extension.
5. Where Information Is Stored and How It Is Protected
The settings, watch-time records, session information and custom characters described in this Policy are stored in Chrome’s extension storage on your device, which is the private storage area (chrome.storage.local) that Chrome provides to each extension. The Extension does not use chrome.storage.sync, so its data is not synchronized through Chrome Sync or your Google Account. The only exceptions are the tab identifier in each website’s session storage, the overlay displayed in web pages and the temporary in-memory information described in Information the Extension Processes.
The Developer does not operate any server, database, cloud service or account system for the Extension, and the Extension makes no network requests of its own.
The Extension does not apply its own encryption to its records. They rely on the security of Google Chrome, your browser profile and your device, and anyone who can use your browser profile may be able to view them. Information that the Extension places inside a web page is not protected from that page’s own scripts. We recommend that you use a screen lock, keep Chrome up to date, avoid custom images that you would not want websites to see, and use a separate browser profile if you share your computer.
6. Sharing and Disclosure
We do not sell, rent or trade Personal Data, and we do not share it except as described in this section.
Because the Extension does not transmit your watch-time records, settings, custom images or any other information to the Developer, we do not hold that information and cannot disclose it to any third party, including advertisers, data brokers, law enforcement or other authorities.
Websites you visit may be able to read the information that the Extension places inside their pages, as described above. The Extension does not send this information to any server, and the Developer does not control what websites do with it.
We do not share the contents of reports or emails you send us with third parties, other than the providers that host or carry them (Google Forms and the email providers involved), except where required by applicable law. The Extension does not use Chrome Sync, so no Extension data is shared with Google through synchronization.
7. Third-Party Websites and Services
The Extension does not send any information to the Developer or to any other server. Its code makes no network requests: it does not send requests to the websites you visit, does not reload pages, does not load remote scripts, images or fonts, and does not report usage. Character images are loaded from the Extension’s own package or from Chrome’s extension storage on your device.
Information may leave your device only in the following cases, none of which involves a transmission by the Extension’s own code:
- Websites you visit. As explained in Information the Extension Processes, a website’s own scripts may be able to read the overlay, the tab identifier and the embedded-frame reports that the Extension places in its pages, and the website could send that information to its own servers under its own privacy policy. The Extension does not send this information anywhere, and the Developer does not receive it.
- Report form. Selecting “Report” in the popup opens a Google Form in a new tab. The form is the Developer’s feedback and bug-report form for the Extension and may not always be accepting responses. The Extension does not fill in the form or attach any data. Anything you choose to enter is submitted directly to Google Forms under Google’s terms and the Google Privacy Policy.
- Ko-fi donation page. Selecting “Donate” opens the Developer’s Ko-fi page in a new tab. The link contains no information from the Extension; Ko-fi receives only what your browser normally sends when opening a website, and any donation is handled by Ko-fi and its payment providers under their own terms and privacy policies.
- Discord. Selecting “Discord” opens a Discord invitation in a new tab. The link contains no information from the Extension; Discord receives only what your browser normally sends when opening a website, and Discord’s own terms and privacy policy apply.
- Email. If you write to us at the address in the Contact section, your message is carried by the email providers involved under their own terms.
- Extension updates. Google Chrome checks the Chrome Web Store for updates to installed extensions and installs them. This is managed by Chrome, not by the Extension’s code, and is governed by Google’s terms and the Google Privacy Policy.
Opening a third-party website or service through a link in the Extension is your choice. The Developer is not responsible for the content or privacy practices of those websites and services.
8. Browser Permissions
The Extension requests the following browser permissions and access. Chrome may show related warnings when you install the Extension, such as that it can read and change your data on all websites.
| Permission | Why the Extension needs it |
|---|---|
| storage | Saves the settings, watch-time records, session information and custom characters described in this Policy in Chrome’s extension storage on your device (chrome.storage.local). The Extension does not use chrome.storage.sync. |
| host access to all URLs (all_urls) | Lets the popup read the address of the active tab, from which it uses only the hostname. Together with the content scripts below, it forms the access to all websites that Chrome shows at installation. |
| content scripts on all URLs (all_urls), in all frames | Runs the Extension’s two scripts and its style sheet in every web page and embedded frame. In top-level pages they detect videos, show the overlay and break reminders, measure playing time and save the tab identifier; in embedded frames they detect videos and send frame reports to the top-level page. |
| web-accessible resources (assets/Character/*.png for all URLs) | Lets the overlay display the bundled character images inside web pages. Because these images are reachable from web pages, a website may be able to detect that the Extension is installed. |
9. Data Retention and Deletion
The retention period for each category is shown in the table in Information the Extension Processes. In addition:
- Daily history is kept for up to 366 days. Older days, and hour-by-hour detail for past days, are removed the next time the Extension’s background process saves its records, which happens during playback, when you leave a web page, and when the Extension is installed or updated or Google Chrome is updated, so they may remain longer while the Extension is not in use. Entries from a previous calendar year are not shown on the Statistics Chart page.
- Clear Today (in the popup, then confirm) resets today’s totals and today’s history entry, but not the current session counter.
- Clear all data (in the popup, then Erase) erases everything in the Extension’s storage, including your settings and custom characters, although the confirmation message mentions only watch-time records.
- Custom characters cannot be deleted one at a time. Choosing another character stops a custom image from being shown, but it remains stored until you select Clear all data or remove the Extension.
- Tab identifiers are removed when you close the tab or clear that website’s data in Chrome.
To delete all information stored by the Extension in Chrome’s extension storage:
- Open chrome://extensions in Google Chrome.
- Find Video Watched Time Companion and select Remove.
- Confirm the removal. Chrome deletes the Extension together with its local storage, including all settings, watch-time records, session information and custom characters.
Removing the Extension does not remove tab identifiers already saved in website session storage, which disappear when each tab is closed. In pages that were already open, an overlay already shown remains, and embedded-frame reports may continue to be posted to the top-level page, until those pages are reloaded or closed.
Turning off Enable overlay, or turning the Extension off at chrome://extensions, stops new tracking but keeps existing records. Clearing your browsing history in Chrome may not delete the Extension’s records. To have a report or email you sent us deleted, please contact us.
10. Your Rights and Choices
You control the information that the Extension processes, because it is stored on your own device. You may view your watch time in the popup and on the Statistics Chart page, choose which statistics the overlay shows, turn the overlay or break reminders off, choose No Character, clear records, or remove the Extension at any time.
Depending on where you live, data protection laws may give you rights of access, correction, deletion, restriction of processing, objection and data portability in relation to your Personal Data. These laws include Regulation (EU) 2016/679 (the General Data Protection Regulation) in the European Union and the European Economic Area, the UK General Data Protection Regulation together with the Data Protection Act 2018 in the United Kingdom, the California Consumer Privacy Act of 2018 as amended by the California Privacy Rights Act of 2020, and the Personal Data (Privacy) Ordinance (Cap. 486) of Hong Kong.
Because the Developer does not hold the information processed by the Extension, you exercise these rights by viewing and managing it in your browser and deleting it as described in Data Retention and Deletion. You may nevertheless contact us with any request or question, including about reports or emails you have sent us, and we will respond within a reasonable time. You may also complain to your local data protection authority.
11. Children’s Privacy
The Extension is a general-audience tool and is not directed to children under the age of 13, or under the minimum age required in your country. We do not knowingly collect Personal Data from children. Because the Extension does not transmit information to the Developer, we do not receive such data through the Extension. If you believe that a child has sent us Personal Data, for example in a report or an email, please contact us and we will delete it.
12. Chrome Web Store User Data Policy
The use of information received or processed by the Extension adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements.
In particular, information processed by the Extension is:
- used only to provide the single purpose described in the Extension’s Chrome Web Store listing, which is to track and display the time you spend watching videos through an on-page timer and related statistics;
- not transferred to any person or service, except as described in this Policy;
- not used for personalized advertising;
- not used to determine creditworthiness or for lending purposes; and
- not read by any human, because it is never transmitted to the Developer.
The Extension’s Chrome Web Store listing states that the developer has disclosed that it will not collect or use your data. This is consistent with this Policy: the Extension processes watch-time and website information only on your device to provide its features, and that information is not transmitted to or collected by the Developer. Reports and emails are provided by you, outside the Extension, only if you choose to send them.
13. International Users
The Developer is based in the Hong Kong Special Administrative Region. The Extension processes information locally on your device, wherever you are located, and does not transfer information to the Developer or to any other country. The Extension does not use Chrome Sync.
If you choose to use the Report form or send us an email, the information you provide is handled by Google Forms or by the email providers involved and may be processed in countries other than your own, including Hong Kong, under those providers’ terms.
14. Changes to This Policy
We may update this Policy when the Extension changes, for example when features or permissions are added or removed, or when legal requirements change. When we do, we will revise the “Last updated” date of this Policy. Material changes will be highlighted on this page and, where appropriate, in the Extension’s Chrome Web Store listing or release notes.
Your continued use of the Extension after the effective date of an updated Policy means that you acknowledge the updated Policy. Earlier versions of this Policy are available on request.
15. Contact
If you have any question, request or concern about this Policy or the Extension, please contact us:
We aim to reply within 30 days. This Policy is published at https://www.thatdevelopersteven.com/chrome-extension/Video-Watched-Time-Companion/Privacy-Policy.