A native iOS app for current provider limits, reset times, balances, spend, and on-device observations. Vigil puts the tightest limit first, then keeps the complete set of accepted provider values one tap away.
Vigil reports what providers return. It never derives a fixed token or message ceiling from a subscription name, and it never presents a percentage as an exact amount.
Limits: the tightest current value from each account, ranked for attention.
·
Setup: guided Claude and ChatGPT/Codex routes beside the supported provider catalog.
Captured from the current iOS 17.5 simulator build. The Limits image uses gated demo data. Neither image contains real credentials or account data.
- At a glance
- Set up an account
- Read the signal
- History that says what it is
- What Vigil cannot know
- Privacy by construction
- Providers
- Documentation
- Build from source
- Project status
| Signal | What Vigil does |
|---|---|
| Attention first | Ranks linked accounts by required action and remaining quota. |
| Complete account detail | Shows every accepted current window, amount, balance, spend value, and model cap, with access to the retained archive. |
| Real reset context | Displays the provider's reset time and hides an expired quota until a new provider reading confirms it. |
| Honest history | Archives successful local observations and labels supported official imports separately. |
| Widgets and alerts | Supplies Home Screen and Lock Screen widgets, plus local alerts at 80% and 95% utilization. |
| Bounded diagnostics | Exports diagnostic JSON through a credential-free allow list. |
Vigil has no Vigil account, collection server, analytics SDK, advertising SDK, or cloud synchronization service. Requests go directly from the app to the providers the user activates.
Vigil requires iOS 17 or later. First launch offers three routes:
| Route | How it works |
|---|---|
| Connect Claude | Complete Claude's browser approval, then return the one-time code to Vigil. |
| Connect ChatGPT / Codex | Enable OpenAI device authorization, approve the code in the browser, and return to Vigil. |
| Other provider | Choose one of the shipped integrations and enter the credential that provider requires. |
Claude and ChatGPT/Codex use guided sign-in and guided re-linking. The current interface does not offer manual Claude or Codex token entry.
Follow the setup guide for exact steps, provider requirements, widgets, re-linking, and removal.
- Percent left comes from a utilization percentage reported by the provider.
- Used, limit, or remaining appears only when the provider supplies the required amount fields.
- A plan label gives context. It does not prove a fixed token or message allowance.
- Live means the latest accepted response met that provider's required-output contract.
- A failed or stale refresh keeps the last accepted value only with a visible degraded state.
- A passed reset is not treated as zero use. Vigil waits for provider confirmation.
Read How to read limits for the complete status and interpretation rules.
Vigil keeps readings from the first successful check after an account is connected. It segments quota observations by the provider's reset timestamp and preserves the fetch time for every sample.
- Observed by Vigil means the app retained a successful local reading.
- Imported from provider means a supported official endpoint returned a historical administrative bucket.
- OpenAI API organization imports can include completion quantities and costs. They do not include ChatGPT or Codex subscription history.
- Provider costs remain separate from token quantities because their grouping dimensions can differ.
See History and imports for retention, reset segmentation, and import boundaries.
Vigil is an AI limit monitor, not a universal token counter. It cannot:
- read another iOS app's private cache, cookies, database, or login state;
- recover subscription history that a provider does not expose;
- turn a subscription name into a fixed token or message ceiling;
- promise a sample every five minutes, because iOS controls background work;
- treat OpenAI API organization history as ChatGPT or Codex subscription history; or
- monitor an unlisted provider through the Other provider route.
Perplexity usage credits are not supported in the current registry.
| Vigil uses or stores | Vigil does not operate |
|---|---|
| Credentials in a device-bound Keychain | A Vigil user account |
| Normalized snapshots and history in the app's shared container | A collection or relay server |
| Polling state for the app and widget | Analytics or advertising telemetry |
| Diagnostic data only when the user requests an export | Cloud synchronization |
On this device does not mean never backed up. Some local non-credential records can be included in Apple-managed device backups. The optional app lock also does not hide a configured widget or notification preview.
Read Privacy, deletion, and notifications before linking a broad administrative credential.
Vigil ships 14 provider integrations. Nine are established and five remain visibly experimental because their endpoints lack a stable vendor contract or complete production evidence. Every integration uses the same minimum five-minute polling floor, but that floor is not a sampling promise.
The provider support matrix is the canonical list of credentials, accepted data, contract evidence, and stability labels. The provider details explain each setup and interpretation boundary.
| Use Vigil | Understand the data | Build and ship |
|---|---|---|
| Setup | Product contract | Architecture |
| Reading limits | History and imports | Development |
| Troubleshooting | Provider support | Testing |
| Privacy and deletion | Threat model | Release runbook |
The documentation index maps the complete active set and its sources of truth.
Requirements: a Mac with Xcode 16 or later, Swift 5.10 or later, and XcodeGen.
brew install xcodegen
xcodegen generate --spec apps/apple/project.yml
open apps/apple/Vigil.xcodeprojRun the core tests and documentation gate from the repository root:
scripts/check-docs.sh
swift test --package-path packages/VigilKitThe complete simulator command and CI-equivalent gate live in the testing guide.
These docs describe Vigil 0.15.0, build 18 in the current source tree. The latest completed Internal TestFlight upload is build 18, which fixes two 0xdead10cc suspension kills from build 17. Consult the build 18 release record before further distribution work.
Runtime provider behavior can change outside Vigil's control. Experimental integrations remain labeled during setup because their vendor contracts or production evidence are incomplete.
Vigil was inspired by token-monitor. Desktop transcript and cache access do not carry over to a native iOS app, so Vigil reports only data it can obtain and label honestly.
Documentation status: current
Last reviewed: 2026-07-27
Review again: before each release
Vigil is licensed under the MIT License.
