How node<->Hub data transfers work
Every genome, protein, or raw eDNA/metagenomic sample that reaches the Continental Hub as real bytes (not just metadata) does so through this mechanism — and only through it. It is the platform's answer to a real tension: African institutions rightly want to keep control over their own genetic-resource data, while the Hub needs real bytes for the catalog, genome browser, and structure viewer to actually work.
The rule: both sides must consent, always
A node can offer (push) its own data to the Hub, or the Hub can request(pull) data from a node — but submitting either kind of request already counts as the requester's own consent. Only the counterparty's decision is still needed: the Hub decides on a node's offer (Continental Admin approval); that node's own operator decides on the Hub's request. Neither side can be forced to give or take data by the other, and each side can also set a standing auto-accept/auto-reject policy for its own half of future exchanges — see Governance.
What actually moves, and how
Regardless of which side initiated the request, once approved the Hub is always the side that fetches the bytes — by minting a short-lived (about 5 minutes), narrowly-scoped credential naming exactly one record, and calling the owning node's own byte-serving endpoint with it. That node verifies the credential locally (no round trip needed) and checks it names the exact record being requested before serving anything. The fetched bytes are then checksummed (SHA-256) and stored.
What this deliberately does not do
- It never overrides a node's own decision about whether to share data at all — administrative status (approved/suspended) and the data-sharing decision are two separate axes, and only the first is subject to Continental override.
- Raw eDNA/metagenomic sample reads are covered by this same mechanism (a deliberate, user-approved reopening of an earlier "raw reads never leave the node" boundary) — but the already-synced, byte-free derived results (species detections, diversity indices) keep auto-syncing exactly as before, unaffected by any of this.
See Transfersto browse or act on real transfer requests (Continental Admin) or your own node's offers/incoming requests (node operators).