Settings, changed by asking

The account's switches — learning, own-voice recognition, reminders, the announcement, dictation.

Everything in Settings in the Chui app can also be changed in a conversation, which is usually where somebody finds it: these are the switches nobody goes looking for by tapping.

get_account() is the whole picture in one small answer — who the account is under, which plan it is on, how many meetings are left this month, the company if there is one, and what each switch below is set to. It is the thing to read before changing any of them, so that what is about to change can be said out loud first.

May Chui learn from my recordings

Chui's privacy policy promises this can be turned off at any time, and set_privacy() is that switch on this surface. Off means Chui will not read this account's recordings in order to improve itself. Nothing is deleted and nothing about the account's own meetings changes — summaries, search and everything else work exactly as before.

It is a consent, so it moves only when the person says it should. Never from a mood, a general remark about privacy, or a question asked about it.

Own-voice recognition

A person can ask Chui to recognise their own voice — nobody else's, and nobody can ask it for somebody else. With it on, Chui keeps one sample of their voice, learned from meetings they record and are named in (their own name on one of the voices), and puts their name on their voice in their own meetings and in their company's meetings they were invited to on the calendar. Never in another company's. It is off unless they switch it on, because a voice sample is biometric data and needs that person's own consent.

Everybody who did not switch it on stays «Speaker N»: their voice is compared once and thrown away, and nothing of it is kept. Naming anybody by hand always works and needs none of this. On a computer, «you» is still your own microphone, which needs no voice sample. Switching it off deletes the sample at once; names already given stay. A sample unused for a year is deleted too.

set_voice_recognition() takes one answer — on or off — and only ever because the person said so, about their own voice. Before switching it on, read them the sentence in the tool's description and get a yes to it: that sentence is kept as the wording of their consent. A company admin can switch it off for everybody in the company and never on; get_account() says when that is so.

Somebody who does not use Chui can still be recognised in your meetings, if they told you in person that they are fine with it. prepare_recognise_voice() takes the meeting, the voice (speaker_N), their name and how they said yes — face to face on a given day, or inside a recorded meeting at a given moment, which is the better proof — and quotes back what that voice said, so you can check it is the right one, with the sentence they are recorded as agreeing to. recognise_voice() then does it: Chui learns the voice from that meeting within a few minutes and names them in every later meeting you record, on any of your accounts, with no calendar invite. The same pair with off deletes the sample, and the names it put on meetings go back to «Speaker N».

Who sees my new meetings — not a setting

There is no switch for it. In a company, every meeting a person records starts in their own “Private” workspace — nobody else in the company can open it, admins included. It reaches colleagues only when that person adds that one meeting to another workspace (add_meeting_to_workspace(), or in the app), while it is being recorded or afterwards. Nothing, and nobody, changes that starting point; Who else can see a meeting says who reads each workspace.

How long Chui keeps the audio

By default Chui keeps a meeting's audio for ever. Settings → Privacy → «Keep the audio» sets a number of days instead, and prepare_keep_audio() then keep_audio() do the same by typing. When that many days after a meeting have passed, only the audio goes — from Chui's storage and from every device holding a copy. The title, transcript, summary, notes, people and search all stay; the meeting says where the player was that its recording was removed. A meeting still being recorded or uploaded is never touched.

A shorter limit can remove audio from older meetings at once, and that cannot be undone — so the first call says how many meetings would lose their audio now, and nothing changes until the person agrees to that number.

In a company, an admin can set it for everybody (company: true). Members then see the company's limit and cannot change it for themselves; get_account() says which applies and who decided it.

How loudly Chui announces a meeting

set_reminder() sets three things, and only the ones actually asked for need sending: how (nothing at all, a silent card on the lock screen, or an alarm), how early (five minutes, one minute, or the moment it starts), and which meetings (only the ones with other people in them, or every entry in the calendar).

An alarm sounds through silent mode and Focus, so it is never a sensible guess on somebody's behalf — it has to be the thing they asked for.

And an alarm needs the phone's own permission, which Chui can only ask for on the phone. Choosing it in a conversation records the intent; a phone that has not granted it falls back to a silent card and says nothing about it.

Chui asks iOS at the one moment the How row in Settings → Meeting reminder moves into Alarm — and only from a value that was not already Alarm. So setting an alarm by asking never produces the prompt, and neither does opening that row and finding Alarm already showing. Move it away and back, and the phone asks.

This is one setting for the whole account. It reaches every device the person is signed in on, not only the one in their hand.

Whether Chui says the recording out loud

Chui never sends a bot into a call, so nobody else in the room has any way of knowing that a recording is running — unless Chui says so. It does: one short sentence through the speaker, once, as the meeting starts, in the language the app is in.

On a laptop it comes out of that machine's own speaker. The people on the far end of a video call hear it only if the microphone picks it up — which is how anything else said in the room reaches them — and on headphones it reaches nobody but the person wearing them. Say that, rather than promising the other side was told.

set_announcement() takes one answer — on or off. It is on unless the person has turned it off.

Turning it off is not an ordinary setting change, and it should not be made into one. In many places recording a conversation without telling the other people in it is against the law. Say that back before turning it off, say that by turning it off they are confirming they will tell everyone present themselves, and then let them answer. Never turn it off because somebody sounded annoyed by it or asked what it was.

This is one setting for the whole account, and that is the point of it: somebody who turned it off on their phone should not be surprised by their laptop announcing a client call.

Dictation on the Mac

Where the account is offered dictation, holding fn (or a mouse button the person chose) on their Mac dictates into whatever app has the cursor, and a small Chui pill sits at the bottom of the screen. set_dictation() takes one answer — on or off. Off takes the pill away and leaves fn to other apps, such as the emoji picker. It is on until the person turns it off, it is one setting for the account, so every Mac they are signed in on follows it, and get_account() shows it only where dictation is offered at all.

Pasting as a quote (since build 229). On a Mac, Command + Option + V in a text field pastes the clipboard as a quote: each line starts with the quote mark used in email and chat replies, with every line break, indent and list item kept as it was (since build 233). It is on by default and is switched off in the dictation settings; pressed anywhere other than a text field, the keys still do what they did before. Since build 233 dictation and this paste also work in apps that draw their own text, such as some code editors, where they used to show a card instead of pasting.

What Chui does to a dictation before pasting it can be read and changed the same way. get_dictation_settings() says whether the clean-up is on, lists the person's own words and the dictation styles, with the default marked. add_dictation_word() adds a name or term spelled their way, or a replacement — heard «slash go do», written «/godo»; remove_dictation_word() takes one out and names it, so it can be put back. The words belong to the person, not to an account: somebody with a personal account and a company one has ONE list, used by both, so a word added or learned in either is there in the other, and there is no account to choose. They keep it if they leave the company. set_dictation_cleanup() switches the clean-up off — exactly what was heard is pasted — or on again. On a Mac and on Windows the words go in no more than about a second after you let go of the keys; if the clean-up takes longer than that, they go in exactly as heard (since build 249).

A style is a whole set of instructions for the clean-up. Four are built in and free: Clean (the default until the person picks another), Tight, Ideas and As spoken. list_dictation_styles() reads them all, with what each built-in one does and the person's own instructions in full. set_dictation_style() makes one the default, and the old default is in the answer so it can be set back; the pill on the Mac and the chips on the phone still pick a style for a single dictation. add_dictation_style() adds one of the person's own — a name and everything the clean-up is told — and is for subscribers only: without a subscription the answer says so, and the person subscribes in the app or on chui.io. Changing or deleting one of their own styles asks first: prepare_update_dictation_style() and prepare_delete_dictation_style() read back its name and instructions as they are now, which Chui keeps no copy of, and update_dictation_style() and delete_dictation_style() act only after a yes. The built-in styles cannot be changed or deleted; deleting the default makes Clean the default again. Whatever a style says, a clean-up that changes the alphabet, rewrites the dictation or answers it is refused and what was said is pasted. All of them are only there where dictation is offered.

get_dictation_settings() also says how many FREE WORDS are left this week on each kind of device — iPhone, Android, Mac and Windows each have their own week, counted apart — and when the week starts again, on Monday. A device whose week is spent cannot start a dictation until then; a paid account has no limit. Since build 231 dictation counts as paid whenever any account the same sign-in can switch to is paid — a paid company account, say — and the words are still counted under the account that is open. «Why did dictation stop?» starts there.

It lists each Mac and Windows PC signed in too, by name and when it was last seen, with what starts a dictation on it — fn on a Mac or Ctrl + Win on Windows, and any mouse buttons — the microphone and the ones it has, the language and the click on a press. «I hold fn and nothing happens» starts there. On a Mac, a dictation that hears only silence names the microphone that was listening and opens the list of microphones so another can be picked (since build 231). set_dictation_device() changes any of them for one computer; the computer takes the change the next time Chui starts on it or comes to the front, and until then it is shown as waiting. Something must always start a dictation, so the key can be switched off only while a mouse button remains. A phone has no switch like this: it dictates only from what the person set up for it themselves — the Action Button or Back Tap on an iPhone, or the Chui keyboard on an iPhone and on Android (since build 233). Tapping the keyboard's microphone in any app types the words where the cursor is. On Android it replaces the tile in the quick settings panel, and since build 235 it shows a full keyboard while you are not speaking, your words as you say them, and a check mark to type them. On an iPhone the first tap opens Chui once, after that the keyboard listens for five minutes, and the Action Button opens the keyboard's listening screen instead of copying the dictation to paste. Once dictating starts, Chui takes you back to the app you were typing in by itself; in Chrome the keyboard shows the screen asking you to swipe back straight away, with the microphone already on (since build 247). In some assistant apps Chui takes you straight back to your conversation; in the ones where going back by itself opened a new chat or a list of chats, the keyboard shows the swipe-back screen (since build 248). Since build 249 three more assistant apps reopen on the same chat with your draft instead. While a meeting is recording on an iPhone, the keyboard still dictates, using the meeting's own microphone, and the recording loses no sound (since build 249). If the connection drops while you dictate with the keyboard, Chui reconnects and carries on, and nothing you said is lost; if it stays down for about a minute, Chui types what did come through and tells you the end did not arrive, so you can say it again (since build 243). If the microphone stops sending sound, the dictation ends within about four seconds, the words already heard are typed, and the keyboard tells you the microphone stopped (since build 247). On an iPhone the keyboard's keys look and behave like the iPhone's own (since build 246): holding a letter shows its accented versions above it, dragging along the space bar moves the cursor, holding delete speeds up the longer you hold it, and with Full Access each key clicks and gives a light tap. Two spaces type a full stop only when tapped quickly one after the other, right after a letter or a digit.

Every dictation also goes up to the account — what was heard, what was typed, the language, the timings and its sound — so another Mac sees the same history. list_dictations() reads them newest first and get_dictation() one whole. Deleting one is two steps: prepare_delete_dictation() reads back when it was said and how it began, and delete_dictation() removes its words and sound from the account. «How long Chui keeps the audio» removes a dictation's sound after that time, as it does a meeting's, and keeps its words. transcribe_dictation_again() sends a dictation's kept sound through the transcriber once more and keeps the new words beside what was heard and typed, which never change; it is done once per dictation, and asking again gives the same words.

What is not here

Deleting the account, connecting a calendar and adding a way of signing in are all deliberately out of reach — Chui inside an assistant says which, and why.