Document & File Summarization
Attach PDFs and text files to any chat message so the AI can read and summarize them.
Overview
LucidPal can process documents entirely on-device. Attach a PDF or plain-text file to your message, and the AI extracts the text and answers questions about it — without uploading your files anywhere.
| Supported format | How text is extracted |
|---|---|
| PDFKit (text layer) + Vision OCR fallback for scans | |
Plain text (.txt) | Read directly |
Attaching a Document
- Open any chat session.
- Tap the paperclip icon next to the input bar.
- The system document picker opens — browse Files, iCloud Drive, or any connected provider.
- Select a file. A pill (small badge showing the filename) appears above the input bar, confirming the attachment.
- Type your question (optional) and send.
You don't need to type anything. Simply attach a file and send — the AI will summarize the document automatically.
What You Can Ask
Once a document is attached, the AI has access to its full text for that message. Example prompts:
- "Summarize this document"
- "What are the key points in this contract?"
- "List all dates mentioned in this report"
- "Does this PDF mention a refund policy?"
Limitations
- Maximum file size: Large files are processed page-by-page; very long documents may be truncated to fit within the model's context window.
- Scanned PDFs: LucidPal uses on-device OCR to extract text from image-based PDFs. Accuracy depends on scan quality.
- No persistent storage: Attached documents are processed for the current message only. They are not saved to your notes or any persistent store.
- One attachment per message: Each message supports a single file attachment.
Privacy
Document content is processed locally using PDFKit and Apple's Vision framework. No file content leaves your device.
How does OCR work on scanned PDFs?
When PDFKit finds no selectable text in a PDF page, LucidPal falls back to Apple's Vision framework to run on-device optical character recognition. The recognized text is then passed to the language model. This happens automatically — you don't need to do anything differently.