mirror of
https://github.com/Alvin-Zilverstand/return-youtube-dislike.git
synced 2026-10-28 07:40:27 +01:00
Prepare 4.0.5 Firefox update and Shorts fixes
Add Firefox data consent, repair contributor sign-in, and introduce optional Hide clutter buttons. Harden video navigation, voting, and action layouts with shared browser regression coverage and reproducible release packaging.
This commit is contained in:
+61
-4
@@ -1,7 +1,64 @@
|
||||
The only data collected from users is their likes and dislikes made while the extension is installed.
|
||||
# Return YouTube Dislike Privacy Policy
|
||||
|
||||
No personal info, account name or watch history is collected or saved.
|
||||
Last updated: September 5, 2026
|
||||
|
||||
Users are identified by a random user ID, which is not directly linked to any of their accounts, the only purpose of this user ID is to make voting process possible.
|
||||
This policy describes version 4.0.5 and its matching backend release.
|
||||
|
||||
None of the saved data is shared with any third parties.
|
||||
Return YouTube Dislike transmits only the data needed to provide its dislike-count, voting, abuse-prevention, and
|
||||
optional premium features. It does not sell personal data or use it for advertising.
|
||||
|
||||
## Data required for the extension to work
|
||||
|
||||
- On registration, the extension generates a persistent random installation identifier and sends it to the Return
|
||||
YouTube Dislike API. The identifier is not derived from or linked to a YouTube or Google account, but it is a
|
||||
persistent identifier and is treated as personal data.
|
||||
- When a YouTube video is opened, the extension sends that video's ID and, when available, its visible like count to
|
||||
retrieve and improve the dislike estimate.
|
||||
- When the user submits a Like, Dislike, or vote removal and vote submission is enabled, the extension sends the random
|
||||
installation identifier, video ID, and selected action.
|
||||
- API requests necessarily expose the network IP address and request time. The service uses this information for
|
||||
security, abuse prevention, aggregate analytics, and operation of the API.
|
||||
|
||||
The extension does not send a YouTube account name, comments, private YouTube data, or the contents of unrelated web
|
||||
pages. It does not maintain a separate local list of videos watched.
|
||||
|
||||
## Optional account and premium data
|
||||
|
||||
Patreon and GitHub sign-in are optional. The account flow starts only after the user selects a sign-in button and, in
|
||||
Firefox, grants the separate authentication-data permission. The selected provider and the Return YouTube Dislike API
|
||||
process the OAuth authorization response. The API returns the provider account ID, name, profile image,
|
||||
account-access status, access tier, and a Return YouTube Dislike session token as applicable to that provider. GitHub
|
||||
sign-in may also return an email address. Patreon sign-in does not request or return email, account-status fields,
|
||||
or connected social accounts; the name and profile image identify the signed-in account in the popup. To
|
||||
determine Patreon access, the matching backend uses currently entitled tier IDs. It does not request or use membership
|
||||
amounts, charge dates or status, lifetime payments, or patron status. The extension does not receive payment-card or
|
||||
bank-account details.
|
||||
|
||||
Those account details and the session token are stored in browser extension storage and used to authenticate premium
|
||||
analytics requests. The session token expires after 30 days. Signing out deletes the locally stored account details and
|
||||
session token. Revoking Firefox's authentication-data permission clears that local account session and prevents further
|
||||
account and premium requests. Pending responses cannot restore the session; the user must sign in again to resume it.
|
||||
|
||||
Patreon and GitHub process sign-in information under their own privacy policies. The extension never receives the
|
||||
user's Patreon or GitHub password.
|
||||
|
||||
## Storage, retention, and sharing
|
||||
|
||||
The identifier, settings, and optional account session use browser extension sync storage, which may be synchronized
|
||||
through the browser's sync service when the user enables it. The random installation identifier remains in extension storage until the extension data is cleared, registration is
|
||||
reset, or the extension is removed. Confirmed vote records contain the identifier, video ID, vote, timestamp, and the
|
||||
network address used for abuse controls. Registration and vote records are retained by the service while they are
|
||||
needed to calculate results, maintain vote integrity, and prevent abuse; no shorter automatic deletion period is
|
||||
promised.
|
||||
|
||||
Data is not sold or shared for advertising. It is processed by the Return YouTube Dislike service and its hosting and
|
||||
network infrastructure providers, and by Patreon or GitHub only when the user chooses the corresponding sign-in flow.
|
||||
|
||||
## User controls
|
||||
|
||||
Firefox displays its built-in consent prompt before the required data is transmitted. Refusing the required consent
|
||||
prevents installation or acceptance of the update. Vote submission can be disabled in the extension settings. Optional account access can be
|
||||
declined or revoked without disabling ordinary dislike counts. Firefox private-window access is disabled.
|
||||
|
||||
Users can clear extension storage or remove the extension to delete locally stored data. Requests concerning service
|
||||
data can be made through the project's support channels at https://returnyoutubedislike.com/help.
|
||||
|
||||
+23
-5
@@ -4,23 +4,41 @@ Read this in other languages: [русский](SECURITY-FAQru.md), [Nederlands](
|
||||
|
||||
### Are you tracking my viewing history?
|
||||
|
||||
No. The extension's code is public and you can see it for yourself. The only information being sent is the video ID, which is required to fetch the dislike count for the videos. There are no additional headers being sent. Over the communication layer, your public IP will be exposed to the server, as well as the time when the request was made. However, none of these are uniquely identifying you in any way. Assuming a zero-trust environment, the best we could get is a dynamic IP. Which, today is yours, tomorrow is your neighbor's. If you're really worried about your IP being traced, you probably already use a VPN.
|
||||
The extension sends the current video ID and, when available, its visible like count to the Return YouTube Dislike API
|
||||
because the server needs them to return and improve the dislike estimate. The request also exposes standard network
|
||||
metadata such as the public IP address and request time. The extension does not send your YouTube account name,
|
||||
comments, private YouTube data, or the contents of unrelated pages, and it does not keep a separate local watch-history
|
||||
list.
|
||||
|
||||
### Can you uniquely identify me if I dislike?
|
||||
|
||||
Yes. When you dislike a video, we create a randomly generated unique ID for you that is not tied to your Google account. This is done to prevent botting. But there is no way to tie this random Id to you or your personal YouTube account.
|
||||
The extension creates a persistent random ID for abuse-resistant vote submission. It is not derived from or linked to
|
||||
your Google or YouTube account, but Mozilla classifies persistent identifiers as personal data. The ID lets the service
|
||||
associate submitted votes with the same extension installation.
|
||||
|
||||
### What information do you have, exactly?
|
||||
|
||||
Just the video ID. Not your comments, not your username, not who you've shared the video with, not any additional metadata. Nothing. Just the video ID.
|
||||
For dislike-count requests: the current video ID and, when available, the visible like count. For registration and vote
|
||||
submission: the random extension user ID, video ID, selected vote, timestamp, and network address used for abuse
|
||||
controls. Optional premium features use the account ID, name, email address, profile image, membership information, and
|
||||
service session token returned by a Patreon or GitHub sign-in initiated by the user. For version 4.0.5 and its matching
|
||||
backend release, Patreon access is determined from currently entitled tier IDs rather than financial information.
|
||||
|
||||
### How is my IP stored?
|
||||
|
||||
The backend keeps unhashed IP addresses in volatile memory (RAM) only. These addresses aren't stored on a hard drive, and therefore aren't logged. We hash the IP addresses, and that's stored instead. This is done to prevent database vandalism.
|
||||
The API receives your network address with each request. Confirmed vote records retain the network address used for
|
||||
abuse prevention and aggregate analytics. It is not sold or used for advertising.
|
||||
|
||||
### I heard some discussion over OAuth, and access to my YouTube account!
|
||||
|
||||
This feature will be optional, and very much opt-in. If you are a YouTube creator, and would like to share your dislike stats with us, you can. The way [OAuth](https://en.wikipedia.org/wiki/OAuth#:~:text=but%20without%20giving%20them%20the%20passwords.) was structured, it's actually very secure. You can revoke access to your account at any time, and can give very specific permissions to us. We will not ask for any permissions that aren't required. We'll only ask for permissions to view your video stats.
|
||||
Premium analytics sign-in is optional and starts only after the user chooses Patreon or GitHub login in the extension.
|
||||
The OAuth flow returns account details and a Return YouTube Dislike session token used to authenticate premium API
|
||||
requests. In version 4.0.5 and its matching backend release, Patreon eligibility uses currently entitled tier IDs;
|
||||
the service does not request or use membership amounts, charge dates or status, lifetime payments, or patron status.
|
||||
Firefox asks for separate authentication-data consent before account traffic begins. Signing out removes
|
||||
the stored account details and session from the extension. Revoking Firefox's authentication-data permission also clears the
|
||||
account session and blocks further account traffic until you grant consent and sign in again. Browser sync may
|
||||
synchronize the installation identifier, settings, and account session when enabled.
|
||||
|
||||
### How can I trust this dislike count?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user