Document repository
A drive that reads what you put in it
Folders, uploads and versions on your own S3-compatible storage — and every file that lands is read, extracted and available to act on. Bring your Google Drive across and it stops being a pile.
MinIO · RustFS · AWS S3 · No metered retrieval
The familiar part
Everything you expect from a drive
No new mental model to teach anybody. It is a tree of folders on storage you run, and the things that are usually someone's filename convention — versions, classification, provenance — are fields instead.
Folders, paths and files
A tree you organise yourself, with real paths, breadcrumbs and nesting. Drop a PDF in, move it, rename it, delete it and get it back. Nothing here needs explaining to anybody.
Bring the drive you already have
Sync from Google Drive, Dropbox or OneDrive. Files arrive with their source and external identity recorded, so the copy knows where it came from and can be brought up to date again.
Versions, not filename suffixes
Each item carries a version number and a current-version flag, so the thing you open is the live one and the earlier states are still there rather than living in -final-v2-USE-THIS.pdf.
Block storage underneath
Objects sit on block storage through an S3-compatible interface — MinIO, RustFS or AWS S3. Point it at a different endpoint and the application does not change, because storage is addressed in one place rather than assumed throughout.
Classified per item
A classification level on every file, from public through confidential, alongside role-based access. The label travels with the item rather than being a property of the folder someone filed it in.
Checked on arrival
A SHA-256 checksum recorded at ingest, plus access and download counts against every item. You can prove a file is the one that landed, and see who has been reading it.
The document lake
Let everything land, and read it on the way in
A data lake takes whatever arrives and makes sense of it later. Documents deserve the same: drop in the scanned contracts, the signed PDFs, the exports nobody has opened in years, and let extraction do the sorting rather than a person with a naming convention.
The difference between a drive and a lake is what the system knows without being told. A drive knows a file is 719 KB and was modified on Tuesday. A lake knows it is an agreement with two parties, a renewal date and a value — because something read it when it arrived, and wrote that down next to the file rather than in somebody's spreadsheet.
What it does
A repository that works, not a filing cabinet
Every function here exists to answer one question quickly: which document, which version, what is in it, and who has touched it.
Extraction built in
PDF and DOCX read into text and structured fields — parties, dates, values — with no add-on product and no per-page charge. It is what turns a folder of scans into something you can ask questions of.
Automation on arrival
A file landing is an event. Pipelines run on what arrived, so ingest, classification and downstream work happen without anybody watching the folder.
Complete version history
Every revision retained and diffable. Compare any two versions, see who changed what and when, and restore a prior state in place.
Search across the repository
Find items by name, path and metadata across the whole tree, with extracted content held against each file rather than locked inside the PDF.
Access you can evidence
Role-based permissions down to the item, plus download counts and last-accessed timestamps on every file, written to a log in your own database.
Storage you choose
MinIO on your own hardware, RustFS, AWS S3, or any S3-compatible provider. Change the backend without changing the application.
Not built yet
Records management is the next layer, and it is not here
The primitives records management needs are in place — classification on every item, version history, checksums, access records. The scheduling layer that turns those into a retention programme is honestly described as forthcoming.
Retention and disposition
Retention classes attached on write, with a disposition date computed rather than remembered, and automatic expiry when it arrives.
Legal hold
A hold that overrides disposition for the duration of litigation, applied across a matter rather than file by file, and evidenced when it is lifted.
Auto-archival
Rules that move cold items to colder storage on their own — by age, by class, by last access — so tiering is a policy rather than a quarterly chore.
DoD 5015.2-style records management
The records-management model the US DoD criteria describe: record categories, filing plans, and disposition you can produce evidence for. We have the classification and audit primitives; the scheduling layer above them is the work.
If a retention obligation is the reason you are reading this page, say so early and we will tell you plainly whether our timeline meets yours. DoD 5015.2 is a design-criteria standard with a formal certification behind it; we are describing the model it sets out, not claiming to have been certified against it.
What happens to a file you drop in
Four things, none of which you have to do
The work that usually falls to whoever owns the folder — naming, sorting, recording what a document is — happens on arrival instead.
- 01 It lands Uploaded, generated by Wraft, or synced across from Drive, Dropbox or OneDrive.
- 02 It is checked A SHA-256 checksum recorded, its type and size read, a version number assigned.
- 03 It is read PDF and DOCX converted to text, with parties, dates and values extracted into fields.
- 04 It becomes an event Pipelines fire on what arrived, so the next step happens without anybody watching the folder.
Who this is for
Teams whose documents outlive their tools
If your volume is modest and nothing you store has to be produced on demand, a hosted drive is the sensible choice. These are the cases where it is not.
Legal and professional services
Matter files kept for the full retention period, with privilege boundaries enforced and every access recorded.
Financial services
Residency and retention met by where your bucket is, rather than by which regions a vendor has chosen to offer.
Healthcare
PHI-adjacent records held inside your own compliance boundary, on infrastructure that never has to reach the public internet.
Public sector
Public-records obligations and information requests answered from a repository you control outright.
Before you commit