PRIVACY POLICY
Thingometri Studio
Privacy Policy
1. Application owner and purpose
Thingometri Studio ("Thingometri," "we," or "the application") is a privately operated educational-video production project. It is operated by the developer and owner of the Thingometry YouTube channel identified above. The application runs locally on the operator’s Mac and is not offered to the public as a hosted application, shared workspace, social network, or account service.
Its purpose is to help the operator create original science and engineering Shorts, verify the intended YouTube channel, upload only operator-approved productions and metadata, record publication results, and retrieve performance metrics for those productions. Rendering a video does not publish it. YouTube uploading, scheduling, and public-publishing controls are separate and disabled by default.
Privacy contact: kiran.raj@fluxeq.com.
2. Google OAuth authentication
Thingometri uses Google’s installed-application OAuth 2.0 flow. When authorization is started, Google opens in the operator’s browser. Google—not Thingometri—authenticates the Google account and presents the consent screen. Thingometri never requests, receives, or stores the operator’s Google or YouTube password.
The operator chooses a Google identity and, where Google supports it, the YouTube channel associated with that identity. Thingometri then uses the YouTube Data API to retrieve the selected channel’s title and channel ID. The channel ID must exactly match the operator-confirmed Thingometry channel before the credential is activated locally.
Google supplies a short-lived access token and an offline refresh token after consent. The refresh token allows the local application to obtain replacement access tokens without asking the operator to sign in for every API request. Tokens are used only with official Google OAuth, YouTube Data API, and YouTube Analytics API endpoints for the functions described in this policy.
3. Google and YouTube data accessed, collected, and used
Thingometri requests the following OAuth permissions. It does not request access to email, Google Drive, contacts, calendars, comments, playlists, private messages, or a Google password.
youtube.readonly
Permission: View the operator’s YouTube account and channel information.
Data accessed: the authorized channel ID and title, whether the subscriber count is hidden, the visible subscriber count when available, and the channel video count.
Use: display and verify the API-returned channel identity, pin the expected Thingometry channel ID, prevent a credential for a different channel from being used, and report authentication health.
Stored locally: the confirmed channel ID, channel title, confirmation time, and authorization-verification records. Subscriber and video counts are returned by status checks but are not written by that status path into the production analytics tables.
youtube.upload
Permission: Upload videos to the authorized YouTube channel.
Data and content sent to YouTube: the operator-approved video file and its approved title, description, tags, category, language, made-for-kids declaration, visibility setting, and optional scheduled publication time.
Use: create a YouTube video only after the application’s separate publication gates permit the action. If a publication time is supplied, the upload is first sent as private with that time. Thingometri does not use this scope to edit or delete existing YouTube videos.
Stored locally: the returned YouTube video ID, video URL, publication time, publication status, upload-attempt state, and a checksum of the local media used for duplicate-action protection. Original production files and licensing evidence remain local production records rather than data received from Google.
yt-analytics.readonly
Permission: View YouTube Analytics reports for the authorized channel.
Data accessed: for a Thingometri video, the application may request views, estimated minutes watched, average view duration, likes, comments, shares, and subscribers gained for a specified reporting period. The API’s column definitions and response rows are also received.
Use: populate operator-visible performance checkpoints, normally at 24 hours, 72 hours, and seven days after publication, so the operator can assess the educational video and plan future work.
Stored locally: timestamped metric snapshots, checkpoint status, collection source, and the raw response payload returned for that report. These records are not displayed to the public.
Public YouTube research data
Separately from OAuth, Thingometri can use a project API key to request public YouTube search and video information as an audience-research signal. The local cache can contain the search query, video ID and URL, title, channel ID and title, publication time, duration, and publicly returned view, like, and comment counts. Public YouTube results are labeled as audience signals rather than factual evidence. This API-key workflow does not use the operator’s OAuth token and does not download or store YouTube audiovisual content.
Operational records
The application also records local operational information needed to run safely: API operation name and time, success or failure state, authorization verification time, platform publication status, analytics checkpoint state, production ID, and sanitized errors. These records may refer to a YouTube video or channel ID but do not contain a Google password.
4. How Google user data is used
OAuth-authorized Google user data is used only to provide or improve the operator-facing YouTube functions described above: verify the intended channel, upload approved original content, prevent duplicate or cross-channel actions, record publication outcomes, collect authorized performance metrics, troubleshoot the integration, and let the operator disconnect the account and delete local YouTube API data.
Thingometri does not sell Google user data, rent it, disclose it to data brokers, use it for advertising or retargeting, use it to determine creditworthiness, use it for surveillance, or combine it with data from unrelated YouTube content owners. OAuth-authorized YouTube data is not used to train generalized artificial-intelligence or machine-learning models.
Only the operator who authorized the channel can access these local records. Thingometri does not expose OAuth-authorized data on this public website or provide it to other users.
5. Local storage and security controls
Thingometri stores the active Google OAuth token in a Git-ignored JSON credential file on the operator’s Mac. The default path is data/credentials/youtube-oauth.json; an environment setting may point to another local protected path. The application creates and rewrites that file atomically with owner-only 0600 filesystem permissions. OAuth client credentials, API keys, and the local .env file are also excluded from Git and maintained with owner-only access.
The confirmed channel ID, title, confirmation time, and safety controls are stored in a local configuration file. Publication IDs, URLs, timestamps, analytics snapshots, checkpoints, authorization-verification records, and API-usage records are stored in the local SQLite database at data/analytics.sqlite3. Public YouTube research responses are stored as JSON under data/cache/youtube-research/. Structured workflow logs are stored under data/logs/.
Large production media may be stored on an operator-controlled external drive. The live SQLite database and active OAuth token are not moved into the production-media archive. The static Cloudflare website contains no OAuth token, API key, analytics database, production media, or private project file.
Implemented security controls include HTTPS for Google and provider API traffic; exact YouTube channel-ID confirmation before credential activation; owner-only credential-file permissions; Git exclusions; atomic token replacement; secret, password, token, and API-key field redaction in structured logs; known-secret string replacement in logged values; disabled-by-default publishing controls; and explicit confirmation for revocation and local deletion.
The application does not currently add its own encryption layer or macOS Keychain protection to the OAuth token file. Protection depends on the Mac user account, filesystem permissions, and any device-level encryption configured by the operator. This limitation is not represented as encryption by Thingometri.
7. Google API Services User Data Policy and Limited Use
Thingometri Studio’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
In particular, Google user data is limited to the operator-facing features described in this policy; is not transferred except to provide those features with the operator’s consent, for security, to comply with law, or as otherwise permitted by the Limited Use requirements; and is not sold or used for advertising, lending, or surveillance. Human access is limited to the authorizing operator and exceptional security or legal needs permitted by that policy.
8. Retention and data freshness
- OAuth tokens: retained locally while the YouTube connection remains authorized and operationally necessary. They are removed by the disconnect process.
- Channel identity and publication records: retained while needed to bind the credential to the correct channel, prevent duplicate actions, and maintain the production history. YouTube-specific values are cleared by disconnect.
- YouTube analytics and statistics: retained as dated historical snapshots for the operator’s channel while authorization remains active. Authenticated status and analytics operations revalidate the Google credential. The current release does not independently guarantee an authorization probe every 30 days; the operator must run the documented status check at least every 30 days until automated enforcement is added.
- Public YouTube research cache: treated as fresh for 24 hours. When the research subsystem runs, it removes cached response files older than 30 days. A new refresh replaces the cached response for the same query.
- Operational logs and API-usage records: retained locally for troubleshooting and safety auditing until manually removed or deleted through the applicable YouTube-data deletion process.
- Original scripts, narration, production media, and licensing records: retained as Thingometri production records. They are not Google API data merely because a finished video may later be uploaded to YouTube.
If the application learns that authorization has been revoked or receives a verified deletion request, associated authorized YouTube API data must be deleted as soon as possible and no later than seven calendar days. The local disconnect command performs this deletion immediately when invoked.
9. Revoking authorization and deleting stored data
The operator can revoke Thingometri’s Google access at any time from Google Account permissions. Revocation prevents future authorized API access. Because this is a local desktop application without a continuously running revocation webhook, the operator should also run the local disconnect command or contact Thingometri so the stored local data is removed promptly.
The operator can revoke the Google grant and immediately delete the corresponding local OAuth token and YouTube API data with:
thingometri youtube disconnect \
--confirm-channel UCjJkPHhfOk8ysBIcCothzUA \
--confirm-delete
This deletes the local token, YouTube metric snapshots and analytics checkpoints, YouTube publication identifiers and URLs, YouTube upload-attempt and authorization-verification records, API-usage records, and public YouTube research cache. It clears the confirmed channel binding. It does not delete original scripts, locally created media, licensing evidence, or unrelated Instagram and Facebook records.
Deleting local Thingometri records does not delete videos or other data held by YouTube. To delete a video or other content from YouTube, the operator must use YouTube or YouTube Studio.
A verified deletion request sent to the privacy contact below will be handled as soon as possible and no later than seven calendar days.
10. Public website data
This informational website is separate from the local Python application. Its source contains no sign-in, contact form, advertising, local storage, application cookies, embedded YouTube player, or client-side analytics. No Google OAuth authorization occurs on this website. Cloudflare processes ordinary HTTP requests to deliver and protect the pages.
11. Children
The application and website are production tools for the channel operator and are not directed to children under 13. Website visitors cannot create an account or authorize Google access through this site.
12. Privacy questions, complaints, and policy changes
Questions, complaints, access requests, and deletion requests may be sent to kiran.raj@fluxeq.com.
If Thingometri materially changes how it accesses, uses, stores, deletes, or shares Google user data, this policy will be updated before the new use begins. Where required, the operator will be asked to review the updated disclosure and authorize the changed access. The effective date at the top of this page will also be updated.