Update log
Update log
What has changed in CallVault, newest first. Dated by the day the work was finished and confirmed on a handset, not by the day it was written.
2 October 2026 0.2.9
Download the current build, with its SHA-256 so the file can be checked before installing. 0.2.8 was a test build and was never published; its fix is listed here because 0.2.9 is the first published build to carry it. Two things have not yet been confirmed on a phone: a brand-new call being filed under its organisation as it is saved, and calls inside the two messaging apps tested before, which have not been re-tested since the first fix below.
- Something that was not a call could keep the microphone recording all night. On one phone, a few seconds of a smart-home intercom were taken for a call in a different app, and CallVault kept recording until that app's notification went away, which it never does: nearly twelve hours, two nights running. A call that CallVault noticed through the phone switching into its calling audio mode now ends when the phone leaves that mode. If you are on 0.2.7, update, and look for unexpectedly long recordings: they are kept like any other, on the phone and in Google Drive if backup is on.
- Filter the call list. By month, by type (incoming, outgoing or app calls), by organisation, by whether there is a transcript, and by backup state, in any combination. Each choice shows how many calls it would leave. While a filter is on, the list says how many calls it is hiding and offers Clear, so a filter can never make it look as though a call was not recorded. Filters reset when the app restarts.
- Calls are now filed under their organisation. Putting a number under an organisation in the Directory never reached the calls themselves: nothing filed a call under its organisation, so the grouping the call list was built around never appeared. Each new call from a number in the Directory is now filed under that number's organisation when it is saved. Calls you already have stay as they are unless you choose Apply to existing calls when saving the number, so editing the Directory never quietly re-files your history. An organisation can have as many numbers as you like, and every organisation now has its own Add number button. Calls made inside apps carry no phone number and cannot be filed this way.
- Delete asks first. Removing a number from the Directory, and deleting several recordings at once, each took a single tap, and a number was deleted by accident. Both now say what will be lost and need a second tap on a different button. Deleting recordings also says how many of them have no backup and will be gone for good.
- The keyboard no longer hides Save when adding a number to the Directory.
25 September 2026 0.2.7
Download the current build, with its SHA-256 so the file can be checked before installing. Everything below was found and confirmed on two handsets over two days; 0.2.2 to 0.2.6 were test builds and were never published.
- Long recordings play straight away, and their waveform loads. A fifteen-minute call recorded perfectly and then would not play: the waveform never appeared and Play did nothing. The thirty-second limit added in 0.2.1 applied to the whole recording, so a long one on a busy phone ran out of time while still working, and playback waited for it. Playback now starts immediately whatever the waveform is doing, and the waveform only gives up if the phone stops making progress altogether. This is very likely what a tester reported on 22 September.
- "That call was not recorded" now only ever means that. Starting a transcription of a long call on battery showed a warning under that title, in red, about a call that had recorded perfectly. The microphone test and the transcription benchmark did the same. Each now has its own notification, and none of them can replace a genuine alert.
- Calls inside a second messaging app are now recorded. It does not mark its calls the way the first app tested does, so its outgoing calls were not noticed at all and incoming ones were cut off the moment they were answered. CallVault now also notices the phone switching into the audio mode apps use for calls, and names the recording after the person rather than after the app's status line. This widens what CallVault looks at while a call is in progress; the privacy policy has been updated to say exactly how.
- On slower phones, calls on battery lost half their audio. The part of the app that compresses a call could not keep up, and whatever it fell behind on was dropped. A 156-second call filed as 69 seconds. Fixed, along with a second fault it had been hiding, which scattered short gaps of silence through a recording.
- A missed call no longer makes CallVault think the phone is hiding calls from it. It was switching on a permanent background service it did not need, on a phone where everything was working.
- Export diagnostics now tells a phone that decodes slowly apart from one where decoding has stopped, and says how fast it went. Before, both were reported as stalled.
22 September 2026 0.2.1
Download the current build, with its SHA-256 so the file can be checked before installing.
- A recording that would not open no longer hangs the player. Reported by a tester: the waveform sat on "Reading waveform" indefinitely and the recording would not play. The reading step had no time limit, so a phone whose decoder never finished left the screen loading forever. It now gives up after thirty seconds and says Waveform unavailable on this device rather than waiting.
- That message is new in itself. A recording this phone could not read previously showed an empty space, which looked the same as one still loading, and then the same as nothing being wrong.
- Export diagnostics, in Settings. Writes a readable file about the
phone, its settings and its recent recordings, including what happens when this
particular device tries to decode them. Useful when a recording misbehaves on one phone
and not another.
Nothing is sent anywhere by the app. It produces a file and you choose who to share it with, if anyone. There is still no crash reporting and no analytics in CallVault, and there will not be. The file deliberately leaves out phone numbers, contact names and recording filenames, and it is plain text so it can be read before it is sent. - Recordings now note which speaker the call came out of — earpiece,
loudspeaker, Bluetooth or a wired headset — in the file stored alongside each recording.
It is sampled through the call rather than once at the start, so switching mid-call is
recorded as a change rather than reported as though it never happened.
This is there because it explains a great deal about app calls, where how well the other party comes through depends almost entirely on which speaker was in use.
21 September 2026 0.2.0
The first build published for download.
The version number moved from 0.1.0-m1 to 0.2.0. That number is written into every recording's sidecar, so it is part of how a recording describes itself, and leaving two very different builds sharing one version would have made that field meaningless.
App calls
- CallVault can now record calls made inside another app, alongside ordinary cellular calls, in the same app and the same archive.
- This has been confirmed with one messaging app. Detection is written without a list of app names: it looks for any app showing an ongoing call notification while the phone line itself is idle. That should hold for other calling apps, and it is why no app is named here, but it has not been tested with any of them. An app that does not post such a notification will not be detected at all, and one that labels it differently may record without a name attached.
- App calls are recorded as a single mixed track, not as separate channels. There is no You and Them control on them, because there is nothing to separate. The recording says so in its own sidecar rather than being presented as something better than it is.
- Quality varies, and it is honest about that. Across the calls measured so far, levels differed by more than thirty decibels depending on whether the phone was on speaker or held to the ear. The other party is always the quieter of the two. Treat this route as best effort, not as a replacement for a cellular recording.
- An app call shows a different mark in the list, in place of the incoming or outgoing arrow a cellular call carries. An app call has no direction to state, so no arrow is drawn.
- A cellular call always wins. If one arrives while an app call is being recorded, the recording is handed over only at the moment the cellular call is answered. A call that rings and is ignored changes nothing, and the app call recording is finished and kept rather than discarded.
- Detection needs notification access, granted by hand in Android settings. Until it is granted, app calls are simply not recorded.
Playback
- Boost and Even out voices, both on the player under Audio. Boost makes a quiet recording louder. Even out voices lifts the quieter party relative to the louder one, which is the one that helps when you can hear yourself clearly and not the person you were speaking to.
- Both are off by default and reset with each recording. Neither is ever written back to the file: the stored audio stays exactly as captured, so its hash keeps meaning something.
- Even out voices raises background noise along with the quieter voice. That is the same action, not a side effect, and the app says so next to the control.
Elsewhere
- An About section in Settings, naming the build and its author.
- When a recording is captured but not filed, the reason is now written to the app's own diagnostic log. A call discarded by a rule and a call lost to a fault used to look identical from outside.
20 September 2026
Transcription
- Recordings can be transcribed on the phone itself. The speech model runs on the device. No audio and no text is uploaded anywhere for this, and transcription works with the phone offline.
- Tap any line of a transcript to jump to that moment in the recording.
- Search covers what was said, not only names and numbers, so a call can be found by a phrase from inside it.
- Details are extracted from the text: reference numbers, amounts, dates and commitments. This is pattern matching over the transcript rather than a judgement about meaning, and it is only ever as good as the transcript underneath it.
- A mark in the calls list shows which recordings have been transcribed, beside the existing marks for backed up and protected.
- A call always interrupts transcription. Transcribing is minutes of work and recording a call is the thing this app exists for, so the job is abandoned the moment the phone rings and can be run again afterwards.
17 September 2026
- A reference can be added to a call at any time, not only in the minute after it ends. Previously a call whose prompt had been skipped could never have one added, which made the field look decorative when it was actually a one way door.
- The number and the agent's name are shown on the player, and renaming a call is now visibly something you can do rather than something you had to guess at.
- The installer's fingerprint is published on the setup page, so a sideloaded build can be checked against it before installing.
- Re-arming after a restart no longer needs a computer. The setup page carries the exact sequence, including the two steps that are easy to miss.
Before that
The foundations, built and confirmed on handsets between 15 and 16 September 2026: capture of both sides of a cellular call as separate channels, the recording index and its eight screens, backup to your own Google Drive within seconds of a call ending, and the rules that decide which calls are kept.
Also from that period, and worth stating plainly because they are safeguards rather than features: a completely silent capture is deleted and reported rather than filed as though it were a recording, a recording left stranded by a crash is recovered on the next launch, and the app says loudly when it is not armed instead of quietly recording nothing.