Ask your own documents anything. Every answer cites the page it came from.
Drop in PDFs, Office files, code, images, audio, or video. OpenIntelligence reads them, builds a private searchable index, and answers questions about them with citations you can tap and check.
It runs on your device. Ingestion, indexing, retrieval, ranking, and verification are all local. Nothing is uploaded to make search work. There is no account, no server of mine, and no third-party AI service anywhere in the path. On iOS and macOS 27, you can optionally let Apple Private Cloud Compute write the final answer, but only after you have seen how much would be sent and why. Every answer carries a badge showing where it actually ran, read from an execution receipt rather than from what was requested.
Most document AI asks you to upload your files somewhere first. If those files are medical, legal, financial, or simply yours, that is the whole problem. This is a bet that a genuinely good retrieval engine fits on an iPhone, and that an answer is more trustworthy when you can see what it was built from.
| Reads real documents | PDFs with tables and figures, Office files, code, plain text, JSON and JSON Lines (as records), images, audio, and video. A PDF of any size imports. Vision handles OCR when a PDF's text layer is unreliable. Pages, Numbers and Keynote files must be exported first. |
| Searches two ways at once | Meaning-based vector search and keyword BM25 run together, then fuse and re-rank, so hunting a part number and asking a conceptual question both work. |
| Shows its work | A live pipeline view names each stage as it runs, and every claim links back to the excerpt behind it. From 5.8, a citation opens its passage highlighted in the document for every kind of file and says whether it was found word for word (for Word, Excel and the like, that is the text the app read, not the original page). |
| Explains its own vocabulary | Every figure defines itself where it sits, in a plain register and a technical one. Tapping 38 TOPS says what the number is, and that it is a per-chip rating rather than a measurement. |
| Answers offline | Airplane mode included. |
| Works with Siri, Shortcuts and Spotlight | Shortcuts actions ask a library in any answer mode and hand the answer and its sources on; others find passages, check a claim, add a file, link or text, and manage libraries. A Siri question that needs Private Cloud Compute brings the app forward to ask first. Spotlight and Visual Intelligence find the documents that match. |
| Keeps up with a folder | From 5.8, on Pro and Lifetime, a library can watch a folder: new files import by themselves and a changed file replaces the version it imported. |
| Follows you between devices | An interrupted import picks up where it was, Handoff carries what's open, conversations in an iCloud library sync with it, and the Mac has a menu bar item, Services menu entries and keyboard shortcuts. |
| Mode | What it does | Measured accuracy |
|---|---|---|
| Standard | One retrieval pass and one answer, for lookups and direct questions. | 0.410 exact match across 83 cases from 40 research papers (QASPER), local only. |
| Deep Think | A chain of evidence sessions over rotating context windows, then a synthesis; research rounds can follow. | 9 of 25 against Standard's 10 of 25 in its largest paired run on the same QASPER pack. 25 cases cannot resolve less than about a four-case swing, so this does not separate the two modes. |
| Maximum | Lifts the session ceiling for questions that span a whole library. | No valid figure yet. |
The figures, their runs and an earlier figure that was withdrawn are in Limitations and
BenchmarkRuns/LEDGER.md.
Import → extract → chunk → embed → index (vectors + full-text)
Question → expand → hybrid search → fuse → re-rank → diversify
→ expand to parent sections → pack context → answer → verify
Dense vector similarity and BM25 keyword matching run in parallel, merge through Reciprocal Rank Fusion, get re-ranked by a cross-encoder, then pass through MMR so the context is diverse rather than five phrasings of one paragraph. The answer streams into the chat as it is written; verification gates then check the finished answer against the retrieved text and label it Verified or Unverified; in Standard, under the rule in How OpenIntelligence Works, section 04, they replace it with a refusal. In Deep Think and Maximum they only label it, and a lookup there gets the source-only check instead.
Measured on a physical A18 Pro: 27 tokens/sec on-device, 86 tokens/sec on Private Cloud Compute, time to first token 2.2 to 3.2 s. The PCC figure was measured from an Xcode 27 build, which is what App Store builds have been since 5.2.
Routing is a policy, not a hint. On-Device never uses Private Cloud Compute, not for planning and not for
synthesis. PCC requests it, with a declared local fallback when an entitlement, availability, quota, network or
consent gate blocks the route. Hybrid decides per question from the evidence actually retrieved. Consent is asked
only for a real, finalised evidence envelope, never at launch. Retrieval and verification stay local whichever
model writes the answer. There is no selectable "3B" or "20B" on-device model, because the public SDK has no such
selector; from iOS and macOS 27 an app can read which model it has (SystemLanguageModel.variant).
The claims above are checked, not asserted:
- Every doc claim carries its evidence: source-read, build-checked, test-covered, or confirmed on a physical device, and says so where something is unproven.
- Golden recorders pin exact behavior.
StandardPipelineGoldenTests(35 Standard questions; every passage, score bit pattern and prompt),ImportGoldenTests(every passage, vector and index row of a fresh import),StructuredParsingGoldenTests(the PDF parser's output and checkpoints) andDeepThinkRetrievalGoldenTests(760 Deep Think searches). By default each records twice per run and fails if the two passes differ. - Refactors are moves, proven by those recorders. In November 2026 the three largest functions (the Standard pipeline, document import and the PDF parser, about 8,900 lines) were cut into about 120 named steps and their files split by stage. Every step built for the Simulator, a device and macOS and recorded identically before and after, and refuting reviews by separate review agents found no behavior change. The record is in the Atlas, section 22.
- The release gate checks the binary. Every archive is checked with
nm -ufor Private Cloud Compute symbols against a liveSystemLanguageModelcount as a control, so a build cannot silently contradict this page.
- Start here: How OpenIntelligence Works, every stage of both pipelines in order, in plain English and technical side by side.
- Everything else: the documentation map.
- Honest limits: Limitations and Hard Limits.
- History: Changelog, what's new for users, the roadmap.
| Module | Core files | Responsibility |
|---|---|---|
| Ingestion | DocumentProcessor.swift, LayoutAwareExtractor.swift |
Content extraction, Vision OCR fallback, structure recovery |
| Chunking | SemanticChunker.swift, ContentTaggingService.swift |
Context-aware chunking, entity resolution, metadata |
| Indexing | SQLiteFullTextService.swift, BNNSVectorDatabase.swift |
SQLite FTS5 and BNNS-accelerated vector storage |
| Retrieval | HybridSearchService.swift, ContextPackingService.swift |
Hybrid merge, parent-chunk reconstruction, token packing |
| Orchestration | RAGService.swift and its RAGService+*.swift files, RAGEngine.swift, AgenticOrchestrator.swift |
The pipelines, re-ranking, MMR, agentic reasoning |
| Foundation Models | LLMService.swift, FoundationModelRoutePolicy.swift |
On-device execution, PCC escalation, routing receipts |
| Evidence Threads | EvidenceThread.swift, EvidenceThreadStore.swift |
Local persistence of conversations and verification state |
| Storage & Sync | SettingsStore.swift, WorkspaceSyncService.swift |
Feature gates, StoreKit 2 quotas, iCloud workspace sync |
| Interface | ChatScreen.swift, DocumentLibraryView.swift |
Chat and library surfaces |
| Vocabulary | Glossary.swift, GlossaryViews.swift |
One definition per term in two registers, attached in place via .definedTerm(_:) |
| Shortcuts | RAGAppIntents.swift, SearchPassagesIntent.swift, AddToLibraryIntent.swift, LibraryIntents.swift, OpenItemIntents.swift, ScreenAwarenessIntents.swift, VisualIntelligenceIntents.swift |
Siri and App Intents, resolving in-process |
Which file of a split type holds what is in the file map; the codemap names, for each feature, the code to read first.
Releases are built with Xcode 27 (Swift 6.4) on Apple silicon; the deployment target is iOS 26.0. With an older SDK the iOS and macOS 27 paths, Core AI embeddings and native Private Cloud Compute, compile out. Usable Neural Engine throughput needs Apple silicon (M1 or later, A17 Pro or later).
./scripts/build_simulator_smoke.sh./scripts/check_icloud_conflicts.shBuilds need a -derivedDataPath outside the repository, because the maintainer's copy lives in iCloud Drive.
The full procedure, tests and benchmarks are in the runbook.
A PDF over 10 MB imports through a streamed, batched pipeline, 15 pages a batch with a checkpoint per page, so a
long import survives memory pressure and app restarts instead of starting over. A text, Markdown or JSON Lines
file over 8 MB imports the same way in pieces of about 2 MB, and a .json file over 64 MB is imported in pieces
too. An 88.5 MB JSON Lines file finished on an iPhone 16 Pro Max as 144,247 passages on 2026-10-10.
Shipping on the App Store for iPhone, iPad, and Mac. 5.7 is live on both platforms (released 2026-10-22, build 487) and 5.8 is in development. Private Cloud Compute shipped in 5.2 and execution is confirmed on a physical device; its edge cases (quota exhaustion, mid-stream network changes, background consent) are tracked as open items. Releases are built by Xcode Cloud on Apple's released images, never on the maintainer's Mac. Work is planned on a public roadmap synced from the same database it is planned in.
MIT. See LICENSE.



