OpenWhispr/openwhispr
What It Calls
Without a key: External API (api.linear.app): has a branch that stops with an error without a key. External API (gmail.googleapis.com): has a branch that stops with an error without a key. External API (api.openwhispr.com): has a branch that stops with an error without a key. The other rows are in the table below.
| Feature | Provider | Use | Default | Alternative |
|---|---|---|---|---|
| External API (api.linear.app) | api.linear.app | Default call | api.linear.app |
None |
| External API (gmail.googleapis.com) | gmail.googleapis.com
1 call sites |
Default call | gmail.googleapis.com |
None |
| Text generation · Image generation · Speech-to-text · Text-to-speech · Embeddings | OpenAI | Undetermined | api.openai.com |
Other providers, Configurable address |
| External API (accounts.google.com) | accounts.google.com | Undetermined | accounts.google.com |
None |
| External API (api.openwhispr.com) | api.openwhispr.com The repository's own service | Undetermined | api.openwhispr.com |
Off unless enabled (EXPO_PUBLIC_NOTES_URL) |
| External API (linear.app) | linear.app
1 call sites |
Undetermined | linear.app |
None |
| External API (oauth2.googleapis.com) | oauth2.googleapis.com | Undetermined | oauth2.googleapis.com |
None |
| External API (slack.com) | slack.com
1 call sites |
Undetermined | slack.com |
None |
Show 7 more rows
| Feature | Provider | Use | Default | Alternative |
|---|---|---|---|---|
| External API (notes.openwhispr.com) | notes.openwhispr.com The repository's own service
1 call sites |
Optional | notes.openwhispr.com |
Off unless enabled (EXPO_PUBLIC_NOTES_URL) |
| Text generation | Anthropic Claude | Optional | api.anthropic.com |
Other providers |
| Text generation · Image generation · Embeddings | Google Gemini API | Optional | generativelanguage.googleapis.com |
Other providers |
| Text generation · Speech-to-text | Groq | Optional | api.groq.com |
Other providers |
| Text generation | OpenRouter
1 call sites |
Optional | openrouter.ai |
Other providers |
| External API (ai.eu.corti.app) | ai.eu.corti.app
1 call sites |
Optional | ai.eu.corti.app |
Other providers |
| Local model file | Local (model file)
1 call sites |
Local | - | - |
| API | Credential | Code evidence | Pricing | Pricing page | Checked |
|---|---|---|---|---|---|
| api.linear.app | Credential unclear | src/helpers/connectors/linearApi.js:123The code calls the api.linear.app external API and requires an API key header in the request. |
No pricing info | - | - |
| gmail.googleapis.com | Credential unclear | src/helpers/connectors/gmailApi.js:35The code calls the gmail.googleapis.com external API and requires an API key header in the request. |
No pricing info | - | - |
| OpenAI | Your API key | src/config/constants.ts:59OpenAI (api.openai.com) is the default; the address can be changed to a local server or other providers can be chosen. |
Paid | Pricing | 2026-10-05 |
| api.openwhispr.comThe repository's own service | Credential unclear | openwhispr-mobile/src/config/noteSharing.ts:6api.openwhispr.com is the default and is called only when the EXPO_PUBLIC_NOTES_URL setting is enabled. |
No pricing info | - | - |
| accounts.google.com | Credential unclear | openwhispr-mobile/src/services/calendar/googleCalendarConfig.ts:20Not traced to an entry point |
No pricing info | - | - |
| linear.app | Credential unclear | src/helpers/connectors/linearApi.js:14Not shown to stop without a key or address |
No pricing info | - | - |
| oauth2.googleapis.com | Credential unclear | openwhispr-mobile/src/services/calendar/googleCalendarConfig.ts:21Not traced to an entry point · Not shown to stop without a key or address |
No pricing info | - | - |
| slack.com | Credential unclear | src/helpers/connectors/slackApi.js:50Not shown to stop without a key or address |
No pricing info | - | - |
Show 6 more
| API | Credential | Code evidence | Pricing | Pricing page | Checked |
|---|---|---|---|---|---|
| notes.openwhispr.comThe repository's own service | Credential unclear | openwhispr-mobile/src/config/noteSharing.ts:7notes.openwhispr.com is the default and is called only when the EXPO_PUBLIC_NOTES_URL setting is enabled. |
No pricing info | - | - |
| Anthropic Claude | Your API key | src/config/constants.ts:120Anthropic Claude (api.anthropic.com) can be optionally used for text generation. |
Paid | Pricing | 2026-10-05 |
| Google Gemini API | Your API key | src/config/constants.ts:121Google Gemini API (generativelanguage.googleapis.com) can be optionally used for text/image generation and embeddings. |
Free tier | Pricing | 2026-10-05 |
| Groq | Your API key | src/config/constants.ts:122Groq (api.groq.com) can be optionally used for text generation and speech-to-text. |
Free tier | Pricing | 2026-10-05 |
| OpenRouter | Your API key | src/config/constants.ts:124OpenRouter (openrouter.ai) can be optionally used for text generation. |
Free tier | Pricing | 2026-10-05 |
| ai.eu.corti.app | Credential unclear | src/config/constants.ts:123The code can optionally call the ai.eu.corti.app external API. |
No pricing info | - | - |
Data sent out: audio · Estimated: prompt text · 9 provider(s) unconfirmed
Fetched over the network: Package registries (Package registry) · GitHub
Checked scope: Partial check — 400/2,915 files · tree not truncated · no submodules · 463 unresolved import path(s)
Next
Badge preview
[](https://whatitcalls.reactiveworks.dev/en/OpenWhispr/openwhispr)
Shows as “external API · used · local option” in a README.
Was this analysis helpful?
Freshness details
- Checked commit
f770e9211719a6e28d0578b480d8a23dea79d7ff- Committed
- 2026-10-06 13:30 UTC
- Checked
- 2026-10-07 12:02 UTC
- HEAD last seen
- 2026-10-07 12:02 UTC ·
f770e92(same as the checked commit) - Read depth
- Basic (up to 400 files · 8 MB)
- Scanner · rules
scan-5+verdict-4- Pricing catalog
- version 2
- Correction revision
- 0
- Summary
- Model ollama-cloud/gemma4:31b-cloud · some rule sentences
What is sent out
- Confirmed Sends audio data to Anthropic Claude, Google Gemini API, Groq, ai.eu.corti.app, and OpenRouter.
src/config/constants.ts:126src/config/constants.ts:120src/config/constants.ts:121 - Estimated Prompt text may be sent externally.
src/helpers/connectors/gmailAuth.js:240src/helpers/connectors/gmailAuth.js:247 - Unconfirmed Providers whose payload was not found in the code: api.linear.app, gmail.googleapis.com, accounts.google.com, api.openwhispr.com, linear.app, oauth2.googleapis.com, slack.com, OpenAI, notes.openwhispr.com
README claims ↔ code
No README claim contradicts the code.
Code quotes
Source files are not stored. Code is linked at the checked commit on GitHub; stored quotes are at most 3 lines per evidence and 6 per file.
Source: OpenWhispr/openwhispr · commit f770e92 · src/helpers/connectors/linearApi.js
Source: OpenWhispr/openwhispr · commit f770e92 · src/helpers/connectors/gmailApi.js
Source: OpenWhispr/openwhispr · commit f770e92 · src/config/constants.ts
Source: OpenWhispr/openwhispr · commit f770e92 · src/services/ai/openaiBase.ts
Source: OpenWhispr/openwhispr · commit f770e92 · openwhispr-mobile/src/config/noteSharing.ts
Source: OpenWhispr/openwhispr · commit f770e92 · openwhispr-mobile/.env.example
L4default value
Source: OpenWhispr/openwhispr · commit f770e92 · openwhispr-mobile/src/config/constants.ts
L2default value
Source: OpenWhispr/openwhispr · commit f770e92 · src/services/ai/providers.ts
L56SDK call
Checked scope details
Files
- In the repository
- 2,915
- Checked
- 400 (13%)
Manifests
All priority files read
package.jsonopenwhispr-mobile/package.jsonopenwhispr-mobile/modules/app-group-storage/package.jsonopenwhispr-mobile/modules/apple-llm/package.jsonopenwhispr-mobile/modules/audio-tools/package.jsonopenwhispr-mobile/modules/background-uploader/package.json
+5 more
Unresolved import paths (463)
`data:text/javascript;base64,${Buffer.from(output).toString("base64")}`test/services/toolUtils.test.js:15`data:text/javascript;base64,${Buffer.from(output).toString("base64")}`test/services/transcriptionBaseUrl.test.js:15./src/helpers/modelManagerBridgemain.js:1371./src/helpers/modelManagerBridgemain.js:1382./src/helpers/qdrantManagermain.js:1402
not read 463
Excluded files
.json48.svg44.md33.png19.yml19(none)15
+23 more
- External code not checked
- None
- Limits hit
- file count limit
Correction history
No corrections yet.