Tài liệu số

A fifty-article circular, turned into software people use every day

  • Web

Circular 05/2025/TT-BNV sets out how Vietnamese agencies must keep digital records: data structure, transfer, preservation, access and disposal. A school clerk cannot work through it article by article. Tài liệu số does that work — every action follows the procedure the Circular requires, cites the article on screen, and an acceptance report maps each chapter to the features that implement it.

Tài liệu số
190API endpoints
53Database tables
627Files in the demo organisation
02

What it covers

Fonds, files, documents

Three levels following the Circular's data structure; search by title, reference, issuing body and text inside the file.

Transfer

Units hand over files within 60 days of the work ending; the archive checks, returns or accepts them and assigns an archival code.

Preservation

Scheduled fixity checks, backups on two independent media, migration before media wear out, and an incident log.

Access

Readers and staff file requests that an authorised person approves; restricted records need the right approver; originals are never handed out directly.

Disposal

A disposal list, an appraisal board, an external reviewer and the head of the organisation decide; destroyed records keep a record as evidence.

Packages and audit trail

SIP, AIP and DIP packages per the annexes; every change emits an append-only PREMIS event.

03

Preservation

Preservation
The preservation screen says plainly what is wrong: overdue backups, files without two independent copies, fixity failures — each with the article it breaches.
04

Screenshots

05

On a phone

06

Stack and infrastructure

APIPython, FastAPI, SQLAlchemy 2, Alembic, Pydantic 2
DataPostgreSQL; metadata in the database, originals in a separate checksummed file store
InterfaceNext.js 16, React 19, Tailwind CSS 4 — separate from the API, over HTTP
PackagesMETS, EAD and PREMIS generated for the Circular's own variant
Sign-inArgon2 passwords, signed session cookies, TOTP two-factor; JWT for machine-to-machine
Multi-tenantOne subdomain per organisation, data separated by organisation
ServersUbuntu, nginx, PM2, systemd timers, TLS