Skip to content
/ ACRO Public

Tools for the Semi-Automatic Checking of Research Outputs. These are tools for researchers to use as drop-in replacements for common analysis commands.

License

Notifications You must be signed in to change notification settings

AI-SDC/ACRO

Repository files navigation

ACRO: Tools for the Semi-Automatic Checking of Research Outputs

DOI PyPI package Python versions Codacy codecov

ACRO is a free and open source tool that supports the semi-automated checking of research outputs (SACRO) for privacy disclosure within secure data environments. SACRO is a framework that applies best-practice principles-based statistical disclosure control (SDC) techniques on-the-fly as researchers conduct their analysis. SACRO is designed to assist human checkers rather than seeking to replace them as with current automated rules-based approaches.

The ACRO package is a lightweight Python tool that sits over well-known analysis tools that produce outputs such as tables, plots, and statistical models. This package adds functionality to:

  • automatically identify potentially disclosive outputs against a range of commonly used disclosure tests;
  • apply optional disclosure mitigation strategies as requested;
  • report reasons for applying SDC;
  • and produce simple summary documents trusted research environment staff can use to streamline their workflow and maintain auditable records.

This creates an explicit change in the dynamics so that SDC is something done with researchers rather than to them, and enables more efficient communication with checkers.

A graphical user interface (SACRO-Viewer) supports human checkers by displaying the requested output and results of the checks in an immediately accessible format, highlighting identified issues, potential mitigation options, and tracking decisions made.

Additional programming languages used by researchers are supported by providing front-end packages that interface with the core ACRO Python back-end; for example, see the R wrapper package: ACRO-R.

ACRO workflow and architecture schematic

Installation

ACRO can be installed via PyPI.

If installed in this way, the example notebooks and the data files used therein will need to be copied from the repository.

$ pip install acro

Notes for Python 3.13

ACRO currently depends on numpy version 1.x.x for which no pre-compiled wheels are available within pip for Python 3.13. Therefore, in this scenario, numpy must be built from source. This requires the installation of a C++ compiler before pip installing acro.

For Windows, the Microsoft Visual Studio C++ build tools will likely need to be installed first.

Examples

See the example notebooks for:

Documentation

The github-pages contains pre-built documentation.

Training Materials

For training videos about ACRO, see training videos.

Contributing

See CONTRIBUTING.md

Acknowledgement

This work was funded by UK Research and Innovation under Grant Number MC_PC_23006 as part of Phase 1 of the DARE UK (Data and Analytics Research Environments UK) programme, delivered in partnership with Health Data Research UK (HDR UK) and Administrative Data Research UK (ADR UK). The specific project was Semi-Automatic Checking of Research Outputs (SACRO).