Hope Talk Publisher — Privacy Policy

Effective date: October 2, 2026.

This policy describes Hope Talk Publisher, a private local application operated for Hope Johnson’s own publishing workflow. Hope is its only intended user. There are no public user accounts, public registration, or third-party customer accounts. This policy concerns the application; it does not describe every data practice of the hopejohnson.org website.

Hope Talk Publisher uses YouTube API Services. Its YouTube integration is subject to the YouTube Terms of Service, and Google’s processing of information is described in the Google Privacy Policy.

Information processed locally

The application works with Hope’s own video and audio recordings, transcripts, proposed written content, captions, thumbnails, and rendered clips. It also stores review decisions, approval fingerprints, file locations, publication proposals, and validation records locally.

Audio extraction, transcoding, clip rendering, file hashing, and local review-file creation run on the local Mac. Transcription and some content analysis may use an external API as described below. A recording may contain other people’s voices or statements; authorization to process a talk does not make that material public.

Google and YouTube authorization

Hope Talk Publisher uses YouTube API Services. Authorization takes place through Google’s OAuth screens using a Desktop application client and a local loopback callback. The application does not request or store Hope’s Google password.

The configured scopes are youtube.upload and youtube.readonly. They support approved-video delivery and verification of the authorized channel and uploaded-video information. The application’s intended destination is Hope’s channel, Awesome Hope Johnson. Its channel-checking code refuses a different destination.

The application reads the authorized channel’s id. For uploaded videos, it requests the snippet, status, fileDetails, processingDetails, and contentDetails response sections. Verification directly checks id, snippet.channelId, snippet.title, snippet.description, status.privacyStatus, fileDetails.fileName, fileDetails.fileSize, and fileDetails.durationMs. The response also includes available processing status and video content metadata. This information is used to verify delivery and record its result, not to create advertising profiles or analytics products.

The client ID and client secret are stored in the local project’s .env file. The authorization helper is designed to save a refresh token there only after verifying the intended channel. As of October 2, 2026, quota blocks that verification and no refresh token has been saved by the helper. Real unattended uploads remain disabled; the prepared API upload path accepts only disposable validation content.

Credential storage

The local .env file has owner-only file permissions, and the project excludes it from source control. The helper keeps authorization codes and access tokens in memory during its work and is designed not to print credential values or raw credential-bearing error responses. Temporary credential-write files are removed by the save helper.

These are local file protections. The application does not provide an encrypted credential vault, promise protection from other software running as the same Mac user, or control copies made by backups or synchronization services.

External processing and sharing

When Hope explicitly authorizes transcription or content analysis, the relevant audio, transcript text, or excerpts may be sent to OpenAI APIs. Such processing helps transcribe recordings, prepare editorial material, and review clips. It does not by itself publish a talk. Provider-side processing and retention are governed by the applicable OpenAI account settings and terms; the application does not guarantee deletion of provider-side copies.

For an authorized publishing operation, the relevant approved media and metadata would be sent to the chosen destination, such as YouTube, Substack, or Buzzsprout. An integration being present or planned does not authorize that transmission.

The application does not sell personal data or share YouTube user data with advertisers or third-party customers. It does not send YouTube account data to OpenAI for transcript analysis. It has no third-party advertising SDK or public customer-data service. Google and other providers process information under their own policies, including the Google Privacy Policy.

Retention and deletion

Local input recordings, generated transcripts, rendered media, reviews, approval records, and evidence remain in local project folders until Hope removes them. There is no implemented automatic expiry schedule or comprehensive account-data deletion button. Some processing helpers remove temporary files after their work; that does not mean every input, derivative, or audit record is automatically removed.

Hope can delete stored data manually:

  1. Local project data: stop any running processing job, open the project folder in Finder, and move the relevant files or run folders from inputs/, runs/, work/, or validation/ to Trash. Empty Trash to remove those local copies. This includes recordings, transcripts, generated media, reviews, and evidence. Deleting approved files can invalidate approval checks. Copies in backups or synchronized locations must be removed separately through those services.
  2. OAuth credentials and token: stop the application, open the local .env file in a text editor, remove the complete lines for YOUTUBE_CLIENT_ID, YOUTUBE_CLIENT_SECRET, and YOUTUBE_REFRESH_TOKEN if present, and save the file. Preserve unrelated service settings. Remove any backup copies separately. This removes the application’s saved YouTube credentials; it does not revoke Google authorization or delete the OAuth client in Google Cloud. To revoke access, use the Google Account controls described below.
  3. Previously uploaded content: open YouTube Studio, go to Content, select the relevant video, and use YouTube’s deletion controls. Content on other platforms must be deleted through those platforms. Local deletion and OAuth revocation do not delete remote videos. The current YouTube API integration does not implement remote deletion.

There is no automated deletion function for these steps.

Revoking access

Hope can open Google Account connections, choose Hope Talk Publisher, and remove its access. She can also manually remove the local saved token. Revoking Google authorization is separate from deleting stored local data and previously uploaded videos.

Questions and updates

Contact Hope’s public contact page with questions about this application’s privacy practices or local deletion. Material changes to implemented processing or sharing should be reflected in this policy before the changed workflow is enabled.