Fonos Support

Fonos is a voice dictation app for iPhone. Tap to record, speak, and get text you can insert, copy, refine, translate, or file into a notebook — in the app, or through the Fonos keyboard without leaving the app you are typing in.

Contact

Email: ethanzhou222@gmail.com

Write in English or Chinese. Please include your iPhone model and iOS version when reporting a problem, plus what you did and what you saw instead.

There is also a public issue tracker at https://github.com/ethannortharc/fonos-ios/issues. Do not include API keys, transcripts, recordings, or other personal information in a public issue — use the email address above for anything that touches your data.

Privacy policy: https://fonos.giomni.com/privacy

Quick Start

  1. Open Fonos and allow microphone access when prompted.
  2. Allow speech recognition access when prompted. Apple Speech works with no further setup and no API key.
  3. Tap the microphone on the Dictate tab, speak, and tap again to stop.
  4. Optional — to type into other apps, add the Fonos keyboard in iOS Settings → General → Keyboard → Keyboards → Add New Keyboard → Fonos, then turn on Allow Full Access for dictation.
  5. Optional — to use your own speech-to-text or language-model service, add it under Settings → Models.

Stuck? Settings → General → Setup Doctor checks permissions, the keyboard bridge, your endpoints, and your configuration in one pass.

Frequently Asked Questions

Why does Fonos need the microphone?

To record your voice for dictation. Nothing is recorded until you start a recording, or until you explicitly start a Keyboard Ready session for keyboard dictation. If you denied the permission, turn it back on in iOS Settings → Privacy & Security → Microphone → Fonos.

Why does Fonos need speech recognition permission?

Apple Speech is the default transcription engine and it is performed by iOS. iOS requires your permission before an app may use it. When your device and the selected language support on-device recognition, the audio is recognized on the device; otherwise iOS may send it to Apple's servers, which is governed by Apple's privacy policy. If you configure your own speech-to-text service instead, that service is used and Apple Speech is not.

What is Full Access, and why does the Fonos keyboard ask for it?

Full Access is the iOS switch that lets a custom keyboard talk to its containing app and the network. iOS custom keyboards cannot record audio themselves, so the Fonos keyboard asks the main Fonos app to record and transcribe, over a shared App Group container on your device. That channel is only available with Full Access on.

Without Full Access the Fonos keyboard still types: digits, punctuation, space, delete, return, and the globe key that switches back to your usual keyboard. Only dictation needs Full Access.

Turn it on in iOS Settings → General → Keyboard → Keyboards → Fonos → Allow Full Access.

What is Keyboard Ready, and why do I see an orange dot?

Keyboard Ready is a time-limited window during which the main app keeps microphone input alive so the keyboard can dictate without switching apps. Start it in Fonos → Settings → General → Keyboard Dictation. It defaults to 15 minutes and can be set between 1 and 30 minutes.

While it is active, iOS shows its orange microphone indicator — that is iOS telling you the truth: an input session is open. Fonos discards all idle audio and keeps nothing until you tap the microphone on the Fonos keyboard. A banner in Fonos shows the remaining time and stops the session on one tap; it also expires on its own. Launching Fonos alone never opens the microphone.

Does the Fonos app have to be running for keyboard dictation?

Yes. The keyboard has no recorder of its own, so the main app must be alive and in a Keyboard Ready session. Keeping Fonos in the background is enough — you do not need it on screen. If you swipe Fonos away in the app switcher, or iOS reclaims it while it is backgrounded, the keyboard reports that it cannot reach the app; reopen Fonos and start Keyboard Ready again.

What can the keyboard do without Full Access?

It types digits, punctuation, space, delete, and return, and it switches to your next keyboard with the globe key. It cannot dictate, because that requires the connection to the main app. The keyboard shows what is missing rather than failing silently.

Why is Fonos asking for local network permission?

Only if you point Fonos at a model server on your own network — for example OMLX, Ollama, or LM Studio at an address such as http://192.168.1.10:11434. iOS requires permission before an app may reach other devices on your local network. If you only use Apple Speech or an HTTPS service on the internet, this prompt never appears. It is per-app in iOS Settings → Privacy & Security → Local Network.

How do I delete my data or withdraw permission from an AI service?

Everything lives on your device.

Withdrawing permission does not delete anything a provider already received — ask that provider directly, under its own privacy policy.

How do I use Fonos completely offline?

Use Apple Speech, keep every recipe free of language-model steps, and configure no remote endpoints. Fonos itself then sends nothing to the network.

Whether Apple recognizes the speech on the device or on Apple's servers is decided by iOS, based on your device and the selected language; iOS uses on-device recognition when that language is supported and downloaded for your device. The honest test is airplane mode: if dictation still produces text with no network, recognition is happening on the device.

Troubleshooting Keyboard Dictation

If tapping the keyboard microphone does nothing, or reports an error, walk these in order:

  1. Is the Fonos keyboard added, and is Allow Full Access on? (iOS Settings → General → Keyboard → Keyboards → Fonos)
  2. Is Fonos running, and is Keyboard Ready active? (the banner shows the remaining time)
  3. Did the session expire? Start it again; it lasts 15 minutes by default.
  4. Did a phone call, Siri, or a headset change interrupt it? Fonos pauses and recovers; if the banner says paused, wait a moment or stop and restart the session.
  5. Still stuck: Settings → General → Setup Doctor, which reports permissions, the App Group bridge, and endpoint reachability.

Model Configuration

Fonos uses Apple Speech out of the box, with no account and no API key.

Under Settings → Models you can add your own speech-to-text or language-model service by entering its endpoint and your API key — any OpenAI-compatible service, or a local server. Before Fonos sends voice or text to a configured endpoint, it names the provider and destination, says what will be sent, and asks for permission. You can withdraw that permission at any time.

Public endpoints must use HTTPS. Clear-text HTTP is accepted only for a localhost or local-network address you configured yourself.

API keys are stored in the iOS Keychain, marked as belonging to this device only. They are never sent to the developer of Fonos.