Problem & Context
Maintenance and inspection records are harder to review when there is no reliable way to check whether a file still matches the version that was registered. MaintProof explores file-integrity checks for this use case. The idea was inspired by maintenance reporting I encountered during my internship, but MaintProof is an independent academic prototype and was not deployed or adopted by PT Saprotan Utama Nusantara.
Goal
Build a prototype that demonstrates how document hashing and blockchain-backed registration can help people check the integrity and traceability of maintenance records. Its intended users include technicians and maintenance administrators registering records, supervisors and factory managers reviewing them, and auditors examining the available record trail.
Approach
For registration, a user selects a document and the browser calculates its SHA-256 hash. The application submits that fingerprint with maintenance metadata through a Solana Devnet transaction. The original file is not uploaded to the blockchain. For verification, a user selects a local file, the browser calculates its hash again, and MaintProof checks it against a previously registered record. A match means the selected file matches the recorded fingerprint; it does not establish that the report is truthful or that the physical work occurred.
Public History lists registration records available in the browser's local index, while My History filters those cached records by the connected wallet address. Available registration details include timestamps and submitting wallet addresses. The address supports record filtering and traceability, but by itself does not establish its owner's legal identity.
Technical Implementation
The application uses TypeScript and React. It calculates SHA-256 locally in the browser with the Web Crypto API, then uses Phantom Wallet to sign and submit registration transactions to Solana Devnet. Each transaction uses the SPL Memo Program to record the document hash and relevant maintenance metadata; the document itself remains off-chain. Registration is a blockchain write, while the app's verification flow checks a calculated hash against its registered-record index without creating a new registration transaction. Transaction signatures and a localStorage index of record metadata and status support the history interface; the on-chain memo transaction remains the integrity record.
Outcome
MaintProof is an academic demo prototype showing document registration, file-hash comparison, and history views for tracing registrations. It demonstrates a lightweight on-chain record format instead of storing complete documents on-chain. It has not been presented as a production system, formally security-audited, or adopted by the internship company.
Lessons Learned
Hash matching answers a narrow question: whether the selected file matches a recorded version. It cannot prove the report's truth or the completion of maintenance work. Keeping documents off-chain limits the data recorded in each transaction, but metadata placed on a public ledger can remain visible and difficult to remove. The prototype also highlights the need to explain verification results clearly and to distinguish the on-chain record from the local index used to browse it.
