Project Components

Project Electron consists of a specification and web application to facilitate ongoing transfers of digital records and their associated metadata from organizations to archives, a repository to store digital records and metadata, an API layer to manage system interactions, and integrations with current and future systems which assist in the archival processes of appraisal, acquisition, arrangement, description, access and preservation.

Requests for Comments

Our Requests for Comments (RFCs) are lightly-structured documents which are intended primarily to create a record of decisions we’ve made regarding technical approaches to solve a particular problem. They are not intended to be policy statements, nor do we expect them to remain unchanged.

Transfer applications


A Django web application to support and regularize the ongoing secure transfer of digital records and their metadata to the archives. Explore the Aurora user documentation and find the code in our Aurora GitHub repository.

API Gateway and microservices

An API gateway, microservice applications, and supporting libraries which enable integrations between current and future systems and assist in the archival processes of accessioning, preservation, and discovery. Explore all Project Electron repositories on GitHub.

  • zodiac: an API gateway and administration interface for Project Electron microservices, managed via a message queue.
  • ursa major: discovers and stores bags.
  • fornax: creates Archivematica-compliant Submission Information Packages.
  • gemini: downloads packages from the Archivematica Storage Service and stores them in Fedora.
  • aquarius: transforms and delivers accessions, archival objects and digital objects to ArchivesSpace.
  • libra: generates reports on files and activities in Fedora.
  • zorya: creates bags from files generated by disk imaging and digitization processes.
  • aquila: stores, calculates, and assigns PREMIS rights statements.

Archival Discovery


DIMES is a React web application which provides the front-end user interface for the online discovery of archival collections, objects, and agents.

Request Broker

The Request Broker processes and delivers request data submitted by users from an archival discovery environment.


Cartographer manages JSON tree representations of all the archival collections, sub-collections, and parts (record group, subgroup, series, subseries, etc.) by a designated agent/creator.

Data Pipeline

A highly performant data pipeline which fetches data from ArchivesSpace, transforms it according to our data model, indexes it in Elasticsearch, and serves it up via an API.

  • pisces: retrieves, merges and transforms data for discovery.
  • scorpio: adds and deletes archival data (collections, objects, agents and terms) from an Elasticsearch index.
  • argo: provides a wrapper around the Elasticsearch REST API, and adds additional endpoints required by the DIMES user interface.


  • asterism: helpers and common patterns used in Project Electron infrastructure.
  • Electron Bonder: client library for working with the Project Electron APIs built using ArchivesSnake.
  • rac_es: helpers for Elasticsearch.
  • rac-schemas: JSON schemas and validation helpers.
  • IIIF pipeline: a pipeline to create image derivatives and IIIF Manifests.