inWind WA Helper Privacy Policy

Last updated: November 2, 2026 · Applies to the extension, official website, and inWind WA Helper shortcut

inWind WA Helper provides translation, image descriptions, reply drafts, and summaries for content that users actively submit. It is an independent extension and is not affiliated with WhatsApp or Meta.

What content we use

The extension uses a single text message, image, or voice note that you paste, type, upload, or actively select from the message's right-side dropdown menu. It does not scan messages, contacts, chat lists, or history in bulk, does not send WhatsApp messages automatically, and does not read in-page account credentials.

Translation, image understanding, and voice transcription in the message dropdown send that one item when clicked. Pasting and uploading in the side panel require you to click Generate. For voice, it reads only the message you selected: it prefers the page player; if unavailable, it reads the media bytes cached by the page for that message, and if necessary decrypts them locally with the media key carried by that message. The extension does not export other messages or read message bodies from private message stores; if it cannot read the audio, you can choose a local audio file. When using the official inWind WA Helper service by default, the above content is sent to our official service wa.inwindoverseas.com, which forwards it to the configured model provider; when using a custom API, it is sent directly to the API you configure.

Who receives the content

In official service mode, you do not need to enter a model API. After signing in, the official service selects a model and forwards the content; the model provider's key is stored only in the official service and never enters the extension. In custom API mode, you enter your own Base URL, Model, and API Key for text and images separately; for voice, you enter the Doubao speech Base URL, Resource ID, and API Key. When you choose "Transcribe and translate", the audio is first sent to the transcription API, and the transcript is then sent to the text API for translation. The assistant also sends the current conversation context in the side panel. Usage, charges, and balance for the official service are stored in our account system; top-ups are completed through ZPay and WeChat Pay. We store order and payment status and do not access bank cards or payment passwords.

Custom API requests include the API Key used for authentication. Official service requests include your account access token, not the upstream model key. Model providers receive the request content and ordinary network information (such as IP address) and may store, use, or bill for the content under their policies. Read the privacy terms of your chosen provider before submitting. The official service is maintained by the product operator; the review test channel uses the same official model forwarding and is not linked to user accounts or balances; custom API content does not pass through the official service.

Clicking "Test saved connection" sends one minimal text request and may incur a charge. Clicking "Read models for the saved API" sends an authenticated request to that API's /models endpoint and does not send tool input or images.

Local storage and retention

Custom API Base URL, model or resource ID, API Key, and the official service account session token are stored in chrome.storage.local, accessible only to the extension's trusted pages and background, and not synced by Chrome. API Keys are not additionally encrypted; programs with local permission to access browser data can still obtain them. Do not save keys on untrusted devices. WeChat QR sign-in uses the identity identifier returned by the official account and links accounts by a digest of that identifier; the official service stores balance, top-up orders, usage, and ledger records. Signing out does not delete your balance.

The official service temporarily stores submitted task content and generated results in private object storage to execute tasks and return results. Inputs for successful or clearly failed tasks are deleted; inputs for some abnormal tasks may remain. Generated results are used to return and reuse results. Objects carry a 24-hour expiry marker, but the marker itself does not guarantee automatic deletion. Sign-in rate limiting and the review test channel store digests of IP addresses; network services and model or payment providers may also receive IP addresses.

Content selected from the right-click menu is temporarily stored per tab in chrome.storage.session. It is deleted as soon as the side panel takes it, and when the tab is closed or navigated; content older than two minutes is not imported, and a browser restart clears the session.

Tool input, images, audio, and generated results are processed in the current page's memory. Translations, voice transcripts, and image understanding results are stored in the extension's own IndexedDB by message ID and source fingerprint, so they can be shown directly next time without calling the model again; old results no longer match after the source changes. Results expire after 90 days, at most 500 are kept, and you can clear them in settings. The original message, audio, and image are not written to that database.

Auto-translate is off by default. When enabled, non-target-language messages from the other party in the currently visible window are automatically sent to the text model used by the current service mode and the translation is shown; messages you send are not sent. This feature is billed per message and can be turned off at any time. Official mode charges your balance by actual usage; top-ups are non-refundable.

The three-space composer translation is off by default. After you enable it and choose a target language, quickly pressing the spacebar three times in the chat input box sends the complete current draft to the configured text model. The translation is written back to the input box; you can keep only the translation or the original plus translation, and no message is sent automatically. Drafts and their translations are not written to the extension's result database; editing the draft or switching chats prevents old results from overwriting the current input. Canceling a request does not guarantee that the model provider stops billing.

Voice transcripts and trade terminology

After transcription, the tool may correct obvious speech recognition errors using context and merge correction and translation into one text model call. The tool keeps the original transcript, the corrected text, the change details, and the rule version; it does not generate an additional original translation. The extension can expand the original transcript, and the shortcut appends the original transcript and an explanation when there are changes. Normal correction and translation share one call. If correction output is abnormal, at most one ordinary translation is added, and the balance budget is checked before the call. Every confirmed usage is stored and settled; unconfirmed charges are not guessed.

The operator maintains official terminology rules in the admin console. New requests use the rule snapshot at that time, and updates do not overwrite historical results; submitting the same audio again under new rules can reuse the saved transcript and translate separately. Custom APIs use the extension's built-in default glossary and do not automatically connect to the official service to read operator rules.

Permissions and network

storage stores local configuration and temporary imports. sidePanel provides the browser's native side panel. contextMenus provides the right-click menu for actively selecting text and images. Fixed site permissions cover https://web.whatsapp.com/ and https://wa.inwindoverseas.com/ for page features and the official service, respectively.

Optional site permissions are requested only for the domain you enter when saving an API. APIs must use HTTPS; local loopback addresses may use HTTP. Browser site permissions apply by domain and cannot be isolated by port. You can revoke permissions in the extension details.

The extension may show promotional content configured by the operator at the top. Ads are not targeted by chat content; clicking an ad opens the listed third-party website, which receives visit information under its own policy. The extension contains no analytics, ad tracking, or remote scripts; the official service generates operational logs. Model output is displayed as plain text and is not executed. Stopping generation interrupts the local wait, but the provider may have already completed the request and billed for it.

The official website loads a self-hosted analytics service, analytics.inwind.cn, on page load to record page visits and referrers. The script runs only on the official website, does not enter the extension, does not read chat content, and is not linked to extension account identity.

inWind WA Helper shortcut

The shortcut reads only the single text, single image, or single audio file you actively submit through the system share sheet; it does not scan other apps, contacts, or chat history. Text and images are sent to the official service and then forwarded to a text or image model; audio is transcribed first and the transcript is submitted to the text model for translation. Each stage is billed by actual usage against the same account balance; closing the shortcut does not guarantee that the server task stops.

The pairing link generated on the computer account page is valid for 15 minutes and can be redeemed only once. After redemption, the shortcut stores a restricted credential in the shortcut file directory; that directory may sync through iCloud according to system settings. The credential can call paid content tasks and is not an encrypted vault. The server stores only the credential digest, trailing identifier, creation time, and last-used time. You can revoke it on the account page; pairing again invalidates the old credential. Do not share the pairing link or credential file.

The shortcut saves the most recent task ID to resume queries and does not store original files separately; the original text, translation, and generated results are shown through the system result pop-up. Server tasks and results follow the official service retention rules above. The pairing handoff page does not load website analytics, and long-term credentials are not placed in page URLs.

Android share helper (PWA)

The Android PWA processes only the single text, single image, or single audio file you actively select from the system share sheet. Shared content is first stored locally in the browser's IndexedDB; the page shows the material and submits it to the official service only after you confirm. It does not automatically scan other apps, chat history, or contacts. Images are resized to JPEG on the device, and audio is read in its original container; file names are used only for local prompts.

PWA credentials are stored and revoked separately from iPhone shortcut credentials. Credentials and local results are stored in the browser's IndexedDB and are not an encrypted vault; clearing site data or uninstalling the app may cause loss and require re-pairing. Clearing the local binding does not cancel server tasks already submitted; remote revocation is done on the computer account page. Retention and billing for PWA content follow the official service rules above; custom API mode does not pass through the official service.

Deletion and your choices

In settings, choose "Delete local configuration and API keys" to delete local configuration; choose "Clear saved translation and transcription results" to delete derived results. Uninstalling the extension clears extension storage; content already sent to a third-party API must be deleted according to that provider's rules, and the extension cannot delete it on their behalf.

Limited use and policy changes

Information received through Google APIs and its transfer by the extension comply with the Chrome Web Store User Data Policy and its Limited Use requirements. Data is used only for the AI communication features explicitly requested by the user, is not sold, is not used for advertising, and is not provided to data brokers.

If data practices change, we will update this policy and seek consent again when required. The publisher's contact channel is the developer contact listed on the Chrome Web Store page.