Zybald DOC-01 In development
Document management · confidentiality · assistant

The archive that decides who may read.

Zybald gathers a company's documents from five channels, reads them, classifies them with the company's rules and with a language model, and files them in the right folders. Its starting point, however, is not classification: it is confidentiality. Every document is visible only to those entitled to it, every read leaves a trace, and not even the person administering the installation can open a document without declaring it. On top of the archive works an assistant powered by a real language model, which searches and reads only what the person asking can already see.

Zybald is the evolution of Vdoc, rewritten on its own document engine.

5
Input channels,
unified
3
Permission levels
per folder
1
Single point where
permissions are checked
1
Installation per client,
no shared data

Design properties, not operating measurements.

Status, October 2026. Zybald is in development. This page describes the complete product: archive, public links, workflows, portal and assistant. Features go into service in stages, starting with the archive.

01function

What Zybald does.

A document arrives: a PDF invoice, a signed contract, an email with three attachments, a spreadsheet, the photo of a till slip. Zybald records it, recognises whether it is already there, reads it, gives it a title, type, sender, date, the fields of its type and a summary, and places it in the folders set by the company's rules. From that moment on, only the groups with access to those folders can see it.

01 · folders
Folders that do not force a choice
Virtual folders and subfolders, plus tags. The same document can sit in several folders without being duplicated: a supplier's invoice belongs both to accounting and to the case it refers to. A case can be created from a template, with its subfolders and expected documents, and shows at any moment what is missing.
02 · permissions
Permissions that explain themselves
On each folder a group holds one of three levels: read, contribute, manage. Levels flow down the tree. An explicit ban, "this group never sees this document", overrides any grant. Every person can ask why they see a document; the comparison for any user lives in the test pages.
03 · search
Search within permissions
Full-text search in the installation's language, Italian or English, combined with folder, tag, type, sender, dates and the fields of the document type. The permission filter is part of the query itself: a banned document cannot appear, not even through a misalignment. Searches can be saved, personal or shared with one's group, and always show only what the person opening them can see.
04 · daily work
Flag, edit, link
Flag a document to a colleague who already sees it, with a due date and an email notice: a flag never opens a document to someone who could not read it. Edit up to five hundred documents at once, all or nothing. Link documents to each other. A "To check" view gathers what needs a person: a date not found, a field to confirm, a likely duplicate, a protected PDF without a password.
05 · pages and versions
Every change is a version
Rotate, delete and reorder pages; split a document in two or merge several. Every change is a new, immutable version, and the previous version can be restored at any time.
"The real cost of a document is not filing it, it is finding it again nine months later." Project premise
02architecture

Three processes, one logic.

Zybald is organised around a logic layer that holds every rule: identity, permissions, archive, versions, search, log. Around it run three separate processes, so that a failure in one does not stop the others.

FIG · 01 · Logical architecture of the system ZYBALD · STRUCTURE
CHANNELS · INPUT USB Inbox raspberry pi zero PC folder windows program Email dedicated mailbox Telegram bot smartphone · photo Interface upload · drag PROCESSES Web service API · interface Channels email · bot Worker queue · assistant LOGIC · RULES Logic layer ONE SINGLE CHECKPOINT Identity and access Permissions · bans Archive · fingerprints Versions Full-text search Event log AYXZA Relay classification · assistant DATA PostgreSQL metadata · queue log Archive encrypted files AES-256 model LEGEND internal flow call to the model
  • The web service exposes the APIs to the interface and to the input clients.
  • The worker runs the long jobs in the background: text reading, conversion of office formats and email messages to PDF, classification, indexing, notifications, consistency checks, and the assistant's answers, on dedicated processes so that a conversation does not slow down the archive.
  • The channels receive email and bot messages.

When a document arrives, Zybald stores it and answers the channel straight away; reading and classification continue in the worker. An interrupted job resumes after a restart, because the job queue lives in the database.

The interface is an application that talks only to the APIs.

03path

The journey of a document.

Whatever the channel, every document goes through the same seven steps. The first three happen at once, and the channel gets its answer; the others continue in the background.

FIG · 02 · Path of a single document INTAKE · BACKGROUND PROCESSING
1 Intake SHA-256 fingerprint 2 Dedup no duplicates 3 Archive encrypted file in “Incoming” 4 Reading OCR · office → PDF 5 Classification rules, then Relay 6 Placement rules and cases 7 Notification no document data At once THE CHANNEL GETS ITS ANSWER In the background WORKER · JOB QUEUE
  • 1 · Intake. The channel delivers the file; Zybald computes its SHA-256 fingerprint.
  • 2 · Deduplication. If the same content already exists, Zybald says so and creates no duplicate, whatever channel it originally came from.
  • 3 · Archive. The file is encrypted and written; the document is born in the "Incoming" folder of its channel. The channel gets its answer.
  • 4 · Reading. Local OCR on pages without text, with searchable text and a preview. Office documents become a PDF through LibreOffice, keeping the original; protected PDFs open with the passwords the owner has saved, or with a password given once by whoever holds the document.
  • 5 · Classification. First the text rules written by the company, then the language model through AYXZA Relay: title, type, sender, date, tags, type fields, summary, related case. Rules prevail over the model, and what a person has corrected by hand is never touched again. Without a model, Zybald classifies with rules and the date read from the text.
  • 6 · Placement. The company's rules, by channel, type and sender, move the document into the right folders; the documents of a case created from a template go to the subfolder that expects them. If no rule applies, it stays in "Incoming", visible only to those who manage it.
  • 7 · Notification. The designated people receive a message. Notifications contain no document data, unless the owner explicitly chooses otherwise.

When the AI does not recognise the date or is unsure about the case, Zybald does not guess: it opens an issue that a person resolves, puts it in the "To check" view, and records who resolved it and when.

04input

Five ways to hand in a document.

How a document enters a company depends on who sends it, from where and with which device. The five channels converge into the same path.

channel 01 · USB inbox
A device, like a USB stick
A small device plugs into the PC like a USB stick. Files copied onto it are sent to the server and removed from the device.
channel 02 · PC folder
A dedicated folder on Windows
Files copied into the folder are sent in the background, and a file that does not get through is set aside with the reason, without blocking the others.
channel 03 · email
A dedicated company address
Every email from an authorised sender becomes a document, with a PDF copy to browse and the attachments linked. By writing #folder-name in the subject, a colleague files it where they already have the right to add documents.
channel 04 · Telegram bot
From the phone, where the document is
A photo or a file sent from the phone, from wherever the document happens to be.
channel 05 · interface
From the Zybald window
A file is dragged into the Zybald window, or uploaded from the assistant during a conversation: in that case it lands in the personal space of whoever uploads it.

Every workstation and every device has its own access key, which can be revoked on its own without touching the others.

Accepted formats: PDF, password-protected ones included; JPG, PNG, TIFF, BMP, WEBP and GIF images, turned into PDF before reading; saved email messages (EML); and, where the installation has LibreOffice, Word, Excel, PowerPoint and OpenDocument office files (DOC, DOCX, ODT, RTF, XLS, XLSX, ODS, PPT, PPTX, ODP), converted to PDF without macros and without network access.

05artificial intelligence

The engine that interprets.

When the company chooses it, Zybald uses AYXZA Relay, AYXZA's engine that makes the language model provider interchangeable. Changing model is a configuration, not a rewrite; a self-hosted model can also be used, through a compatible endpoint.

What the AI does

  • It extracts title, type, sender, date, tags, type fields and summary from the content, without rigid templates.
  • It reads email messages as text too.
  • It recognises the sender even when written differently, with a second opinion when the similarity is uncertain.
  • It proposes the case the document belongs to.

What the AI does not do

It does not decide who sees the document: visibility comes only from folders, levels and bans, rules written by people. It does not overwrite what a person has corrected, and it gives way to the rules written by the company.

Data sent to the AI

For classification, the document being classified, for the duration of the classification. For the assistant, the messages of the conversation and the text of only the documents the person has it read, always among those they can already see. Users, groups, permissions and log never leave the installation. Text reading happens locally; AI-based extraction is an option enabled only if the company chooses it.

06assistant

A model that reads only what you see.

Zybald has an assistant powered by a real language model, not a search box in disguise. It opens from the header, next to the Archive, or from the "Ask" field on the Desk. The switch belongs to the owner: the assistant stays off until they turn it on, and whoever administers the installation does not use it.

01 · personal space
A space colleagues do not see
Every person has a space of their own, with their conversations, files and folders, which colleagues and the owner do not see. A document moves into the shared archive through the person's own action, never by itself. Emergency access applies here too, with its rules: written reason, limited duration, log, notice.
02 · shared projects
Instructions, documents and shared memory
A project gathers instructions, reference documents and a shared memory, and is shared with a group or a person. Each member finds there only the documents they already see; conversations belong to their author until they choose to share them, with a notice.
03 · memory
A memory that is confirmed
The assistant proposes what to remember; it remembers only what the person confirms, and a page shows everything it knows, to edit or delete line by line. Health, political and religious opinions, orientation and third parties' identifying data are never saved.
04 · tools
With the permissions of whoever asks
It searches and reads documents, creates a document in your space, attaches to the project: always with the person's permissions and without emergency access. No web browsing, no code execution. The log records what was read and that it was read through the assistant, never the text of the conversation.

The engine

The model is chosen by profile, according to confidentiality, cost and power, and AYXZA Relay routes it: Zybald does not know model names. Usage is counted per person.

07confidentiality

Who may read, and how it is proven.

Confidentiality is not a setting: it is the way the archive, access and the log are built.

01 · installation
Dedicated installation
One installation per client, on a European server or on a machine at the company. No shared platform.
02 · files
Encrypted files
Every file is encrypted on disk with AES-256, with a key belonging to the installation. On disk, file names are fingerprints: no titles, no client names.
03 · access
Access
Passwords stored with argon2id; second factor mandatory for those who manage; lockout after failed attempts and rate limits on logins and recoveries. The application cannot be reached directly from the network: it is served only through a reverse proxy with HTTPS.
04 · log
Log
Every operation is logged, reads and downloads included: who, when, what, with which outcome. Entries are chained by cryptographic fingerprints, so a change or a deletion is detected. Minimum retention of twenty-four months.
05 · administrator
The administrator does not read
Whoever administers the installation manages users, configuration and system health, but has no access to any folder, has no personal space and does not use the assistant. If a document really has to be opened, there is an emergency access: written reason, limited duration, every read logged, immediate notice to the owner.
06 · bans
Bans and the custodian
Bans are set and lifted only by the "custodian of permissions", with a logged reason. Whoever administers the system cannot appoint themselves custodian or add themselves to groups.

Export

Data is never held hostage. A server command produces an encrypted package with the originals in clear, ordered by folder, and the metadata, fields, links, notes and log in open formats; every export is logged and notified to the owner. The same package rebuilds an empty installation.

Declared limit

Whoever holds administrator privileges on the operating system can read what the machine reads: text reading and search need the content in clear while it is processed, and the text of the assistant's conversations, like the extracted text of documents, is stored in the database in clear. Zybald makes this access difficult, visible and traced within the application, but does not eliminate it, and states it in the contract.

The installation key

If it is lost, the files can no longer be read. At installation a copy is kept off the machine; the backup includes it only if the owner chooses so, because a backup with the key next to the files cancels the encryption for whoever steals it.

08verification

Test pages, in production too.

Test pages accessible only to the owner and the administrator, which write no data and can be used on the live archive. The rules page belongs to the owner alone.

  • Health of the processes and fingerprint of the loaded key.
  • Dry-run intake.
  • "Why they see it / why they don't" comparison between two independent permission calculations.
  • Search timings.
  • Consistency between archive and database.
  • Integrity of the log.
  • State of the job queue.
  • Fields, issues and "what is missing" in a case.
  • Text rules applied as a dry run.
  • Language coverage.
  • Validity of a public link.
  • Dry run of a workflow.
  • Scope of an external portal user.
  • Assistant, with counts only.

For those assessing the system from an IT standpoint, it is the way to check what it does without trusting the documentation.

09features

What it includes.

The archive is the centre; public links, workflows, portal and assistant work on top of it, with the same permissions.

AreaContent
ArchiveDocuments, virtual folders and tags, permissions with bans, versions, page operations, text reading, search, fields per type, cases from templates, saved searches, links, bulk editing, five channels, log, emergency access, export.
Public linksLink to a single document with mandatory expiry, optional password, read-only and revocable; a link always shows the version it was created for; a ban revokes existing links on its own.
WorkflowsGraphical editor with parallel branches, conditions, tasks and automatic actions; three ready-made templates (simple approval, double approval, incoming registration); a task never opens the document to someone who cannot see it.
PortalAccounts for clients and suppliers, by invitation only and with a second factor, with their own area, document upload and participation in workflows.
AssistantPersonal space, shared projects, confirmed memory, tools with the permissions of whoever asks.

The tables for public links, workflows and portal exist from the first version of the schema: enabling them does not require migrating the archive.

10configuration

What the company can change.

Every organisation has its own folders, groups and rules. They are adapted from the interface, without touching the code.

AreaWhat can be changed
Users and groupsInvitations, suspensions, roles; group memberships managed by the custodian of permissions.
Folders and permissionsFolder tree, levels per group, bans with a reason.
ChannelsKeys of workstations and devices, authorised email senders.
Placement rulesDestination folders by channel, document type and sender.
Text rulesWords and expressions that assign type, sender, tags and folder before the model.
FieldsFields of each document type, and which ones the model proposes.
Case templatesSubfolders and expected documents of each type of case.
Instructions for the AICompany context and classification criteria; the response schema stays locked.
ThresholdsSimilarity used to recognise senders and cases.
LanguageInstallation language for search, text reading and AI; each person chooses their own interface language.
Protected PDFsPasswords used to open incoming PDFs, stored encrypted.
NotificationsWho receives them and whether they may contain document data.
AssistantActivation, default profile, active tools, automatic proposal of memories, retention of conversations.
Emergency accessDuration; the notice to the owner cannot be switched off.
RetentionDuration of the log (minimum twenty-four months) and of the bin.

Every configuration change is itself an event in the log.

11stack

What lies underneath.

For those assessing the integration from an IT standpoint, a short view of the technical components.

ComponentTechnology
Operating systemUbuntu 24.04 LTS
ApplicationPython 3.12, Flask 3 with gunicorn, SQLAlchemy 2 and Alembic
DatabasePostgreSQL 16, full-text search in Italian and in English
Text readingOCRmyPDF and Tesseract, Italian and English
Email PDFsWeasyPrint, in a separate process
Office formatsHeadless LibreOffice, optional, without macros and without network access
InterfaceVue 3, Vite, TypeScript, in Italian and in English; fonts hosted in the installation
AI engineAYXZA Relay, for classification and the assistant
ProcessesThree systemd services with a dedicated system user
Reverse proxy and HTTPSCaddy
Windows clientWindows program that sends the dedicated folder
USB InboxRaspberry Pi Zero 2W
BackupBorg, encrypted, to a separate storage, with a restore test on a clean machine at go-live

No mandatory external service other than the model provider, and not even that, if the company classifies with rules only.

12limits

What Zybald does not do.

Zybald is designed to file, classify and protect documents. It does not replace business tools with different responsibilities.

  • It is not an ERP. It does not record accounting entries, issue invoices or manage due dates.
  • It is not certified email (PEC), nor the Exchange System (SdI), nor compliant long-term preservation. It can receive by email copies of electronic invoices after they have been acquired through the ordinary channels.
  • It does not delete on regulatory expiry. Tax and legal retention rules remain the company's responsibility.
  • It does not forgive every typo. Search is precise on words; when it finds nothing, it suggests similar terms among titles, senders and tags.
  • It does not serve several organisations in the same installation. Each client has its own.
  • It does not read barcodes and does not number the archive with physical labels.
  • It does not recognise near-identical documents, only identical ones.
  • It does not yet connect to company single sign-on.
  • The assistant does not browse the web and does not run code.
  • It does not replace reading. The summary helps find a document, not decide on its content.