What we set out to solve
Every household keeps the same folder: passport scans, an insurance policy, school certificates, a medical report. The files exist. Nobody can find them, and nobody can answer "when does my passport expire?" without opening a dozen images.
Cloud tools index that folder better than we can. People still will not hand it over. In a December 2025 survey, 65% of consumers said they worry about their data being used to train AI, and only 8.5% of privacy policies even state whether it is. The documents people most need to search are the ones they are least willing to upload.
That is the gap: a cloud assistant can read a passport, but only after you send it one.
What we built
Sitr Vault is a Skill for UGOS. You point it at one folder and it builds an index the assistant can answer from, without moving or uploading anything.
It lists the folder read-only, then reports what it found and what it could not read. For each document it records the type, holder, issuer, issue date, expiry date, a confidence level and a sensitivity class. Document numbers are masked before they reach the index: A12345678 is stored as ••••••678. The index cannot leak a number it never stored. It answers questions from the index with the record id and the file path. If the date is doubtful, it says so and lists the file for review instead of guessing. Asked to send a document anywhere, it refuses, explains why, and offers a masked summary sheet written inside the device instead. Every run ends with a receipt. text
PRIVACY RECEIPT
files read ................ 62 files written ............. 3 files uploaded ............ 0 external network calls .... 0 fields masked ............. 62
Why AI NAS is the right place, not a workaround
The scans already live on the NAS, so indexing costs no upload. The vision and text models run on the same machine through UGOS, so the Skill never calls out. Files and Documents are exactly the primitives the job needs: find, tag and organise on one side, read and extract on the other. And the receipt only means something because the machine is in the house. A hosted service cannot print "zero files left the device" and be believed.
What we learned
The hard part was not extraction. It was deciding what the Skill must refuse to do. An assistant that will send your passport when asked politely is not private, no matter where the model runs. Writing the refusals into the skill contract, with a confirmation gate in front of every write, changed the design more than any prompt did.
We also learned that a skill is a deterministic chain, not a conversation. Each step writes a file the next step reads, so a failure has a name and a place instead of a shrug.
Challenges
Arabic print reads well. Arabic handwriting and stamp overprints do not, so we built the confidence levels first and the extraction second, to make sure a doubtful date can never reach an answer. We also cut features: image redaction and Hijri conversion are honest roadmap items, not claims.
What is next Calendar conversion, redaction that edits the image rather than summarising it, and scheduled expiry reminders.
Built With
- agent
- agents
- ai
- arabic
- document
- local
- markdown
- nas
- natural-language-processing
- ocr
- on-device
- privacy
- skills
- ugos
- ugreen