Skip to content

Importing & Exporting Data — the Airlock

The airlock is the only way to move files into or out of your research desktop in a secure (SDE) deployment — other paths (clipboard, internet access) are disabled there. Every transfer is reviewed, and every action is recorded in an audit trail.

Open https://<your-elab-address>/airlock/ and sign in with your usual eLab account. The My requests dashboard lists your past and current transfer requests.


Importing data

  1. Create a request — click New import, give it a clear title and a description of what the data is and why your research needs it.
  2. Upload your files on the request page (repeat per file).
  3. Submit for review — the request locks and automated checks run.
  4. Wait for review — a reviewer approves or rejects; you're notified by email where email is enabled.
  5. Use your files — approved imports appear inside your desktop at /shared-ro/<request-id>/, read-only.

Allowed import types: .py .r .R .ipynb .csv .tsv .json .yaml .yml .txt .md .pdf .xlsx .parquet .feather .h5 .hdf5 .zip — max 500 MB per file.


Exporting results

Warning

Only aggregate results should be exported — never row-level or individual-level data. Exports get Statistical Disclosure Control review; small cell counts (n < 5) are flagged.

  1. Create a request — click New export; describe what the outputs are, which analysis produced them, and how they'll be used.
  2. Upload from inside your desktop — open the airlock in the desktop's browser and upload your output files (that's where they live). Tools inside the desktop can also upload directly: request an upload URL from the airlock API (POST /api/requests/<id>/upload-url) and PUT the file with curl or requests.
  3. Submit for review. Automated checks run, including advisory disclosure checks.
  4. Disclosure review — exports need two independent reviewer approvals. Reviewers examine your files inside the environment; reviews are blind to each other, and a single rejection rejects the request.
  5. Collect your outputs — see below.

Allowed export types: .csv .tsv .json .txt .md .pdf .png .jpg .jpeg .svg .html .xlsx .r .R .py .ipynb — max 50 MB per file.


Collecting approved exports

When an export is approved, its files appear under Released files on the request page:

  • Download — direct, for signed-in users, from any browser (no desktop needed).
  • Create share link — a time-limited URL (72 hours by default) that works without an account, for handing a file to an external recipient. Anyone holding the link can download until it expires, so share deliberately; links die immediately if the request ever leaves the approved state, and every download and link creation is audited.

Request statuses

Status Meaning
Draft You are still uploading files
Submitted / Scanning Files are locked; automated checks running
In review Checks passed; request is with the reviewers
Approved Approvals received; files transferred
Rejected A reviewer rejected the request — see their comments
Blocked Automated checks failed — revise and resubmit
Cancelled You cancelled before submitting

FAQ

Can I edit files after submitting? No — submitted requests are immutable. Submit a new request instead.

My export was rejected — what now? Read the reviewer comment: common causes are small cell counts, identifiable values, or outputs outside your Data Sharing Agreement. Revise and submit a new request.

Can I export raw data? No. Row-level or individual-level data cannot be released regardless of approval — a Data Sharing Agreement requirement, not a technical one.

Who reviews my requests? Designated reviewers for your project — your project lead or data governance officer can tell you who.

What happens to rejected or blocked files? They are quarantined and retained for audit for the duration of the project; they are not returned to you or accessible afterwards.

I can't see my imported files in the desktop. Approved imports land at /shared-ro/<request-id>/. A desktop started before the approval may not see it — stop and relaunch your desktop, and contact support if the path is still empty.