> ## Documentation Index
> Fetch the complete documentation index at: https://docs.planeconnection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Verify Record Integrity

> Verify maintenance records using cryptographic hash chains with SHA-384 hashing, Merkle tree anchoring, and RFC 3161 timestamping.

By following this guide, you will verify the integrity of maintenance records using
PlaneConnection's cryptographic hash chain system, understand how records are hashed and
anchored, run per-aircraft chain verification, and interpret verification results.

<Info>
  **Who should read this:** Directors of maintenance, quality assurance managers, compliance
  officers, and auditors who need to verify that maintenance records have not been tampered
  with since creation.

  **Required permission:** `maintenance_ops` -- read to run verification checks.

  **Regulatory basis:** 14 CFR 43.9 defines the content and form of maintenance records.
  14 CFR 91.417 requires maintenance records to be retained and available for inspection.
  While the FAA does not currently mandate cryptographic record integrity, tamper-evident
  records strengthen your compliance posture and provide verifiable evidence during audits
  and legal proceedings.
</Info>

## How Record Integrity Works

PlaneConnection protects maintenance records using a multi-layer integrity
system. Every critical record — work orders, inspections, AD compliance
actions, part installations, part removals, discrepancies, MEL deferrals,
and technician attestations — is cryptographically fingerprinted when
created and chained to previous records. If any record is modified after
creation, the chain breaks and verification fails.

Record hashes are periodically anchored to independent external authorities,
providing cryptographic proof that records existed at a specific point in
time — independent of PlaneConnection's infrastructure. For the full
architecture, see
[Record Integrity Architecture](/en/explanation/record-integrity-architecture).

<Note>
  Record integrity is gated behind the record integrity feature flag. Contact your administrator if
  this feature is not visible in your workspace.
</Note>

## Record Types Covered

The integrity system covers all critical regulatory record types:

| Category      | Record Types                                                    |
| ------------- | --------------------------------------------------------------- |
| Maintenance   | Work orders, inspections, AD compliance, SB compliance          |
| Parts         | Part installations, part removals                               |
| Safety (SMS)  | Safety reports, investigations, corrective actions              |
| Flight Ops    | Flight logs, eAPIS filings, weight & balance, dispatch releases |
| Crew          | Training records, currency checks                               |
| Discrepancies | Squawks, MEL deferrals, Form 337 records                        |
| SmartScore    | Pilot, SMS, operator, and maintenance score snapshots           |

## Verify an Aircraft's Record Chain

<Steps>
  ### Navigate to record integrity

  Go to **Maintenance > Record Integrity**. The page lists all aircraft in your workspace with
  their chain status.

  ### Select an aircraft

  Click on an aircraft registration to open its record chain detail. The page shows:

  * **Chain length** -- Total number of hashed records in the chain
  * **Last record** -- Date and type of the most recent record
  * **Anchoring status** -- Whether the chain has been externally anchored
  * **Verification status** -- Last verification result

  ### Run verification

  Click **Verify Chain**. The system:

  1. Retrieves every record hash in the aircraft's chain, ordered by sequence number
  2. Recomputes each hash from the source record data
  3. Verifies that each record's `previousHash` matches the prior record's hash
  4. Checks that the chain sequence numbers are contiguous with no gaps
  5. If anchored, validates the Merkle proof against the external anchor

  ### Interpret results

  | Result          | Meaning                                                  |
  | --------------- | -------------------------------------------------------- |
  | Chain Valid     | All hashes match; no records have been modified          |
  | Chain Broken    | One or more records have been modified since creation    |
  | Sequence Gap    | Records are missing from the chain                       |
  | Anchor Verified | External timestamp confirms chain existed at stated time |
  | Anchor Pending  | Records have been hashed but not yet externally anchored |
</Steps>

<Warning>
  A broken chain does not necessarily indicate malicious tampering. Database migrations, system
  updates, or data corrections can break chains. However, any break should be investigated and
  documented. The verification report identifies the exact record where the chain breaks, allowing
  targeted investigation.
</Warning>

## View Record Details

From the verification page, click any record in the chain to see:

* **Record Type** -- What kind of record (work order, part install, etc.)
* **Record ID** -- Link to the source record
* **Record Hash** -- The SHA-384 hash of this record
* **Previous Hash** -- Hash of the preceding record in the chain
* **Chain Sequence** -- Position in the aircraft's chain
* **Hash Algorithm** -- Algorithm used (SHA-384)
* **Anchored** -- Whether this record has been included in an anchored Merkle tree
* **Anchor Details** -- RFC 3161 TSA URL and timestamp, or OpenTimestamps proof

## Anchoring Details

### RFC 3161 Timestamps

For records anchored via RFC 3161:

* **TSA URL** -- The Time-Stamp Authority URL used
* **Timestamp** -- The RFC 3161 timestamp token
* **Token** -- The cryptographic token for independent verification

### OpenTimestamps (Bitcoin)

For records anchored via OpenTimestamps:

* **OTS Proof** -- The OpenTimestamps proof file
* **OTS Status** -- Pending (waiting for Bitcoin confirmation) or Confirmed
* **Bitcoin Block** -- The Bitcoin block number containing the anchor

## Export Verification Report

To generate a verification report for audit purposes:

1. Run verification on the target aircraft
2. Click **Export Report**
3. The system generates a PDF or JSON report containing the full chain verification results,
   anchor proofs, and a summary suitable for regulatory submissions

<Tip>
  Run verification reports quarterly as part of your quality assurance program. Include verification
  results in your management review per 14 CFR Part 5 safety assurance requirements. Having a
  documented history of regular integrity checks strengthens your compliance posture.
</Tip>

***

<CardGroup cols={2}>
  <Card title="Part Passports" icon="passport" href="/en/how-to/maintenance/manage-part-passports">
    Part lifecycle events are individually hash-chained for traceability.
  </Card>

  <Card title="Technician Attestations" icon="id-card" href="/en/how-to/maintenance/manage-technician-attestations">
    Attestation records are included in the integrity chain.
  </Card>

  <Card title="Manage Work Orders" icon="wrench" href="/en/how-to/maintenance/manage-work-orders">
    Work order records are hashed at creation and at return-to-service.
  </Card>

  <Card title="Compliance Dashboard" icon="gauge-high" href="/en/how-to/maintenance/use-compliance-dashboard">
    Compliance documents are managed alongside integrity verification.
  </Card>
</CardGroup>
