Last updated: June 20, 2026
This Privacy Policy explains how Disprofanity collects, uses, stores, shares, and otherwise processes personal information when you use our website, authentication flows, dashboards, media review tools, APIs, and related services.
In this Privacy Policy, "Disprofanity," "we," "us," and "our" mean the operator of the Disprofanity service. This policy applies to personal information processed through the Disprofanity website, account system, upload and review workflows, dashboards, support interactions, and operational systems.
We collect the following categories of information:
id_token during the redirect flow and sends that credential to our auth API for account sign-in or account creation. We use the Google account identifier, email address, display name, and profile image claims made available for authentication and profile setup.localStorage or sessionStorage. Refresh tokens are stored as HttpOnly cookies set by the auth API, so they are not readable by JavaScript. We also use sessionStorage for temporary Google redirect state, nonce, and credential handoff during sign-in completion, plus browser storage for referral continuity, task-list caching, lexicon caching, and local draft recovery.We use personal information to:
The current authentication flow uses short-lived access tokens for API calls and refresh tokens for session renewal. Access tokens currently expire after about 60 minutes and are kept only in frontend memory. When the page is restored or reloaded, the frontend uses the HttpOnly refresh cookie to request a new access token instead of reading one from browser storage. Refresh tokens are stored in a Secure, SameSite, HttpOnly cookie scoped to/api/auth. Browser requests to the auth API include that cookie when refreshing or logging out, but frontend JavaScript does not read or write the refresh token value. When refresh succeeds, the auth API may rotate the refresh cookie and return a new access token.
Google sign-in is optional. The Google redirect flow uses a temporary id_token credential, along with short-lived sessionStorage state used to complete the login or registration flow. That temporary Google redirect state is cleared after completion or failure.
For uploads, our backend creates a task and initializes an Alibaba Cloud OSS multipart upload. It then issues short-lived signed URLs for each upload part. Your browser uploads file chunks directly to OSS over HTTPS using those signed URLs; the frontend does not send the raw file through our auth API or tasks API after the signed upload URLs are issued.
After the browser upload finishes, the backend finalizes the multipart upload, verifies the stored media, prepares it for speech recognition, and stores task metadata needed for review and rendering. Download links are also short-lived signed OSS URLs. Backend workers may temporarily download media from OSS while running ASR or rendering, then keep the canonical task files in private object storage until they are deleted under the retention rules below.
We share personal information with trusted processors and service providers only as reasonably necessary to operate the service. These may include:
We may also disclose information:
Disprofanity currently operates key infrastructure in Singapore, including cloud infrastructure, object storage, and media-processing flows. Your files, transcripts, task metadata, account data, and related operational records may be processed or stored in Singapore and in other locations where our service providers operate, subject to applicable law.
We keep information for different periods depending on the type of data and why it is needed:
Depending on where you live, you may have rights to request access to, correction of, deletion of, restriction of, or objection to certain processing of your personal information, and in some cases portability of that information. You can delete eligible tasks and associated files through the product interface. For other privacy requests, please contact us using the details below.
We may need to verify your identity and may refuse or limit a request where permitted by law, such as when we need to retain information for security, fraud prevention, dispute resolution, usage accounting, or legal compliance.
We use a combination of administrative, technical, and organizational measures intended to protect personal information. These measures include private object storage, short-lived signed OSS upload and download URLs, HttpOnly refresh cookies, credential management, access controls, rate limiting, and environment-level security controls. No method of transmission or storage is completely secure, so we cannot guarantee absolute security.
Disprofanity is not directed to children under 13, or the minimum digital-consent age in the relevant jurisdiction, and we do not knowingly collect personal information from such children. If you believe a child has provided personal information in violation of this policy, please contact us so we can investigate and take appropriate action.
We may update this Privacy Policy from time to time to reflect changes in the service, our processing practices, or legal requirements. We will post the updated version on this page and change the "Last updated" date above. Material changes may also be communicated through the service or by email where appropriate.
For privacy questions or rights requests, contact us at support@disprofanity.com.