Cringe Mountain privacy policy

Effective October 13, 2026. This policy covers Cringe Mountain. Cringe Mountain is operated by Dor Kalev, trading as Dor Kalev Studios. Contact cringemountain@dorkalev.com for privacy requests.

Your videos and captions

Recording, editing and rendering happen on your device. Starting a new project requires sign-in. When you finish recording or import a video, audio is sent for transcription and the take is sent for AI feedback while captions and an opening hook are prepared automatically. My Script supplies caption wording; transcription supplies timing. If an import has no script, its transcript creates an editable My Script. You can retake, change the result, or share it. Nothing is posted to a social network automatically.

Your personal gallery

A private gallery is prepared when you sign in, using your available display name and Google sign-in profile photo, or an initials avatar, plus a generated decorative header. All profile fields are editable; no Gmail inbox access is requested. After your first finished video, the app asks once whether to automatically add this and future finished videos privately. This account preference can be changed in My gallery. Manual or automatic additions upload the finished video and post text to Google Cloud Storage and Firestore. It is separate from a restorable project backup. Your gallery starts private. You choose a unique gallery name, profile and header images, a short bio and one HTTPS link. You can change video text, select which videos will appear, and explicitly publish your gallery. New uploads are not selected automatically. A published gallery, its selected videos, images and generated social-preview image can be viewed by anyone at its link. Public gallery pages and video playback are served without shared caching. Playback checks that the gallery is public and the video is selected. Making a gallery private or removing a video blocks new origin access. Cached posters and social-preview images can take up to a minute to expire; copies saved or shared elsewhere may remain. Private viewing links expire after five minutes. Gallery copies remain until you remove them or delete your account; unfinished uploads are scheduled for deletion after one day. A hashed deletion marker prevents in-flight requests from recreating a deleted account gallery. Gallery images are resized and stripped of embedded metadata; uploaded MP4 video is checked and optimized for playback. Initial limits are 50 videos and 2 GB per account, 500 MB per video, and 10 MB per profile image. Gallery uploads require keeping the app open. Social rehearsal previews stay on your device and never post to X, LinkedIn or TikTok.

Private project sync and backups

New signed-in projects automatically sync scripts, originals, images, captions and exports privately to Google Cloud Storage and Firestore. Transfers use Wi-Fi or cellular while the app is open and retry after interruption; operating-system suspension can pause them. Local editing does not wait for sync. Older guest drafts stay local unless explicitly backed up. Manual snapshots remain available. Restore creates separate local copies and preserves originals; browser effects remain available in a browser. Free has 1 GB, Chalk & Talk 5 GB and Full Send 100 GB of cloud project storage, measured as 1024 cubed bytes per GB. Current project branches and manual backups count; one recovery predecessor per branch is service overhead. Gallery storage is separate. Uploads increasing over-quota use are rejected; reducing replacements and existing downloads remain available. Cloud sync stops 90 days after a trial or paid plan ends, including for Free. Automatic deletion of expired project storage is not currently scheduled. Deleting a server copy does not delete local files or shared copies. Temporary uploads are scheduled to expire after one day; deletion is asynchronous.

Audio sent for AI transcription

Stopping a recording, importing a take, or finishing dictation sends extracted audio to our transcription service for automatic spoken-language detection and transcription; the app language is not used as a forced language. The caption server processes audio in memory. If you choose Regenerate captions in another language, the app first asks permission to send only the saved transcript text to Google Cloud Gemini for translation. Audio, video, images and My Script are not sent for this translation. The translated lines keep their saved start/end times and are stored with the local draft. For Free accounts, a successful translation response may also be held securely for up to 24 hours to support identical retries, then scheduled for deletion. Finishing chat dictation, either with Stop or after a long pause, transcribes the recording and automatically sends the resulting text to the chat. Find video ideas sends it with that request. Optional Dialogue uses the same recording and transcription service and sends the matching saved reply text to Google Cloud Gemini to generate an AI voice, then listens for the next turn. Speech audio is temporary and is not added to your project or a shared cache. Google processes the text under its service data policies. Dialogue keeps the microphone off during replies and stops when you end it or leave the app. Failed or interrupted dictation is retained locally for recovery. Successful Free responses may be held temporarily to support retries. Service providers may process data outside your country.

Take feedback

After recording or importing, the raw take is uploaded privately for background feedback. The gateway creates a compressed analysis copy and sends it to Google Cloud Gemini. Feedback may cover delivery, intonation and attention toward the camera; it can be wrong or report insufficient evidence. It never blocks sharing. The review service uses temporary private storage and removes analysis media through its cleanup policy. You can also request a review from the recording screen. Feedback is not a medical or personality assessment.

Script chat and creator memory

Sending a message shares its text, recent conversation context, project summary, My Script and relevant saved creator facts with Google Cloud Gemini through our server. Chat history, editable script cards and project summaries are stored in your account in Firestore. Decorative illustrations are no longer generated for new script cards. Previously generated thumbnails may remain stored privately with their cards; unavailable artwork uses a bundled icon. Only a bounded recent history and compact project summary are used for each request; visible history is preserved separately. Public HTTPS links supplied in chat are retrieved by our server; inaccessible pages are not bypassed, and the assistant asks you to paste their content. The app supplies bounded context for each Gemini request; Google Cloud provider retention policies apply. The app automatically learns reusable vocation, business, audience and style details from your words. About you lets you edit or clear them. Corrections take priority, and old conversation context is excluded from future model requests after a correction. This does not erase visible chat history. Account deletion removes the account conversation and memory records. Essence, Stories from work, Browse prompts and Next quest are helper prompts in the same chat.

AI allowances and retries

Free includes 50 AI actions and 30 audio minutes per calendar month. Chalk & Talk includes 500 actions and 300 minutes; Full Send includes 2,000 actions and 1,200 minutes. Allowances reset on the first day of each month at midnight UTC, without rollover. One successful chat, script, image, translation or route request is one action. Captions, dictation and video reviews count their server-measured processing duration, rounded up to the second. Live dictation and its final transcript share one duration; usable live words already delivered count even if the session closes. Failed work and cached retries add no allowance. Verified account and linked-provider identities are hashed to enforce caps and prevent resets by relinking accounts. Monthly counters and hashed links are scheduled to expire after 124 days from the start of their month; operation receipts after the reset plus 90 days; cached successful responses after 24 hours. Deletion is asynchronous. Background review reports have their existing job retention. Verified historical uncapped purchases retain their accepted terms. Previously activated trials and complimentary Chalk & Talk grants keep their access under the Chalk & Talk caps.

Ideas and your next quest

Script helpers use your current project, saved creator profile and the number of videos you marked posted to suggest ideas. Local legacy prompt and route drafts remain available. Opening Share for a ready video counts toward your in-app posting progress; it does not prove publication on a social network. Suggested hashtags are general suggestions, not verified live trend research.

Security and usage records

New projects and AI require sign-in. Existing local drafts remain available for editing and export. Purchases require sign-in. New accounts start on Free without a payment method. Cringe Mountain uses Firebase App Check for app attestation. It does not prove that a user is human. Creator requests and project creation are rate-limited using hashed verified identities; those rate counters and links are scheduled to expire two days after their short window resets. Google and Apple process app and device attestation information for this purpose. A random installation identifier is stored on your device; the server stores a hash of it with daily usage counters. Usage records are scheduled for deletion after seven days; deletion is asynchronous. Reinstalling the app may change the identifier.

Google Cloud keeps operational request logs, which can include IP address, request time, selected language, response status, and latency. The service does not intentionally put audio, transcripts, ideas, captions, or access tokens into logs. The default operational log retention is 30 days unless a different retention policy applies to a required security or audit log.

Browser sign-in

Starting a project or using AI in the browser requires Google or enabled Apple sign-in through Firebase Authentication, which processes your provider account ID, email and basic profile. The gateway verifies the sign-in token and stores a hash of the account ID with usage records. Daily usage records are scheduled for deletion after seven days, and aggregate monthly counters after 124 days from the start of their month; deletion is asynchronous. The Firebase account profile remains until deleted; use Account & plans to delete your account, or contact Dor for help. Recording, local editing and export need no account. New signed-in projects sync privately while the app is open; signing out leaves local drafts on this device. See the browser privacy details.

Permissions and control

Camera and microphone access are used for recording. The system media picker lets you select a video. You can manage camera and microphone permissions in device settings. Recording/import triggers the preparation described above; existing drafts can still be edited locally. Removing app data deletes local drafts; videos you exported or shared remain wherever you saved them. You can contact Dor about data handling without creating an account.

Advertising and changes

Cringe Mountain has no advertising or advertising tracking SDK. This policy is updated when the service’s processing changes. Questions or requests: cringemountain@dorkalev.com.

Accounts, trials and payments

Firebase Authentication processes your Google or Apple sign-in identity, email and basic profile. Your Firebase account ID is shared with RevenueCat to connect purchases across web and mobile. RevenueCat processes purchase history, subscription status and this identifier to enable paid features and provide billing analytics. These records are not used for advertising tracking. Apple, Google Play and Dodo Payments process checkout, payment details, renewals, receipts and refunds under their own policies. Paddle continues to handle records for earlier Paddle purchases. Dodo receives your verified account email, optional name and an opaque account reference for web purchases. We retain the provider customer and payment references, selected plan, checkout terms version and access status to deliver purchases, prevent duplicate billing and handle refunds and disputes. Private recordings and scripts are not collected as dispute evidence. The app and gateway do not receive or store full payment-card details. The gateway verifies native and earlier Paddle purchase status with RevenueCat and Dodo web payments with Dodo, and mirrors Dodo access into RevenueCat. These billing records remain separate from your private content.

New trials are no longer offered. Previously activated trials keep their original end date. Minimal hashed identity records and those trial dates are retained to recognize existing access across linked identities, including after account deletion; no name, email, media or transcript is stored in these records. Payment providers retain records needed for billing, disputes and legal obligations. Account deletion instructions explain removal, retained data and subscription cancellation.

Error reports

As of September 16, 2026, Cringe Mountain uses Sentry to receive technical error reports from its mobile and browser app. Reports can include an error message and stack trace, device/browser and app-version context, and network information normally delivered with a request. Sentry helps diagnose reliability problems. The app is configured without session replay, screen recording, user feedback, performance tracing, account identity, request bodies or network-response breadcrumbs. The app does not intentionally send recordings, audio, scripts, captions, typed/pasted thoughts, media names/paths, email addresses, Firebase identifiers or payment details to Sentry. Sentry processes reports under its own privacy policy.

Optional product analytics

If you choose Allow anonymous analytics in Account & plans, Cringe Mountain uses Google Analytics for Firebase to receive limited product-use events, such as opening Studio, starting or exporting a video, signing in, and completing an explicit backup, restore, gallery or checkout action. It does not intentionally send your video, audio, scripts, captions, typed text, name, email, Firebase identifier, payment identifier, raw URL or free-form error message. Analytics uses browser cookies or an app-installation identifier as applicable. You can turn it off at any time in Account & plans; turning it off stops future collection. Cringe Mountain does not enable advertising identifiers, Google Signals, remarketing, or Google Ads linking for this analytics.

Browser storage and shared devices

Your browser stores originals, scripts, captions, images, exports and chat drafts locally. Clearing site data, private browsing, browser eviction or device loss can remove local work. Private account sync is available while the app is open; wait for its completed status before relying on another device. Older guest drafts remain local unless explicitly backed up. Signing out leaves the local video library on this browser, so use a separate browser profile on a shared device. Different hostnames have separate local storage. Downloadable library backups contain your media and text; keep them private.

Browser verification

Firebase App Check uses Google reCAPTCHA Enterprise to verify requests. Your sign-in session remains in this browser until you sign out or clear site data. Video look effects run locally; selecting a background downloads the segmentation model and runtime from this site. Background choices remain with the project.