Overview
Keyflow is an iPhone keyboard app for creating custom keyboard toolbars, shortcut buttons, text inserts, reminders, logs, and dictation workflows. This policy explains how Keyflow handles data.
Data stored on your device
Keyflow stores the toolbars, toolbar items, shortcut names, reminder settings, log entries, usage statistics, and app preferences you create. This data is stored locally on your device and in the app's shared container so the main app and keyboard extension can work together.
Optional personal typing history
Save Personal Typing History is off by default and requires your confirmation in Personalization. When enabled, it saves text edits made with Keyflow, selected swipe words, timestamps, and available tap locations, swipe paths, and keyboard geometry on your device. This can include private text. It does not copy preexisting document contents, other keyboards' input, paste, dictation, or toolbar output. Protected fields and detected sensitive or technical input are excluded, but detection cannot identify every sensitive word in ordinary text.
The keyboard displays a typing-history notice with a Pause button while this setting is enabled. History stays in protected local storage, excluded from device backup, and is not uploaded or synced to iCloud. Capture pauses at its 1 GB limit. Records remain until you delete them. In Personalization you can pause capture, review daily words, prepare an export, or delete history. Preparing an export pauses capture; sharing it sends personal text to the destination you choose. Deleting history removes the local archive and its prepared export and pauses capture, but cannot remove copies you already shared. Learned word and phrase summaries are separate and can be removed with Clear Learned Data.
Optional local typing diagnostics
Typing Capture is a separate optional diagnostic setting. It records typed words, limited text context, suggestions, corrections, and timing on your device, excluding protected and detected sensitive fields. The keyboard shows a capture indicator. Capture expires after 24 hours or stops at its storage limit. Captured Sessions lets you export or delete these records; they are not uploaded automatically.
Optional iCloud sync
If iCloud sync is enabled, Keyflow may sync supported app data through Apple's CloudKit service using your private iCloud account. iCloud data is handled by Apple under your Apple ID and iCloud settings.
Keyboard input and Full Access
Keyflow's keyboard extension processes text only as needed to provide keyboard features such as toolbar insertion, shortcut launching, autocorrect, swipe typing, logging actions, and dictation controls. iOS requires Allow Full Access for some third-party keyboard features, including shared app settings and network-backed features.
Dictation, microphone, and speech recognition
If you use dictation, Keyflow requests microphone and speech recognition permissions. Dictation audio and transcripts are handled for the purpose of converting speech to text and displaying the result in the keyboard. Apple Speech is the default transcription service. Depending on the device, language, and Apple's service availability, Apple Speech recognition is not guaranteed to run entirely on-device and Apple may process speech under its applicable terms.
The current partial or final transcript may be held transiently in Keyflow's shared app container so the containing app and keyboard can complete the user-requested insertion. Keyflow does not use dictated audio or transcripts to train its typing or language models.
Optional AI features
AI Cleanup requires separate permission to share text with OpenAI. When you allow it and request cleanup, the selected or available text you choose to clean up, or your dictated transcript, and your cleanup instructions are sent over HTTPS to Keyflow's backend and then OpenAI. Dictation audio is not sent to OpenAI. Keyflow's cleanup endpoint does not persist these requests and asks OpenAI not to store the response; this does not eliminate any retention required by OpenAI's service policies. See OpenAI's Privacy Policy. You can revoke permission in Settings > Dictation or Cleanup Options. Revocation stops future requests and cannot recall requests already sent. Without permission, Fast Dictation remains available and AI dictation keeps the original transcript.
Current releases do not send remote AI next-word prediction requests. A saved prediction preference does not reactivate that transport. Local autocomplete remains available.
App Store and TestFlight releases do not send continuous cloud phrase-review requests. The following disclosure describes the development experiment and older versions that included it. Continuous swipe cleanup uses Keyflow's local phrase ranking by default. If you choose Apple Intelligence cleanup, candidate words are selected and the completed sentence may be conservatively corrected for recognition, grammar, capitalization, contractions, and punctuation on your supported device. If you separately consent to OpenAI cleanup, Keyflow sends candidate words and scores, quantized nearest-key gesture likelihoods, and no more than two preceding words to Keyflow's backend after your swipe ends. The backend uses the gesture likelihoods to build a constrained candidate lattice. OpenAI receives only that lattice and the limited context, not the gesture likelihoods, and may return a conservative cleaned sentence. Exact touch coordinates, device identifiers, and broader document contents are not sent for review, and review requests are not stored. OpenAI cleanup is disabled for URL, email, numeric, and other sensitive keyboard contexts, requires Full Access, is limited to development builds in the current version, and falls back to local review when unavailable.
Gallery and downloadable shortcuts
Keyflow may contact its gallery endpoint to load downloadable shortcut and toolbar templates. The gallery does not require a Keyflow account.
Subscriptions and purchase information
Keyflow uses Apple in-app purchases and RevenueCat to manage subscriptions. RevenueCat assigns an anonymous customer identifier and processes purchase history and subscription status to validate purchases, restore access, prevent fraud, and provide subscription analytics. Keyflow does not provide RevenueCat with your typed text, dictation transcripts, name, or email address, and does not receive your payment card details. Purchase records are separate from your local typing history; deleting typing history does not delete those records or cancel a subscription. You can manage or cancel a subscription in your Apple Account settings. See RevenueCat's Privacy Policy for its handling of this information, and contact Keyflow support for help with a purchase-data privacy request.
Retired training tools
Current Keyflow builds no longer include Dictionary Trainer, Novel Spelling Practice, Beta Keyboard Training, or Developer Mac Capture. The guided-training and tester-contact disclosures below remain available for older versions and previously collected records. You can still contact support to request deletion of uploaded records.
Optional Beta Keyboard Training
In older versions, TestFlight participants may choose to join a guided swipe-training session. Before a session starts, Keyflow displays a consent notice. Users can choose regular word training or continuous sentence training, and each selected package has separate left-hand and right-hand sessions. During those sessions, Keyflow collects the prompted word or sentence, requested hand, normalized finger path and timing, the active keyboard geometry, keyboard key positions and dimensions, spacebar boundaries for continuous gestures, recognition candidates and result, correction outcome, decoder diagnostics, app and operating-system versions, an anonymous random participant and session identifier, device manufacturer and model, display size and scale, coarse portrait or landscape orientation, and whether capture runs in Apple's simulator.
Beta training does not collect your device name, stable device identifiers, contacts, or typing outside the guided training screen. Previous-word context is disabled for these sessions. Training records are sent over HTTPS and stored in private Vercel Blob storage so Keyflow can measure and improve swipe recognition. Participation is optional. In versions that still include the training screen, you can stop sharing and delete records that are still queued on your device from that screen at any time.
Optional regular typing training
In older versions, TestFlight participants may separately choose guided Regular Typing Training. During this session, Keyflow displays a fixed catalog of short prompts and can collect the resolved letter, space, delete, shift, and return actions; normalized and quantized tap locations and timing; the active keyboard geometry and keyboard key positions and dimensions; the keyboard language and locale identifier; the selected two-thumb, left-only, or right-only input style; whether adaptive tap prediction was active; and timing-only indicators when autocorrect is accepted or reverted. Those autocorrect indicators do not include typed or suggested words. Events also include app and operating-system versions, an anonymous participant and session identifier, device manufacturer and model, display size and scale, coarse portrait or landscape orientation, and whether capture runs in Apple's simulator.
Regular Typing Training requires its own consent. It runs only while the dedicated training field is focused and validates each capture against the fixed prompt identifier. It does not upload surrounding document text, clipboard contents, host-app identifiers, contacts, device name, stable device identifiers, passwords, or unrelated typing. Invalid or excessively divergent prompts are discarded. Guided tap-training records are stored in Keyflow's private training storage for no more than 90 days. Training can remain local if upload consent is not granted.
Optional typing research sharing
Eligible beta participants may separately choose Share Typing Research. When enabled, Keyflow can send individual autocorrect pairs and whether the correction was accepted or reverted, plus quantized nearest-key likelihoods, candidate words and scores, and explicit correction choices for regular and continuous swipes. Events also include app and operating- system versions, an anonymous participant identifier, device manufacturer and model, display size and scale, coarse portrait or landscape orientation, and whether capture runs in Apple's simulator. Records are stored in Keyflow's private training storage. This setting is independent from cloud sentence review. Cloud review requests remain transient even when correction sharing is turned off.
Typing research does not include complete typed sentences, surrounding document text, exact touch coordinates, clipboard contents, host-app identifiers, contacts, your device name, stable device identifiers, or broader contents of the app where you are typing. Collection is suppressed for URL, email, search, phone, numeric, password, and other sensitive input contexts. Automatically inserted or AI-selected words are stored only as unverified observations; Keyflow treats an explicit alternate-suggestion selection as a stronger correction label. Ordinary continuous swipe records are retained for no more than 90 days.
Optional tester rewards and contact
In older versions, after completing both hand sessions in a training package, you may optionally provide your name and email address so Keyflow can contact you about tester rewards or fulfillment. You may separately choose whether to receive Keyflow news and offers for free or paid services. Marketing consent starts turned off and is not required to complete training or use Keyflow.
When an official tester drawing is active, eligible testers may also choose to enter for a one-year Keyflow subscription. Drawing consent is separate from marketing consent and is governed by the official rules shown in the app. Apple is not a sponsor and is not involved in the drawing. Training participation and ordinary app functionality do not require drawing entry.
Contact information is encrypted and stored separately from swipe training events. It is not placed in model-training exports. Contact submissions are retained for no more than 24 months unless you delete them earlier. In versions that include Tester Contact Preferences, you can update or delete a submission there. You can also unsubscribe using a link in promotional email or contact support for assistance. Keyflow does not sell this information.
No third-party advertising tracking
Keyflow does not include third-party advertising tracking and does not track you across apps or websites for advertising purposes.
Deleting data
You can delete toolbars, reminders, preferences, and logs inside Keyflow. You can remove local app data by deleting the app from your device. If iCloud sync is enabled, you may also manage iCloud data from your Apple ID and iCloud settings.
To request deletion of uploaded Beta Keyboard Training records, contact support and include your anonymous participant ID if available. Older versions show this ID in the Beta Keyboard Training screen; contact support for assistance if you no longer have access to that screen. The same deletion request covers guided swipe and regular-typing records, continuous swipe corrections, and typing research records. Guided regular-typing and ordinary correction records are retained for no more than 90 days. In older versions that include the Beta Keyboard Training screen, you can stop sharing and clear records still queued on your device there.
Tester contact information can be deleted by contacting support or from Tester Contact Preferences in older versions that include that screen. Promotional email choices can also be withdrawn using the unsubscribe link included with those messages.
Contact
For privacy or support questions, email support@keyflow.app.