Kabloo

Privacy

What Kabloo keeps, what it sends, and who receives it.

Last reviewed .

The short version

  • Your notes, transcripts and recordings are stored on your device.
  • Kabloo has no accounts or advertising.
  • App beta diagnostics are on by default during the beta, and you can turn them off. Cloudflare counts gateway results and website traffic.
  • Recordings and note content go to Kabloo Cloud for processing only after you connect, allow it and choose a cloud task.
  • You can export or delete your data at any time.

Who publishes Kabloo

Kabloo is published by Douglas Riches. Write to support@kabloo.ai about anything on this page.

What Kabloo keeps on your device

Notes, recordings, transcripts, speaker names, saved answers and reports, your transcription, Ask and Summary/Reports defaults and each recording’s choices, your appearance setting, your Local deeper-check choice, cloud consent decision, beta diagnostics choice, call-silencing choice, how far you got through Welcome and setup and, on iPhone or iPad, Do Not Disturb reminder choice are stored on your device, in Kabloo’s own storage. When Kabloo Local summarizes a recording too long to read in one go, it keeps its working notes on each section with the note, so Ask on that recording can reuse them later; nothing reads them yet. They name speakers only as S1, S2 and so on, and are never shown, exported or sent to Kabloo Cloud. Delete note and Delete all local data remove them. Cloud jobs can keep temporary copies as described below. Kabloo adds no encryption of its own. If you back up your device, the backup includes them. Downloaded models are left out of backups.

Photos of handwritten notes that you add to a note are stored on your device too, with their location removed when you add them. So are the lines Kabloo reads from them and your corrections. They stay with the note, go with it when you export or share it, and are removed with the note or by Delete all local data.

The microphone

Kabloo asks for microphone access before a recording starts, or sooner if you tap Allow microphone in Welcome and setup, the guide Kabloo opens the first time you use it. On Android 13 or later, it also asks once for notification permission, right after that tap or before the first recording. Recording starts whether you allow that notification or not, after you tap Record. On iPhone, iPad and Android phones, a recording can continue while the screen is locked or another app is in front once your device confirms background recording, until you stop it or it reaches two hours of recorded time. Your device shows its microphone indicator while Kabloo is recording. Record and share only what you have the right to.

On iOS, Kabloo can suggest turning on Do Not Disturb before a recording. Kabloo cannot turn it on for you. The suggestion is on until you turn it off in Settings or choose Don’t show this again. That choice stays on this device and is kept by Delete all local data.

On iPhone, iPad and Android phones, a call, an alarm or another interruption pauses a recording instead of ending it. The recording carries on in the same note when the interruption ends, or when you tap Resume. Time spent paused does not count toward the two hours. A single pause can last up to 30 minutes, and then Kabloo stops and saves what it recorded. When call silencing is active, it stays active during a pause, until recording stops on Android or the note is saved on iPhone and iPad. On Android, the microphone stays open during a pause, so its indicator remains on even though no audio is recorded.

A saved note records where each pause happened and how long it lasted. Kabloo sends those markers to no gateway or cloud provider, and they leave your device only in an export or share you start.

On iPhone and iPad, Kabloo lets other apps’ audio play while it records, so that audio does not pause a recording, and if it plays out loud it can be recorded.

Call recordings on Mac

On macOS 14.2 or later, Microphone + computer audio records your microphone and the sound your Mac plays, except Kabloo’s own audio. macOS asks for system audio permission, and Kabloo reminds you to tell everyone on the call. Interruptions on Mac stop and save the recording.

Kabloo keeps a mixed recording for playback, export and sharing, and a separate two-channel sources file that is never exported, shared or uploaded. Both stay on your Mac. On a Mac with Apple silicon, Kabloo Local transcribes the mixed recording; the sources file is kept for future on-device transcription, and nothing reads it yet. Delete note and Delete all local data remove both files.

If you choose Cloud transcription for a call, the mixed recording, with every voice in it, goes to Kabloo Cloud under your cloud consent.

Kabloo Local

With Kabloo Local installed on a supported iPhone, iPad, Android phone or Mac with Apple silicon, transcription happens on your device. New recordings are transcribed on the device automatically once Kabloo Local is installed, unless you chose Kabloo Cloud for transcription; nothing is sent for it. Kabloo sends no recording or transcript to a server for that work. Answers and reports need their own download on a supported device and also stay on the device. If beta diagnostics is on, Kabloo can still send a content-free result about whether the work succeeded.

For a note that already has text, Search in its Transcript tab filters that note’s passages without a download or cloud consent. It sends no note content and creates no answer or report.

Automatic titles made with an installed Kabloo Local text model stay on your device and never fall back to Kabloo Cloud.

When a note’s written notes use Kabloo Local, Kabloo reads each photo of handwritten notes with your device’s own text recognition on iPhone, iPad and Mac, from a smaller copy held in memory. Nothing is sent for it. On Android, reading is off for now.

While it transcribes, Kabloo keeps a temporary copy of the recording’s sound and removes it when the work ends. If Kabloo is closed by force at that moment, the copy may stay until the system clears it.

Downloading Kabloo Local

If you choose Identify speakers, Kabloo compares voices only within that recording. The temporary voice comparisons stay in memory and are released when the pass ends, including after cancellation or failure. They are never saved or sent to a server. Kabloo does not learn who people are or match voices between recordings. Unclear speech keeps the label Speaker unknown. Words and speaker labels can be wrong. Your choice and optional speaker count stay with a saved note and its retries. The existing speech to text option remains available. Neither local option falls back to Kabloo Cloud.

Kabloo downloads a model only when you choose Download Local pack in Settings or Welcome and setup. The request goes to Kabloo’s download server, which runs on Cloudflare, and carries no note, recording or transcript. Cloudflare receives your network address, the file asked for, the time, and a label naming the software that made the request, which does not identify your device. Kabloo’s server writes no logs of its own. Cloudflare’s own records are governed by Cloudflare’s policies.

On Android, optional Local source-check files come from Kabloo’s existing Cloudflare download server, with the same request metadata and privacy rules described above. Kabloo checks the file’s pinned size and hash before installation and use. Passage comparisons stay in one recording’s memory index on your device, are replaced when the source changes, and cleared when Local resources are released. They are not saved or sent to Cloud. Quick timestamp links and support checks are best effort and can miss errors or later corrections. Deeper contradiction checks are optional and off by default. Cloud checks keep their existing methodology.

Kabloo Cloud

Kabloo Cloud is optional and off by default. It works only after you enter an invite code and turn on Allow cloud processing, or choose I agree in Welcome and setup.

Transcription, Ask and Summary/Reports have separate defaults in Settings and Welcome and setup. All three start as Kabloo Local. Each recording keeps its choices from its first save, even when you close and reopen Kabloo. Changing a default affects new recordings only. Choosing a route in a note changes only that recording. Summary and other reports share their choice.

If you choose Kabloo Cloud for transcription, each new recording is sent to Kabloo Cloud by itself once it is saved, but only after Kabloo has checked your invite and while Cloud is available and your current consent allows it, checked again just before the upload. Otherwise it waits without sending anything, and it never switches to Kabloo Local, nor Kabloo Local to Kabloo Cloud. Kabloo sends it again by itself only after Kabloo Cloud said it was busy or unavailable, or the request was cancelled; any other failure stops it until you retry.

Once a transcript is saved, Summary starts automatically using that recording’s choice, including after a transcription you start yourself. A Cloud Summary sends the full transcript and its instructions to Kabloo’s gateway and report provider for writing and source checks, only after Kabloo has checked your invite and while Cloud is available and your current consent allows it. Otherwise it waits without sending anything or switching to another provider. Choosing or remembering Cloud does not grant consent. Ask waits for Send and manual reports for Generate. Your audio and completed transcript stay on your device through waiting, cancellation or failure. Kabloo cannot take back data already sent.

What is sent depends on the cloud work, including an automatic title request after cloud transcription:

  • To transcribe: the recording.
  • After a cloud transcription, to create a recording title automatically: selected transcript passages with their IDs, speaker labels and times go to Kabloo’s gateway and its configured report text provider. This request uses your cloud consent.
  • To answer a question: your question and the note’s transcript passages with their speaker names and times. Current versions can also send selected quotes and a candidate answer for further writing or checks. These requests stay under the same cloud consent.
  • To write a Summary or report: the full transcript and your instructions go to the report provider to write it. A source check sends the full transcript again with the generated words. Each successful reply counts toward your monthly limit. A pass can be retried once with a smaller request. Only a network error lets Kabloo send the same request again, under the same consent. If automatic Cloud Summary still fails, it stops rather than sending the transcript again on later automatic attempts.
  • To read aloud: the exact text of the note or report you chose.
  • To read a page of written notes, when that note’s written notes use Kabloo Cloud: a smaller copy of the page’s photo, turned upright, at most 2048 pixels on its long side and 4 MB, with its location and other details removed. Kabloo sends it when you add the page while cloud processing is on, or when you tap Read, one page per request, and the provider set for reading notes reads it. The gateway keeps no copy. Each page read counts toward your written notes limit. If the page cannot reach Kabloo Cloud, or the gateway or provider fails or runs out of time, Kabloo sends the same page once more, and that second request can count too. The lines read are kept on your device; this version does not yet send them with a Summary, answer or report. Pages are sent only from iPhone, iPad, Mac and Android.

A failed request that returns no content does not count toward your monthly limit. Successful replies, including a reply saying no matching evidence was found, count toward it. Failed requests still count toward the short-term request limit.

If cloud title generation is unavailable or fails, Kabloo keeps the ready transcript and a date and time title. A title you edited is never replaced.

Who receives it

Requests go to Kabloo’s gateway, which runs on Cloudflare, and from there to the provider chosen for that task: Cloudflare, OpenAI or ElevenLabs. Kabloo may send a task to any of these providers, and may choose a different one for each task or request, without asking you again. Kabloo sends them only what the task needs, and only to carry out your request. Each provider handles what it receives under its own terms and privacy policy, and Kabloo cannot promise that a provider keeps nothing.

Temporary Cloud transcripts

App versions with background Cloud transcription use the same job path for short and long recordings. These versions require fresh agreement to version 12 before uploading audio; a version 10 agreement does not allow this storage. App versions without this feature use version 10 and do not create these temporary job copies. For these jobs, Kabloo keeps a private copy in Cloudflare storage while the job runs. The private storage keeps these audio and transcript copies in the European Union (EU). This does not restrict gateway processing or service partners to the EU. Cloudflare job and billing records use its global infrastructure. The standard ElevenLabs service stores customer data in the United States.

An unfinished upload expires after six hours. Audio access ends within 24 hours of the job starting, and the copy is removed sooner when the job ends. The transcript waits for up to seven days after it is ready. Kabloo removes it after your device confirms it saved it, or when you cancel or it expires. A download alone is not that confirmation. If removal fails, access ends and Kabloo keeps trying; an outage can delay removal of the stored bytes. Service partners can keep separate copies under their own rules.

Job records hold no recording or transcript and normally stay for 30 days after the job ends. A small record needed to settle a charge or finish cleanup can stay until that task is resolved. This does not extend storage access for your audio or transcript. Turning Cloud off saves a request to cancel pending jobs. If the device cannot reach Kabloo, the request waits until it can. If the first job reply was lost, Kabloo may have to wait for that job to expire. No audio is uploaded before that reply is saved. Closing the app alone does not cancel a job. Kabloo cannot take back audio already sent to a partner or undo a charge already incurred or still uncertain. It adds no device ID or push notification token.

What the gateway keeps

For troubleshooting, Cloudflare keeps gateway request and error logs, separate from the anonymous beta metrics. These can include request paths, status, timing and network details. Paths can contain internal invite and job IDs. Query strings are removed from logged request URLs to protect signed audio links. Kabloo’s code adds fixed error categories and the service step that failed, but no recording, transcript, question, answer, credential or raw exception text. Query redaction does not erase older logs or control Cloudflare’s separate platform and security records.

The publisher’s console also shows anonymous Cloud failure totals. Only the operator can open it. These group fixed error categories, service steps and HTTP status by received hour, with first and last receipt times and report counts. They include no invite, job or request ID, network address, URL, credential, raw error text or note content. This service logging is separate from Share beta diagnostics. Groups expire 30 days after their first receipt; cleanup retries after an outage, which can delay deletion. Reports can be missing, and counts do not identify distinct people or requests. The separate log of operator actions is unchanged.

It holds other Cloud requests in memory while it handles them. Durable transcripts use the private temporary storage described above. For each invite it stores a fingerprint of the code, a label for the person it was given to, its monthly limits, an end date if one was set, whether it is paused, and its quota usage each month. While a request runs, it also keeps an opaque receipt ID, its task and its UTC month to settle that request’s allowance. The receipt is removed when the request is settled. The publisher can see those counts, and can pause an invite, revoke it, or set a date on which it ends.

Kabloo also keeps a list of invites and a log of each change made to one, in a service on Cloudflare that has no public address. For each invite the list holds the fingerprint of its code, its label, its monthly limits, its end date if one was set, how and when it was made, when it was paused, and when and why it was revoked. The log names an invite by its label. Neither holds a code, or anything from your notes.

Billing records

The publisher keeps daily billing totals linked to an opaque invite ID: how many requests were admitted, how many failed, token counts, transcription duration, speech character counts, and an estimated cost. These totals contain no audio, transcript, question, answer, report, narration text, invite code, email address, network address or device identifier. They are separate from anonymous beta diagnostics. Missing billing reports and unavailable billing units are shown as missing. Durable jobs retry delivery of a deduplicated billing receipt. Known or uncertain partner charges remain after cancellation, failure or expiry; restoring your app allowance does not refund a partner charge. Older request routes may omit failed-request charges from the estimate. Reading a page of written notes is counted as its own task, with no image or text.

Daily figures are kept for 24 months, then folded into anonymous monthly totals without an invite ID. When the publisher deletes an invite's record, its ID is removed from past usage and only anonymous totals remain. Deleting notes or choosing Delete all on your device does not remove these publisher records. Write to support@kabloo.ai to request removal of an invite's record. The existing change log still names invites by their labels.

The agreement explains billing records and points to search of existing text in Transcript as the choice that needs no cloud consent. App versions with background Cloud transcription require consent version 12, or 11 in earlier versions; other app versions use consent version 10. If your saved consent version does not match, Kabloo asks you to review the agreement before new uploads. Estimates start when metering is deployed; earlier token usage and cost cannot be recovered from attempt counts. They are estimates rather than invoices, and use a manually set rate for Canadian dollars.

When the gateway handles a health or access check, a cloud task (including a title request when that route is used), a feedback message, or an admin request, it records a limited result in Cloudflare Analytics Engine. This happens even when Share beta diagnostics is off. Access checks also continue while an invite code is saved, even if cloud processing is off. The result names the operation, success or failure, a limited error category and a rough duration range, so the publisher can see where requests fail. It includes no invite identifier, network address, note content or error text. Cloudflare keeps this data for three months.

What your device keeps

On iPhone, iPad and Android, the invite code is kept in the device’s protected storage, with your consent decision and its time. On Mac, the invite code and your cloud consent last only until you close Kabloo. Enter the code and agree again next time.

Withdrawing consent

Turn off Allow cloud processing, choose Disconnect, or use Delete all local data. Each stops new processing requests at once. None can recall what was already sent, or guarantee that a provider has stopped work it had begun.

While an invite code is stored, Kabloo checks it with the gateway each time it starts, and when you choose Check status in Settings. The check carries the code and nothing from your notes. Disconnect and Delete all local data remove the code, and the check stops with it.

Beta diagnostics

Share beta diagnostics is on by default while Kabloo is in beta, and separate from Allow cloud processing. Welcome and setup shows it with its switch, and you can turn it off there or in Settings at any time; a choice to turn it off is kept. While it is on, Kabloo sends a small event when the app starts, when an attempt to record, transcribe, install a model, answer or make a report, or to read written notes, ends, or when a Dart error handler runs. This helps the publisher see where the app fails and compare builds.

Each event names the action, result, platform, app build and a rough duration range when available. Where your device reports them, it also names your device’s model as the system gives it, such as Google Pixel 8, never a name you gave it, and its memory in whole gigabytes, so results can be compared by kind of device. Cloudflare Analytics Engine keeps it for three months. No event includes a recording or note content: no audio, transcript, question, answer or report. It also has no name of the AI model used, invite code, user, device or install identifier, raw error message or crash stack.

Cloudflare receives the network address, app or browser description, endpoint and time when it handles an event. Kabloo does not write the address or raw URL path into the Analytics Engine event. Turning the switch off stops future app events; it cannot recall ones already sent. The current browser build has no configured gateway, so the switch is unavailable there.

These events are best effort: one may be lost if the app closes before sending it. They are not full crash reports and do not cover native crashes or forced quits. Apple may separately give the publisher TestFlight crash reports and beta build usage figures from people who chose, in their device settings, to share diagnostics with app developers. When Kabloo is on Google Play, Google Play can show the publisher aggregate installation and usage figures, plus crash and app-not-responding reports from Android devices whose users chose to share usage and diagnostics data. These store reports are separate from Kabloo’s Share beta diagnostics switch. Kabloo adds no crash-reporting package.

Feedback from the app

While Kabloo is in beta, Send feedback opens a form. When you tap Send, Kabloo sends what you wrote, with the details the form shows you: the app’s version, your device’s system version and, where your device reports them, its model and memory, the screen you came from, and whether Kabloo Local and Kabloo Cloud are set up. It asks for no name or email address, and sends no note, recording or invite code.

Your message goes to Kabloo’s gateway on Cloudflare, which files it in Kabloo’s private repository on GitHub. The publisher, and people the publisher gives access to that repository, can read it. Cloudflare receives your network address, which the gateway uses only to limit how many messages one address can send in a minute, and does not keep.

Each message gets a reference, which the app shows once it is sent. To have a message deleted, write to support@kabloo.ai and quote its reference. Delete all local data cannot recall feedback already sent.

What Kabloo does not collect

Kabloo has no accounts and asks for no name, email address or phone number. It contains no advertising or tracking package, and it does not sell data or share it for advertising. It collects no recording, transcript, question, answer or report through beta diagnostics.

Exporting and deleting

You start every export. Kabloo hands the files to your device’s share sheet, and what happens to them afterwards is up to you and the app you chose.

Deleting a note removes it, its recording and its photos of written notes from Kabloo. When you confirm Delete all local data, Kabloo first holds back beta diagnostics events until it finishes. It then holds back automatic work, cancels cloud work and waits for running transcription or summaries to stop. Next it removes the invite code and revokes cloud consent, clears temporary Local source comparisons and your Local deeper-check choice, deletes downloaded models and temporary share files kept in Kabloo, discards unfinished recordings left by a crash, and deletes saved notes, transcripts, answers, reports and their audio and photos. A recording still being made is outside this leftover cleanup; stop it before choosing Delete all.

If Kabloo cannot clear the Local deeper-check choice or invite code, or remove a model or crash-leftover recording or temporary share file, it tells you. It still tries to delete saved notes and their audio. Your beta diagnostics choice, transcription, Ask and Summary/Reports defaults, appearance setting, choice about silencing calls and record of finishing Welcome and setup are kept, as is your iPhone or iPad choice about showing the Do Not Disturb reminder.

Deletion cannot reach copies you saved or sent elsewhere, your device’s backups, or anything a cloud provider already received. Kabloo deletes files in the ordinary way, and does not promise that deleted data can never be recovered from the device.

Kabloo’s servers can hold the temporary job copies described above. Cancelling a job requests their removal; turning Cloud off saves that request for when your device can reach the service. If you have written to support, you can ask for your messages to be deleted. If you hold an invite, you can ask for it to be revoked, which stops it working and leaves its record where it is. Write to support@kabloo.ai for either.

This website

kabloo.ai sets no cookies, runs no browser scripts or advertising, and loads no analytics script. Cloudflare still provides the publisher aggregate website figures: total requests, unique visitors and requests by country. To serve the site, Cloudflare receives your network address, your browser’s description of itself, the page you asked for and the time. For requests its security checks stopped or flagged, the publisher can also see the network address, browser description and page asked for. Cloudflare also keeps its own platform and security records under its policies.

The support page has a feedback form. When you press Send, your browser sends what you wrote and, if you filled them in, your device and Kabloo version. The form asks for no name or email address and sets no cookie. kabloo.ai passes it to Kabloo’s gateway on Cloudflare, which files it as an issue in Kabloo’s private repository on GitHub, where the publisher and the people the publisher gives access can read it. Your network address is used only to limit how many messages one address can send in a minute, and is recorded nowhere. Each message gets a reference, shown once it is sent. To have a message deleted, write to support@kabloo.ai and quote its reference.

Email

If you write to support@kabloo.ai, Cloudflare forwards your message to the publisher’s mailbox. Your message and address are used only to answer you. Ask, and they will be deleted.

Changes

When this page changes, the date at the top changes with it. A change to what Kabloo Cloud sends, or a provider not named on this page, also asks for your consent again in the app.