A HIPAA- and GDPR-compliant clinical-lab delivery protocol that replaces the industry-standard "encrypted ZIP + 24-hour signed URL" workflow with a patient-owned vault, BioNFT-gated access, and cryptographic on-chain delivery receipts on the Sequentia blockchain.
Clinical genomic laboratories — even the largest US providers — deliver raw genetic results to their patients using a workflow that has not meaningfully evolved since the early 2010s: an encrypted ZIP file attached to email, a symmetric password mailed separately, and a set of signed download URLs that expire 24 hours after issue. Patients who do not download immediately lose access. There is no cryptographic proof of delivery, no audit trail visible to the patient, no mechanism for revocation, and no path to satisfy GDPR Article 17.
This paper introduces the GenoVault PO Box: a HIPAA- and GDPR-compliant
clinical-delivery protocol implemented on GenoBank.io infrastructure. The lab pastes the
same signed URLs into a single textarea on a magic-link-authenticated page; the GenoBank
backend streams the bytes directly into the patient's encrypted Google Cloud Storage vault
before the URLs expire; a BioNFT representing the casefile is minted under the patient's
wallet on the Sequentia blockchain (chain ID 15132025); and a
LabDeliveryReceiptNFT is minted to provide cryptographic, on-chain evidence of
delivery shared between the lab and the patient. The lab rep is never required to install a
browser plugin, sign with a wallet, or memorize a password.
The protocol is currently in production beta on Sequentia mainnet with a small cohort of US clinical-lab partners (under NDA). The architecture, smart-contract surface, code paths, compliance mappings, and threat model are documented below; partner case studies will be published as each lab's BAA framework matures.
The pattern below describes the standard US clinical-lab raw-data release workflow as it operates across multiple top-tier diagnostic providers in 2026. It is reconstructed from first-hand patient experience and the public correspondence trails of three independent clinical labs; no individual lab or patient is named. We refer to the lab in question simply as "The Lab".
links_to_files.txt with two or three signed download URLs (typically one
tokenized DNAnexus URL for a VCF plus one or two AWS S3 presigned URLs for BAM files).
Walking through the actual byte path: the AWS S3 presigned URLs embed an Expires=
Unix-epoch query parameter; when consumed after that epoch they return
HTTP 403 Forbidden with an x-amz-id-2 header confirming
signature expiry. DNAnexus-tokenized URLs return HTTP 401 Unauthorized
when their issuance window closes. The patient, who almost never carries the technical
vocabulary to debug presigned-URL signatures, can only repeat the cycle.
The pattern most US clinical labs ship today reflects an implicit cost/risk trade where the lab optimizes for its own data-egress liability at the expense of patient utility:
| Failure dimension | What goes wrong |
|---|---|
| Cleartext password handoff | The decryption password rides in a separate email seconds after the ciphertext, with both arriving in the same inbox. Anyone who can read one email can read the other. |
| Short URL TTL | 24-hour expiry assumes the patient is technical, at a keyboard, and willing to drop everything to download multi-GB BAMs. Most clinical patients miss the window. |
| No delivery receipt | Neither party holds cryptographic evidence that the patient ever received the data. Disputes default to "her word against ours." |
| No audit trail | The patient cannot see who else accessed their results or when. The lab cannot prove zero-trust posture to its Privacy Officer. |
| No revocability | Once downloaded, the file is in the patient's inbox forever. GDPR Article 17 ("right to erasure") cannot be satisfied without manual provider intervention. |
| No re-disclosure tracking | If the patient forwards the ZIP to a third party (research collaborator, dating app, employer), the chain of custody disappears. |
| Plain HIPAA Privacy-Rule "covered transaction" | Treats the patient as a passive recipient of a one-shot disclosure rather than as the data controller (GDPR Article 4(7)) the regulation now contemplates. |
The GenoVault PO Box is a digital post-office-box owned by the patient. The lab — in possession of the same short-lived signed URLs the patient already cannot use — opens a magic-link-authenticated page in their browser, pastes the URLs into a single textarea, and clicks Deliver Securely. The GenoBank server then:
samtools index against the GCS object so the patient can use GA4GH htsget streaming without re-downloading.LabDeliveryReceiptNFT with a keccak256 manifest hash, file count, and total bytes — under the patient's wallet — using the lab's authorized custodial signer./consent/biofile/<wallet> dashboard under a new "Clinical Lab Inbox" tab.The patient pays nothing, the lab pays nothing, and the lab rep has the same friction profile they had with the encrypted-ZIP flow (in fact, lower — they no longer have to remember to send a follow-up password email).
| Contract | Address | Role |
|---|---|---|
LabNFT_v2 |
0x6b7c8702defFdfC76DeF9c68e1E3b21D77F9624a |
Stores each onboarded lab's serial number, custodial wallet, and metadata (name, website, CLIA number, GA4GH access level). Custodial wallets are Fernet-encrypted server-side. |
BioRouter |
0xc92f9f1D68A445189Ad3ad28524186A11Be30DcA |
Privacy-preserving asset registration. On-chain stores only an opaque bioipId (keccak256 over serial + fileType + salt + lab) — physical bucket paths live in encrypted off-chain DB. |
BioAssetVault |
0x2fd98bFF77571F1338bf1F44E68b80Be77205850 |
ERC-1155 parent/child hierarchy: parent biosample → child files (BAM, VCF, FASTQ). |
LabDeliveryReceiptNFT |
0x5C9b22c146a5bc2FfB68230fc5904A93eBc88f20 |
ERC-721 minted per casefile. Emits CasefileDelivered(labSerial, caseId, recipientWallet, manifestHash, fileCount, totalBytes, deliveredAt). Gated by authorizedMinter mapping so the lab's custodial wallet can mint its own deliveries without full Ownable powers. |
/api_clinical_inbox/{create_case, case_lookup, ingest_urls, case_status, list_for_owner} on genobank.app. Wallet-scoped MongoDB collections clinical_inbox_cases + clinical_inbox_audit.gs://genobank-vault, AES-256 at rest (CMEK via Cloud KMS available for BAA counterparties that require it). No AWS S3, no IPFS (IPFS is non-deletable and incompatible with GDPR Art. 17).htsget.genobank.app — patient can run biofs view <bioipId> locally to pipe a BAM through samtools view without re-downloading.clinical_inbox_audit records (timestamp, source-host-redacted, byte range, SHA-256 progress); on-chain AccessGranted events from BioRouter for downstream re-disclosure tracking./home/ubuntu/.lab_wallet_master_key on a hardened GCE VM; signing is loopback-only and gated by both admin authorization and the magic-link token (mirrors GenoBank's prior sign_as_donor protocol).HIPAA Privacy and Security Rules apply when a US clinical lab discloses Protected Health Information (PHI) to a Business Associate or patient. The mapping below is intended for use in a clinical lab's internal HIPAA risk analysis (45 CFR §164.308(a)(1)(ii)(A)).
| Rule / Safeguard | Current archaic flow | GenoVault PO Box |
|---|---|---|
| §164.312(a)(2)(iv) — Encryption at rest | Patient-side: encrypted ZIP, password emailed separately. Server-side: depends on lab's choice (often plain S3). | AES-256 at rest in Google Cloud Storage; CMEK via Cloud KMS available for labs that contractually require provider-held keys. |
| §164.312(e)(2)(ii) — Encryption in transit | HTTPS to S3 / DNAnexus. | HTTPS to GCS; TLS 1.3; signed-URL streaming. |
| §164.312(b) — Audit controls | No patient-visible audit; provider audit lives in lab's internal systems only. | Per-chunk Mongo audit log + on-chain AccessGranted events. Patient sees the full timeline in their dashboard. |
| §164.312(c)(1) — Integrity | No content hash provided to the patient; cannot detect tampering between lab and patient inbox. | SHA-256 computed during ingestion, recorded both in the off-chain manifest and as a keccak256-rolled-up manifestHash on-chain in the LabDeliveryReceiptNFT. |
| §164.312(d) — Authentication | Symmetric password in email; no replay protection; lab cannot verify it was the patient (vs. someone else) who downloaded. | Patient access gated by wallet signature over their BioNFT; lab access gated by magic-link case_token (single-use, 256-bit, brute-force-rate-limited, expires 7 days). |
| §164.404 — Breach notification | No anomaly detection. URL leakage between issuance and download window is undetectable. | Every read of the vault emits an on-chain event keyed on the requester's wallet. Patient can revoke the BioNFT on any unexpected access (one-tx, irreversible within one block). |
| §164.502(a)(5)(ii) — Sale of PHI | No infrastructure exists to record consent for sale of PHI or to compensate the patient. | BioPIL #7 (clinical-use, revocable) attaches at delivery time; the patient can grant commercial licenses through Sequentias BioPIL and Story Protocol, receiving direct economic participation. |
| BAA — §164.504(e) | Existing between lab and patient implicitly via informed consent; no provider-side BAA. | Three-way BAA template ready: lab ↔ GenoBank.io ↔ patient. GenoBank.io operates as a Business Associate to the lab and a data fiduciary to the patient simultaneously. |
For US clinical labs that also serve EU residents (NIPT, hereditary-cancer, and oncology products are sold in the EU through distributors by most major US labs), GDPR adds requirements that HIPAA does not address — most critically the patient's right to erasure (Art. 17). The archaic flow's reliance on emailed ZIP files makes Article 17 effectively impossible to honor.
| GDPR article | Requirement | How GenoVault satisfies |
|---|---|---|
| Art. 4(7) | Definition of "controller" — the natural or legal person determining purposes and means of processing. | Patient owns the BioNFT and therefore is the on-chain data controller. The lab is a processor. GenoBank.io is a sub-processor under documented BAA / DPA. |
| Art. 15 | Right of access — copy of personal data, recipients, retention, source. | Patient's Clinical Inbox tab shows every file delivered to their wallet, every downstream share, every access event, and the Sequentia TX for each. |
| Art. 17 | Right to erasure ("right to be forgotten"). | One transaction revokes the BioNFT; the GCS object's access ACL is wiped within one block; on-chain audit retains the revocation event. Storage is GCS (deletable), never IPFS (which is intentionally non-deletable and therefore incompatible with Art. 17). |
| Art. 20 | Right to data portability — receive personal data in structured, commonly-used, machine-readable format. | VCF/BAM/CRAM in canonical bioinformatics formats; GA4GH htsget streaming; standard SHA-256 / SAM-format manifests. |
| Art. 25 | Data protection by design and by default. | BioNFT gating, opaque on-chain bioipId, per-chunk audit, server-side hostname allowlist for inbound URLs — all on by default. |
| Art. 30 | Records of processing activities. | Per-event audit collection + on-chain CasefileDelivered + AccessGranted events. Exportable as an immutable cryptographic ledger for supervisory authority requests. |
| Art. 32 | Security of processing. | Pseudonymization (opaque bioipId), encryption (AES-256 + TLS 1.3), ability to ensure ongoing confidentiality / integrity / availability (GCS multi-region + Sequentia validator set), regular testing (per-build adversarial test suite). |
| Art. 33–34 | Breach notification. | On-chain anomaly is publicly observable to both controller (patient) and processor (lab). The 72-hour clock starts the moment the patient sees an unexpected access event in their dashboard. |
The LabDeliveryReceiptNFT contract on Sequentia (chain ID 15132025) implements an
ERC-721 where each token represents one delivered casefile. The minted token is owned by the
patient's wallet, gated minter is the lab's authorized custodial signer. The receipt's payload:
struct ReceiptData {
uint256 labSerial; // LabNFT_v2 serial of the delivering lab
string caseId; // lab's own case identifier (e.g. "Casefile_NNNNN")
address recipientWallet; // patient
bytes32 manifestHash; // keccak256 over sorted (filename, sha256, size, fileType)
uint8 fileCount;
uint256 totalBytes;
uint256 deliveredAt; // block.timestamp
}
event CasefileDelivered(
uint256 indexed tokenId,
uint256 indexed labSerial,
address indexed recipientWallet,
string caseId,
bytes32 manifestHash,
uint8 fileCount,
uint256 totalBytes,
uint256 deliveredAt
);
The manifestHash is a deterministic keccak256 of the JSON-encoded sorted file
manifest [(filename, sha256, size, fileType), …]. Either party can recompute it
from the files they hold and verify equality with the on-chain commitment — a zero-trust proof
of delivery that survives any dispute.
The accompanying PDF receipt emailed to the lab rep includes the file SHA-256s in plain text, a QR code linking to the Sequentia explorer transaction, and a HIPAA/GDPR claim footer that the Privacy Officer can paste into their internal compliance log.
GenoVault assumes the following threat actors and explicitly defends or accepts each:
| Actor | Capability | Mitigation |
|---|---|---|
| Email-snooping adversary | Reads both the encrypted-ZIP email and the password email in transit or at rest. | The lab never sends an encrypted ZIP through GenoVault — only the URLs, paste-form, into a server-side puller. Password handoff is eliminated. |
| Malicious lab employee | Wants to deliver a file to a wallet they control instead of the patient's. | The case is created by the patient (or by GenoBank admin on the patient's behalf) before any URL is paste-able. The recipientWallet field is set at create_case time and binds the receipt mint. |
| Lost magic-link token | Token leaks (forwarded email, screenshot). | Single-use semantics: after ingestion completes the token returns 410 Gone. 7-day expiry. Brute-force rate-limited (429 after N attempts). |
| SSRF via lab-provided URL | Lab rep pastes http://169.254.169.254/… or a non-allowlisted host. | Server-side hostname allowlist enforced per case; blocks RFC1918, link-local, cloud-metadata, and file:// schemes; resolves DNS and refuses if any resolved IP is in a blocked network. |
| Cache leak between lab and patient | An intermediary CDN caches the signed URL response. | The signed URL is consumed once, server-to-server, by the GenoBank backend — never echoed to the patient's browser. Bytes flow from lab origin → GenoBank GCS only. |
| Compromised lab custodial wallet | An attacker steals the Fernet keystore and mints fraudulent receipts. | Custodial signing is loopback-only and admin-gated (mirrors sign_as_donor). Each mint also requires a valid magic-link token bound to a real case. Patient can revoke the BioNFT and trigger Art. 33 breach notification within one block. |
| GenoBank-side rogue admin | GenoBank operator attempts to redirect a delivery. | The lab's authorizedMinter mapping must be set by the deployer multisig; mint events are publicly auditable; recipientWallet is set by the case creator at create_case time and changing it requires consenting from both sides. |
| Patient repudiates receipt | Patient claims data was never delivered, demanding re-issue. | The lab can present the on-chain CasefileDelivered event with the manifest hash; if the patient still holds the BioNFT and corresponding GCS object, integrity is trivially verifiable. |
GenoBank.io enters a HIPAA Business Associate Agreement with each onboarded clinical lab. The template's salient provisions:
The GenoVault PO Box is in production beta on Sequentia mainnet (chain ID 15132025). The
receipt smart contract is deployed and verified, the off-chain backend runs in a hardened
Google Cloud Engine environment, and the lab-facing drop-off page is live at
genobank.io/secure-hipaa-inbox/. A small cohort of US clinical-lab partners is
currently onboarding under NDA-bound pilot agreements.
The adversarial test suite that ships with the protocol exercises the full perimeter on
every deploy: server-side hostname allowlist (rejects arbitrary inbound URLs), SSRF defense
(rejects RFC 1918, link-local, and cloud-metadata destinations), URL-expiry guardrail
(rejects signed URLs with less than two hours of remaining validity), magic-link
token-replay defense (single-use semantics + 7-day TTL + brute-force rate-limit), and
custodial-signer abuse defense (loopback-only + admin-gated + magic-link-bound,
modeled after the existing GenoBank sign_as_donor protocol).
Detailed deployment milestones — specific contract addresses, partner lab identities, per-case metrics, and pilot case studies — will be published as each lab partner's BAA framework reaches public-disclosure readiness. Interested labs and Privacy Officers can request a private briefing at calendly.com/uribedaniel.
Daniel Uribe is the founder and CEO of GenoBank.io, where he has been building patient-owned biobank infrastructure since 2018. He is the inventor of the BioNFT (Web3-native consent token for genomic data) and the architect of Sequentias, GenoBank's purpose-built EVM chain for biodata routing. GenoBank.io operates 42 partner laboratories, serves 10,000+ patient wallets, and has cited prior art on biodata-tokenization infrastructure (including the UK Parliament's National Blockchain Roadmap, July 2021, p. 33).
To pilot the GenoVault PO Box at your lab, schedule a 15-minute conversation: calendly.com/uribedaniel.