Document Vaults

Similar to a file storage folder, vaults are a multi-level method to organize documents. Each vault can contain documents as well as other sub level vaults. Each vault and the full parent-child vault tree is represented as a hash on the blockchain.

Vaults are also defined by metadata, and are assigned a vault type. The vault type helps determine the kinds of documents that can be loaded into the vault itself:

  • identity
  • entity
  • asset
  • transaction

As each document and metadata record is added to the vault, it is hashed and added to the index of the vault contents.

The encrypted binaries and hashes are permanently logged to the distributed ledger as a secure, immutable data record.

Document Uploading, Scanning, and Importing

As part of a full solution implementation, the ways documents get into XDEX can be customized. The current document sources supported are:

  • Web – HTML forms with a Browse button that will open the file dialog when clicked to allow selection of files in the user’s computer to be uploaded as documents.
  • POP3 email – Provide the email, server and credential of a POP3 based email to be scanned periodically for email. The body of the email is uploaded as a document and the attachments of the email are uploaded as separate documents.
  • IMAP email – Same as the POP3 email source but for email accounts using the IMAP protocol.
  • Watch folder – A filesystem folder that is scanned periodically for files. Any file in the watch folder is automatically uploaded. When the upload for a file is completed, the file is removed from source folder.
  • Staging folder – Folder where networked attached scanned can save image files. The files in these staging folders are scanned and a preview is generated to help the process of upload. Staging folders and Watch folders work in a similar way with the main difference being that Staging folders are interactive while Watch folders are automatic; documents in a Watch folder are uploaded periodically and documents in a Staging folder remain indefinitely there until an user uploads them. A preview for files in a Staging folder is also provided. An example of Staging folder use is when multiple people are scanning documents but only one person must be allowed to upload those documents. This one person examines the scans quality and decides what to upload and what to reject and have re-scanned. Watch folders can be used when the quality of the scans is irrelevant or when they will be known to be of good quality, such as when receiving e-faxes as PDFs.

Document sources can be configure to allow document bundles to uploaded as compressed files which are decompressed and their content uploaded as separate documents. This feature is useful when migrating from another document manager system.

Document Types

The basic unit of record data in XDEX is the document type. A document type can be interpreted also as a document category, a document class, or a document template. Every other aspect of the system will rely or be tied to one or more document type. Create one document type for each type or class of document you intend to upload into XDEX.

Document types need to be created before documents can be uploaded. It is not possible to upload documents without assigning them a document type.

Document types usually mirror the type of physical, paper document they represent.

Example document types:

  • Private Placement Memorandum
  • Shareholder Subscription Agreement
  • Loan Agreement
  • Secondary Market Asset Purchase

Document Metadata

Metadata is the name of the attribute of a document. The concept of metadata is divided in two: metadata types (size, color, distance) and metadata values for those types. Metadata types are defined in the setup menu and associated with document types.

Then when a document is uploaded, a value for that metadata can be entered. There are two kinds of metadata type to document type relations: optional and required.

When a metadata type is optional for a document type, it can be left blank for a document being uploaded and the upload will still be successful. On the other hand required metadata type must be given a value or it will not be possible to upload the document at hand.

Examples of metadata type: Invoice number, color, employee id.

The data entry of metadata types can be set to allow any value to be provided (the default) or a list of possible values can be entered in the Lookup configuration option and users will be presented with a drop down list of options instead of the default text entry box.

If metadata types are setup to allow any value to be entered a validation option can be chosen to block the entry of invalid data. Metadata types also provide parsers which will not block the entry of data but are able to interpret and modify the value provided by the user to a conform to a specific format. An example of a provided parser is the date parser which will interpret and correct dates provided by users regardless of the format in which they are entered.

OCR Processing Engine

XDEX can automatically run basic OCR (optical character recognition) on documents imported into the system. The rendered text content of the document is then encrypted and stored as a metadata associated with the document record itself. This enables a high level of content indexing, searching, and retrieval for authorized users.

Document Indexing

Optimizing the sorting of data and documents across XDEX is made easier with the Document Indexing features. Indexes are an automatic method to hierarchically organize documents in relation to their properties (metadata, label, MIME type, etc) across the XDEX network.

Advanced Search

The XDEX Advanced Search system allows network-wide searching of documents, document content, vaults, metadata, users and more. Based on the Access Control system, users can only search and see objects they’ve been granted permission to access.

Electronic Signature Verification

XDEX enables users to digitally sign documents within the ecosystem using the private encryption key system.

XDEX supports two types of document signatures: embedded and detached signatures. When a document with an embedded signature is uploaded, this signature is readily detected as part of the document inspection step. The status of the signature can be verified by accessing the signatures sections of a document.

Signed documents are tamper-proof. That means that if any part of the document’s file is edited (even just one character or one pixel), the document’s signature becomes invalid alerting that an unauthorized change has occurred.

Digital signatures can be connected to the internal workflow process as part of approvals.

Because the certificate system is a standards-based approach, we can develop and implement full solutions for partners that even include hardware keys and smart cards.

Workflows & Robotic Process Automation

Workflow automation, also known as Robotic Process Automation, provide a structured method for storing a sequence of states over which the a document will progress. Workflows keep track how a document has been processed so far.

Workflows work by storing a series of states to help you know the “status” of a document. To move a workflow from one state to another, transitions are used.

Transitions connect two different states and help provide context to know which state is possible to transition to, from a previous state. Transitions provide and order for the sequence of possible states changes.

Transitions can be executed manually by users if they have the required access level as configured.

Workflows are mainly used to represent business processes. But they can also be used an automation system to customized XDEX and have it perform some tasks automatically.


Besides being able to be executed manually by users, transitions can also be programmed execute automatically based on system events. This is called transition triggering and is one of the tools available to automate business processes.

For example:

Move a document from a “scanned” state to a “billed” state when a tag is attached to the document.

Move a document from a “uploaded” state to a “OCR ready” state when the OCR engine finishes processing the document.

The other tool provided for process automation is being able to execute an action when a workflow state is reached or leaved. These are called state events.

Some examples of state actions currently provided are:

  • Attach a tag to a document
  • Remove a tag from a document
  • Do an HTTP POST request to an external IP address
  • Edit the label or the description of a document.

Other time more state actions are being added. Some state actions like the one that creates an HTTP POST request allow XDEX to trigger processes in external systems based on the state of a document. One example of this is triggering the billing process of an accounting system when an invoice is scanned in XDEX.

Workflow state actions and transitions triggers are new features and are still evolving.

Workflows allow translating business logic into a series of states. With the addition of state actions and transition triggers, the workflows in XDEX are no longer just informative but can be part of your actual business automation process.

This module is the most comprehensive, powerful blockchain-connected workflow system.

Collaboration Tools

XDEX has an internal commenting system for documents for authorized users to collaborate. Comments are also hashed as encrypted document metadata and written to the blockchain ledger.

Users can track documents and associated communication as part of standard workflow processes. Aside from the useful nature of collaborative workflow, this can also be important for regulatory examinations.

Access Control Lists

XDEX has a native Advanced Access Control List (ACL) system that provides highly granular permissioning to every object and function within the XDEX ecosystem. This ACL system can also be integrated with other enterprise access systems like Active Directory. The ACL system comprises accounts, groups, and roles to maintain flexible operations and administration.

XDEX also provides the ability to create complex account structures with weighting and thresholds for approvals for all transactions. Transactions may be proposed for an entity-level transaction, but then require approvals from the associated stakeholders to submit to the blockchain. This provides a real-world governance modeling, which is a significant improvement – one that is necessary for mainstream adoption of financial blockchain technology.

Event Logging

One of the most powerful and unique features of XDEX is the event logging system. Literally every granular action taken by every user of the network is appended to the event system, hashed and then written to the blockchain ledger as an immutable, distributed audit trail.

Among other benefits, this provides a highly secured form of automated trust that eliminates the need for 3rd party manual forensic audits.