Skip to content
Yggdrasilby AImageLab
Yggdrasilby AImageLab

Medical images for research, de-identified and encrypted in your browser.

Yggdrasil is an open-source platform to collect, view, annotate, process and export imaging data. The server stores ciphertext: only the members of a project can read its images and annotations.

This installation is run by Università degli Studi di Modena e Reggio Emilia. Developed by AImageLab, University of Modena and Reggio Emilia.

The viewer on public data: a CT with a processor's lung segmentation, its volume rendering, a four-sequence brain MRI, and a lesion outlined by hand.Images from public research datasets: LIDC-IDRI (CC BY 3.0), UPENN-GBM (CC BY 4.0), ISIC Archive (CC0).

We store data we cannot read

Your files are de-identified and encrypted in your browser before anything is uploaded. Here is what happens to one CT series.

  1. On your computer

    A CT series as the scanner wrote it: names and IDs in its headers.

  2. In your browser

    Identifying tags are removed and the patient gets a pseudonym. You review what changes, then every file is encrypted with the project's key.

    • PatientName and PatientID are replaced by the pseudonym CHE-014.
    • PatientBirthDate and StudyDate are emptied; InstitutionName is removed.
    • The image and the remaining tags are encrypted with the project's key.
  3. On the server

    Ciphertext only. The server sees sizes, counts and timing, never names, pixels or annotations.

What the design guarantees

  • Identifying metadata is removed on your device before anything is uploaded: DICOM follows the PS3.15 Annex E profile; other formats lose their header text, embedded metadata and original file names.
  • Each project has its own key. Only members' devices hold it, unlocked by a known device or a passkey. Signing in with an email code never unlocks data.
  • Processors receive keys only for the inputs of their jobs, unless a project admin grants more, which every member sees.
  • The encryption format is published with test vectors and uses audited libraries only.

Read the privacy and security model

The honest limits

  • The operator sees sizes, counts, timing, modality types, task progress and the other metadata the specification lists, but not the content.
  • Identifying text burned into pixels, or a face in a head scan, is the uploader's to remove. The upload screen flags the known risks.
  • Exports leave the encryption on purpose: an export worker decrypts what an admin chose into a plain archive, kept until its link expires.
  • Every member of a project holds its key; a removed member may keep data they had already opened.
  • The server delivers the web app, so a malicious operator could ship altered code. Self-hosting removes that trust.
  • If every admin of a project loses access to their keys, nobody can recover the data, AImageLab included.

How it works

One project, five steps. A versioned manifest says which modalities the project accepts, which tasks its annotators see and which processors run; each page of the app has a guided tour.

  1. Collect

    Drop files or folders. The browser groups them into patients, studies and series, removes identifying metadata, shows you what it removed, then encrypts and uploads.

    The upload review for one CT series of 133 files: the patient's name and ID are replaced by the pseudonym CHE-014, seven UIDs are replaced, the study and acquisition dates are emptied and 15 other fields are removed.
  2. View

    Volumes open in multiplanar views with crosshairs, a volume rendering and hanging protocols; 2D images and forms open beside them. Decryption happens in the browser.

    The workspace with a public brain MRI study of a glioblastoma: its four sequences, T1, T1c, T2 and FLAIR, in a two by two grid, each showing a tumour with oedema, and the tumour segmentation task.
  3. Annotate

    The project's tasks sit next to the image: choices, scales, measurements, shapes and segmentations, each with its guideline. Work saves itself, and other annotators can correct it.

    A dermoscopy image of a pigmented skin lesion with its outline drawn as a polygon, and the task panel listing the outline.
  4. Process

    Processors, your models on your machines, claim jobs over HTTPS, decrypt only the inputs they are granted, and post results as proposals for people to correct.

    The Processors page: a registered lung segmentation processor with per-job access, and its job on a CT series, succeeded.
  5. Export

    An export worker the project trusts decrypts what an admin chooses into open formats such as DICOM SEG, NIfTI, nnU-Net and COCO, with a dataset card, behind a link that expires.

    The Export page: this server's export worker registered, and the form to choose patients, tasks and labels for a new export.

Modalities and annotation types

Modalities and annotation types are plugins with a public contract, so new ones do not change the core. These pictures are the app on public research data.

Use it

Request a project here

Each installation belongs to one institution and holds only that institution's projects; partners from elsewhere join them as invited members. This one is run by Università degli Studi di Modena e Reggio Emilia. Storage, members, processors and duration are agreed for each project.

The form asks about you, the project, its modalities, data volume, annotators, ethics approval and duration. Your email is verified with a code. Every project admin and uploader is responsible for the data they upload, including its de-identification and its legal basis.

Run your own

Another institution runs its own installation of the same release, with no closed features: one machine with Docker Compose, its own storage and its own keys. Its data never reaches this one.

How to cite

No paper describes Yggdrasil 4 yet. Until one does, cite the software.

The citation metadata is in CITATION.cff; GitHub offers it in APA and BibTeX under "Cite this repository".

# Citation metadata (https://citation-file-format.github.io), shown by GitHub as "Cite this repository".
cff-version: 1.2.0
message: "If you use Yggdrasil in your research, please cite it as below."
type: software
title: "Yggdrasil by AImageLab"
abstract: >-
  An open-source platform to collect, view, annotate, process and export 2D and
  3D medical images. Files are de-identified and end-to-end encrypted in the
  browser, so the hosting operator stores only ciphertext.
authors:
  - name: "AImageLab, University of Modena and Reggio Emilia"
    website: "https://aimagelab.unimore.it"
repository-code: "https://github.com/lorenzobrg/yggdrasil4"
license: AGPL-3.0-only
keywords:
  - medical imaging
  - annotation
  - DICOM
  - end-to-end encryption
  - de-identification

Team, partners and sponsors

Team

Yggdrasil is developed by AImageLab, University of Modena and Reggio Emilia.

Sponsors and funding

Donations and sponsorships fund development. Sponsors at the Supporter, Lab and Institution tiers are listed here and in the README, never inside the annotation workspace, and sponsorship confers no control over the roadmap.

To sponsor the project, contact AImageLab.

Licensing

Research use is free under the AGPL-3.0. Companies support development and hosting through sponsorship. For a use the AGPL does not fit, such as a closed product, AImageLab offers a separate licence, agreed case by case.

For a separate licence, contact AImageLab.