Metadata-Version: 2.4
Name: data-safe-haven
Version: 5.4.0
Summary: An open-source framework for creating secure environments to analyse sensitive data.
Project-URL: Documentation, https://data-safe-haven.readthedocs.io
Project-URL: Issues, https://github.com/alan-turing-institute/data-safe-haven/issues
Project-URL: Source, https://github.com/alan-turing-institute/data-safe-haven
Author-email: Data Safe Haven development team <safehavendevs@turing.ac.uk>
License: BSD-3-Clause
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Classifier: Topic :: System :: Systems Administration
Requires-Python: ==3.12.*
Requires-Dist: appdirs==1.4.4
Requires-Dist: azure-core==1.32.0
Requires-Dist: azure-identity==1.19.0
Requires-Dist: azure-keyvault-certificates==4.9.0
Requires-Dist: azure-keyvault-keys==4.10.0
Requires-Dist: azure-keyvault-secrets==4.9.0
Requires-Dist: azure-mgmt-compute==34.0.0
Requires-Dist: azure-mgmt-containerinstance==10.1.0
Requires-Dist: azure-mgmt-dns==8.2.0
Requires-Dist: azure-mgmt-keyvault==10.3.1
Requires-Dist: azure-mgmt-msi==7.0.0
Requires-Dist: azure-mgmt-rdbms==10.1.0
Requires-Dist: azure-mgmt-resource==23.2.0
Requires-Dist: azure-mgmt-storage==22.0.0
Requires-Dist: azure-storage-blob==12.24.1
Requires-Dist: azure-storage-file-datalake==12.18.1
Requires-Dist: azure-storage-file-share==12.20.1
Requires-Dist: chevron==0.14.0
Requires-Dist: cryptography==44.0.0
Requires-Dist: fqdn==1.5.1
Requires-Dist: psycopg[binary]==3.1.19
Requires-Dist: pulumi-azure-native==2.86.0
Requires-Dist: pulumi-azuread==6.2.0
Requires-Dist: pulumi-random==4.17.0
Requires-Dist: pulumi==3.149.0
Requires-Dist: pydantic==2.10.6
Requires-Dist: pyjwt[crypto]==2.10.1
Requires-Dist: pytz==2025.1
Requires-Dist: pyyaml==6.0.2
Requires-Dist: rich==13.9.4
Requires-Dist: simple-acme-dns==3.2.0
Requires-Dist: typer==0.15.1
Requires-Dist: websocket-client==1.8.0
Provides-Extra: docs
Requires-Dist: emoji==2.14.1; extra == 'docs'
Requires-Dist: myst-parser==4.0.0; extra == 'docs'
Requires-Dist: pydata-sphinx-theme==0.16.1; extra == 'docs'
Requires-Dist: sphinx-togglebutton==0.3.2; extra == 'docs'
Requires-Dist: sphinx==8.1.3; extra == 'docs'
Requires-Dist: sphinxcontrib-typer==0.5.1; extra == 'docs'
Provides-Extra: lint
Requires-Dist: ansible-dev-tools==25.2.0; extra == 'lint'
Requires-Dist: ansible==11.2.0; extra == 'lint'
Requires-Dist: black==25.1.0; extra == 'lint'
Requires-Dist: mypy==1.15.0; extra == 'lint'
Requires-Dist: pandas-stubs==2.2.3.241126; extra == 'lint'
Requires-Dist: pydantic==2.10.6; extra == 'lint'
Requires-Dist: ruff==0.9.5; extra == 'lint'
Requires-Dist: types-appdirs==1.4.3.5; extra == 'lint'
Requires-Dist: types-chevron==0.14.2.20250103; extra == 'lint'
Requires-Dist: types-pytz==2025.1.0.20250204; extra == 'lint'
Requires-Dist: types-pyyaml==6.0.12.20241230; extra == 'lint'
Requires-Dist: types-requests==2.32.0.20241016; extra == 'lint'
Provides-Extra: test
Requires-Dist: coverage==7.6.11; extra == 'test'
Requires-Dist: freezegun==1.5.1; extra == 'test'
Requires-Dist: pytest-mock==3.14.0; extra == 'test'
Requires-Dist: pytest==8.3.4; extra == 'test'
Requires-Dist: requests-mock==1.12.1; extra == 'test'
Description-Content-Type: text/markdown

![Data Safe Haven cartoon by Scriberia for The Alan Turing Institute](docs/source/_static/scriberia_diagram.jpg)

# 👀 What is the Turing Data Safe Haven?

The **Turing Data Safe Haven** is an open-source framework for creating secure environments to analyse sensitive data.
It provides a set of scripts and templates that will allow you to deploy, administer and use your own secure environment.
It was developed as part of the Alan Turing Institute's [Data Safe Havens in the Cloud](https://www.turing.ac.uk/research/research-projects/data-safe-havens-cloud) project.

[![PyPI - Version](https://img.shields.io/pypi/v/data-safe-haven)](https://pypi.org/project/data-safe-haven/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/data-safe-haven)](https://pypi.org/project/data-safe-haven/)
[![Latest version](https://img.shields.io/github/v/release/alan-turing-institute/data-safe-haven?style=flat&label=Latest&color=%234B78E6)](https://github.com/alan-turing-institute/data-safe-haven/releases)
[![Documentation](https://readthedocs.org/projects/data-safe-haven/badge/?version=latest)](https://data-safe-haven.readthedocs.io/en/latest/?badge=latest)
[![Lint code](https://github.com/alan-turing-institute/data-safe-haven/actions/workflows/lint_code.yaml/badge.svg)](https://github.com/alan-turing-institute/data-safe-haven/actions/workflows/lint_code.yaml)
[![Test code](https://github.com/alan-turing-institute/data-safe-haven/actions/workflows/test_code.yaml/badge.svg)](https://github.com/alan-turing-institute/data-safe-haven/actions/workflows/test_code.yaml)
[![Slack](https://img.shields.io/badge/Join%20us!-yellow?style=flat&logo=slack&logoColor=white&labelColor=4A154B&label=Slack)](https://join.slack.com/t/turingdatasafehaven/signup)
![Licence](https://img.shields.io/github/license/alan-turing-institute/data-safe-haven)
[![Citation](https://img.shields.io/badge/citation-cite%20this%20project-informational)](https://github.com/alan-turing-institute/data-safe-haven/blob/develop/CITATION.cff)
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-50-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->

## 🧑‍🧑‍🧒 Community & support

- Visit the [Data Safe Haven website](https://data-safe-haven.readthedocs.io) for full documentation and useful links.
- Join our [Slack workspace](https://join.slack.com/t/turingdatasafehaven/shared_invite/zt-104oyd8wn-DyOufeaAQFiJDlG5dDGk~w) to ask questions, discuss features, and for general API chat.
- Open a [discussion on GitHub](https://github.com/alan-turing-institute/data-safe-haven/discussions) for general questions, feature suggestions, and help with our deployment scripts.
- Look through our [issues on GitHub](https://github.com/alan-turing-institute/data-safe-haven/issues) to see what we're working on and progress towards specific fixes.
- Send us an [email](mailto:safehavendevs@turing.ac.uk).

## 👐 Contributing

We are keen to transition our implementation from being a [Turing](https://www.turing.ac.uk/) project to being a community owned platform.
We have worked together with the community to develop the policy, processes and design decisions for the Data Safe Haven.

We welcome contributions from anyone who is interested in the project.
There are lots of ways to contribute, not just writing code!

See our [Code of Conduct](CODE_OF_CONDUCT.md) and our [Contributor Guide](CONTRIBUTING.md) to learn more about how we work together as a community and how you can contribute.

## Contributors

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://warwick.ac.uk/fac/sci/mathsys/people/students/2015intake/cabrejas-egea/"><img src="https://avatars.githubusercontent.com/u/22940095?v=4?s=100" width="100px;" alt="Alvaro Cabrejas Egea"/><br /><sub><b>Alvaro Cabrejas Egea</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=ACabrejas" title="Code">💻</a> <a href="#content-ACabrejas" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/Arielle-Bennett"><img src="https://avatars.githubusercontent.com/u/74651964?v=4?s=100" width="100px;" alt="Arielle Bennett"/><br /><sub><b>Arielle Bennett</b></sub></a><br /><a href="#fundingFinding-Arielle-Bennett" title="Funding Finding">🔍</a> <a href="#ideas-Arielle-Bennett" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-Arielle-Bennett" title="Project Management">📆</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/bw-faststream"><img src="https://avatars.githubusercontent.com/u/54804128?v=4?s=100" width="100px;" alt="Benjamin Walden"/><br /><sub><b>Benjamin Walden</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=bw-faststream" title="Documentation">📖</a> <a href="#ideas-bw-faststream" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Abw-faststream" title="Bug reports">🐛</a> <a href="#projectManagement-bw-faststream" title="Project Management">📆</a> <a href="#userTesting-bw-faststream" title="User Testing">📓</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/ens-brett-todd"><img src="https://avatars.githubusercontent.com/u/62715658?v=4?s=100" width="100px;" alt="Brett Todd"/><br /><sub><b>Brett Todd</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=ens-brett-todd" title="Code">💻</a> <a href="#ideas-ens-brett-todd" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/callummole"><img src="https://avatars.githubusercontent.com/u/22677759?v=4?s=100" width="100px;" alt="Callum Mole"/><br /><sub><b>Callum Mole</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Acallummole" title="Bug reports">🐛</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=callummole" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://carlos.gavidia.me/"><img src="https://avatars.githubusercontent.com/u/1616531?v=4?s=100" width="100px;" alt="Carlos Gavidia-Calderon"/><br /><sub><b>Carlos Gavidia-Calderon</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Acptanalatriste" title="Bug reports">🐛</a> <a href="#ideas-cptanalatriste" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=cptanalatriste" title="Documentation">📖</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://vallejosgroup.github.io/"><img src="https://avatars.githubusercontent.com/u/7511093?v=4?s=100" width="100px;" alt="Catalina Vallejos"/><br /><sub><b>Catalina Vallejos</b></sub></a><br /><a href="#content-catavallejos" title="Content">🖋</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/cathiest"><img src="https://avatars.githubusercontent.com/u/38755168?v=4?s=100" width="100px;" alt="Catherine Lawrence"/><br /><sub><b>Catherine Lawrence</b></sub></a><br /><a href="#content-cathiest" title="Content">🖋</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=cathiest" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Acathiest" title="Bug reports">🐛</a> <a href="#ideas-cathiest" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/christopheredsall"><img src="https://avatars.githubusercontent.com/u/1021204?v=4?s=100" width="100px;" alt="Christopher Edsall"/><br /><sub><b>Christopher Edsall</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=christopheredsall" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=christopheredsall" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Achristopheredsall" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/sysdan"><img src="https://avatars.githubusercontent.com/u/49038294?v=4?s=100" width="100px;" alt="Daniel Allen"/><br /><sub><b>Daniel Allen</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=sysdan" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Asysdan" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/DDelbarre"><img src="https://avatars.githubusercontent.com/u/108824056?v=4?s=100" width="100px;" alt="Daniel Delbarre"/><br /><sub><b>Daniel Delbarre</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3ADDelbarre" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/DavidBeavan"><img src="https://avatars.githubusercontent.com/u/6524799?v=4?s=100" width="100px;" alt="David Beavan"/><br /><sub><b>David Beavan</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=DavidBeavan" title="Documentation">📖</a> <a href="#content-DavidBeavan" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/dsj976"><img src="https://avatars.githubusercontent.com/u/57944311?v=4?s=100" width="100px;" alt="David Salvador Jasin"/><br /><sub><b>David Salvador Jasin</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Adsj976" title="Bug reports">🐛</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=dsj976" title="Documentation">📖</a> <a href="#ideas-dsj976" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/Davsarper"><img src="https://avatars.githubusercontent.com/u/118986872?v=4?s=100" width="100px;" alt="David Sarmiento Perez"/><br /><sub><b>David Sarmiento Perez</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=Davsarper" title="Documentation">📖</a> <a href="#eventOrganizing-Davsarper" title="Event Organizing">📋</a> <a href="#fundingFinding-Davsarper" title="Funding Finding">🔍</a> <a href="#ideas-Davsarper" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-Davsarper" title="Project Management">📆</a> <a href="#promotion-Davsarper" title="Promotion">📣</a> <a href="#talk-Davsarper" title="Talks">📢</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://darenasc.github.io/"><img src="https://avatars.githubusercontent.com/u/7409896?v=4?s=100" width="100px;" alt="Diego Arenas"/><br /><sub><b>Diego Arenas</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=darenasc" title="Code">💻</a> <a href="#ideas-darenasc" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-darenasc" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://edchalstrey.com/"><img src="https://avatars.githubusercontent.com/u/5486164?v=4?s=100" width="100px;" alt="Ed Chalstrey"/><br /><sub><b>Ed Chalstrey</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=edwardchalstrey1" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=edwardchalstrey1" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Aedwardchalstrey1" title="Bug reports">🐛</a> <a href="#ideas-edwardchalstrey1" title="Ideas, Planning, & Feedback">🤔</a> <a href="#eventOrganizing-edwardchalstrey1" title="Event Organizing">📋</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/pulls?q=is%3Apr+reviewed-by%3Aedwardchalstrey1" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=edwardchalstrey1" title="Tests">⚠️</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://evelinag.com/"><img src="https://avatars.githubusercontent.com/u/5541162?v=4?s=100" width="100px;" alt="Evelina Gabasova"/><br /><sub><b>Evelina Gabasova</b></sub></a><br /><a href="#content-evelinag" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/fedenanni"><img src="https://avatars.githubusercontent.com/u/8415204?v=4?s=100" width="100px;" alt="Federico Nanni"/><br /><sub><b>Federico Nanni</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=fedenanni" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Afedenanni" title="Bug reports">🐛</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=fedenanni" title="Documentation">📖</a> <a href="#ideas-fedenanni" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/fkiraly"><img src="https://avatars.githubusercontent.com/u/7985502?v=4?s=100" width="100px;" alt="Franz Király"/><br /><sub><b>Franz Király</b></sub></a><br /><a href="#content-fkiraly" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/ens-george-holmes"><img src="https://avatars.githubusercontent.com/u/62715301?v=4?s=100" width="100px;" alt="George Holmes"/><br /><sub><b>George Holmes</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=ens-george-holmes" title="Code">💻</a> <a href="#ideas-ens-george-holmes" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/gn5"><img src="https://avatars.githubusercontent.com/u/50482094?v=4?s=100" width="100px;" alt="Guillaume Noell"/><br /><sub><b>Guillaume Noell</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=gn5" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Agn5" title="Bug reports">🐛</a> <a href="#ideas-gn5" title="Ideas, Planning, & Feedback">🤔</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/harisood"><img src="https://avatars.githubusercontent.com/u/67151373?v=4?s=100" width="100px;" alt="Hari Sood"/><br /><sub><b>Hari Sood</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=harisood" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Aharisood" title="Bug reports">🐛</a> <a href="#ideas-harisood" title="Ideas, Planning, & Feedback">🤔</a> <a href="#fundingFinding-harisood" title="Funding Finding">🔍</a> <a href="#eventOrganizing-harisood" title="Event Organizing">📋</a> <a href="#projectManagement-harisood" title="Project Management">📆</a> <a href="#promotion-harisood" title="Promotion">📣</a> <a href="#question-harisood" title="Answering Questions">💬</a> <a href="#talk-harisood" title="Talks">📢</a> <a href="#security-harisood" title="Security">🛡️</a> <a href="#userTesting-harisood" title="User Testing">📓</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/helendduncan"><img src="https://avatars.githubusercontent.com/u/46891265?v=4?s=100" width="100px;" alt="Helen Duncan Little"/><br /><sub><b>Helen Duncan Little</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Ahelendduncan" title="Bug reports">🐛</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/pulls?q=is%3Apr+reviewed-by%3Ahelendduncan" title="Reviewed Pull Requests">👀</a> <a href="#ideas-helendduncan" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://helen.st/cv"><img src="https://avatars.githubusercontent.com/u/217966?v=4?s=100" width="100px;" alt="Helen Sherwood-Taylor"/><br /><sub><b>Helen Sherwood-Taylor</b></sub></a><br /><a href="#ideas-helenst" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-helenst" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/getcarter21"><img src="https://avatars.githubusercontent.com/u/34555297?v=4?s=100" width="100px;" alt="Ian Carter"/><br /><sub><b>Ian Carter</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=getcarter21" title="Code">💻</a> <a href="#content-getcarter21" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/jack89roberts"><img src="https://avatars.githubusercontent.com/u/16308271?v=4?s=100" width="100px;" alt="Jack Roberts"/><br /><sub><b>Jack Roberts</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=jack89roberts" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Ajack89roberts" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/james-c"><img src="https://avatars.githubusercontent.com/u/150765?v=4?s=100" width="100px;" alt="James Cunningham"/><br /><sub><b>James Cunningham</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=james-c" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=james-c" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Ajames-c" title="Bug reports">🐛</a> <a href="#ideas-james-c" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-james-c" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/triangle-man"><img src="https://avatars.githubusercontent.com/u/1172905?v=4?s=100" width="100px;" alt="James Geddes"/><br /><sub><b>James Geddes</b></sub></a><br /><a href="#content-triangle-man" title="Content">🖋</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/jamespjh"><img src="https://avatars.githubusercontent.com/u/55009?v=4?s=100" width="100px;" alt="James Hetherington"/><br /><sub><b>James Hetherington</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=jamespjh" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Ajamespjh" title="Bug reports">🐛</a> <a href="#ideas-jamespjh" title="Ideas, Planning, & Feedback">🤔</a> <a href="#fundingFinding-jamespjh" title="Funding Finding">🔍</a> <a href="#projectManagement-jamespjh" title="Project Management">📆</a> <a href="#promotion-jamespjh" title="Promotion">📣</a> <a href="#talk-jamespjh" title="Talks">📢</a> <a href="#content-jamespjh" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/jemrobinson"><img src="https://avatars.githubusercontent.com/u/3502751?v=4?s=100" width="100px;" alt="James Robinson"/><br /><sub><b>James Robinson</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=jemrobinson" title="Code">💻</a> <a href="#content-jemrobinson" title="Content">🖋</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=jemrobinson" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Ajemrobinson" title="Bug reports">🐛</a> <a href="#ideas-jemrobinson" title="Ideas, Planning, & Feedback">🤔</a> <a href="#fundingFinding-jemrobinson" title="Funding Finding">🔍</a> <a href="#eventOrganizing-jemrobinson" title="Event Organizing">📋</a> <a href="#infra-jemrobinson" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#projectManagement-jemrobinson" title="Project Management">📆</a> <a href="#promotion-jemrobinson" title="Promotion">📣</a> <a href="#question-jemrobinson" title="Answering Questions">💬</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/pulls?q=is%3Apr+reviewed-by%3Ajemrobinson" title="Reviewed Pull Requests">👀</a> <a href="#security-jemrobinson" title="Security">🛡️</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=jemrobinson" title="Tests">⚠️</a> <a href="#talk-jemrobinson" title="Talks">📢</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/JimMadge"><img src="https://avatars.githubusercontent.com/u/23616154?v=4?s=100" width="100px;" alt="Jim Madge"/><br /><sub><b>Jim Madge</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=JimMadge" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=JimMadge" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3AJimMadge" title="Bug reports">🐛</a> <a href="#ideas-JimMadge" title="Ideas, Planning, & Feedback">🤔</a> <a href="#fundingFinding-JimMadge" title="Funding Finding">🔍</a> <a href="#eventOrganizing-JimMadge" title="Event Organizing">📋</a> <a href="#infra-JimMadge" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#projectManagement-JimMadge" title="Project Management">📆</a> <a href="#promotion-JimMadge" title="Promotion">📣</a> <a href="#question-JimMadge" title="Answering Questions">💬</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/pulls?q=is%3Apr+reviewed-by%3AJimMadge" title="Reviewed Pull Requests">👀</a> <a href="#security-JimMadge" title="Security">🛡️</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=JimMadge" title="Tests">⚠️</a> <a href="#talk-JimMadge" title="Talks">📢</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/J0shev"><img src="https://avatars.githubusercontent.com/u/17052866?v=4?s=100" width="100px;" alt="Josh Everett"/><br /><sub><b>Josh Everett</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3AJ0shev" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/JulesMarz"><img src="https://avatars.githubusercontent.com/u/40864686?v=4?s=100" width="100px;" alt="Jules Manser"/><br /><sub><b>Jules Manser</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=JulesMarz" title="Documentation">📖</a> <a href="#ideas-JulesMarz" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3AJulesMarz" title="Bug reports">🐛</a> <a href="#content-JulesMarz" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/kevinxufs"><img src="https://avatars.githubusercontent.com/u/48526846?v=4?s=100" width="100px;" alt="Kevin Xu"/><br /><sub><b>Kevin Xu</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=kevinxufs" title="Documentation">📖</a> <a href="#ideas-kevinxufs" title="Ideas, Planning, & Feedback">🤔</a> <a href="#security-kevinxufs" title="Security">🛡️</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/KirstieJane"><img src="https://avatars.githubusercontent.com/u/3626306?v=4?s=100" width="100px;" alt="Kirstie Whitaker"/><br /><sub><b>Kirstie Whitaker</b></sub></a><br /><a href="#content-KirstieJane" title="Content">🖋</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=KirstieJane" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3AKirstieJane" title="Bug reports">🐛</a> <a href="#ideas-KirstieJane" title="Ideas, Planning, & Feedback">🤔</a> <a href="#fundingFinding-KirstieJane" title="Funding Finding">🔍</a> <a href="#eventOrganizing-KirstieJane" title="Event Organizing">📋</a> <a href="#projectManagement-KirstieJane" title="Project Management">📆</a> <a href="#promotion-KirstieJane" title="Promotion">📣</a> <a href="#talk-KirstieJane" title="Talks">📢</a> <a href="#userTesting-KirstieJane" title="User Testing">📓</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/martintoreilly"><img src="https://avatars.githubusercontent.com/u/21147592?v=4?s=100" width="100px;" alt="Martin O'Reilly"/><br /><sub><b>Martin O'Reilly</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=martintoreilly" title="Code">💻</a> <a href="#content-martintoreilly" title="Content">🖋</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=martintoreilly" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Amartintoreilly" title="Bug reports">🐛</a> <a href="#ideas-martintoreilly" title="Ideas, Planning, & Feedback">🤔</a> <a href="#fundingFinding-martintoreilly" title="Funding Finding">🔍</a> <a href="#eventOrganizing-martintoreilly" title="Event Organizing">📋</a> <a href="#infra-martintoreilly" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#projectManagement-martintoreilly" title="Project Management">📆</a> <a href="#promotion-martintoreilly" title="Promotion">📣</a> <a href="#question-martintoreilly" title="Answering Questions">💬</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/pulls?q=is%3Apr+reviewed-by%3Amartintoreilly" title="Reviewed Pull Requests">👀</a> <a href="#security-martintoreilly" title="Security">🛡️</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=martintoreilly" title="Tests">⚠️</a> <a href="#talk-martintoreilly" title="Talks">📢</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/craddm"><img src="https://avatars.githubusercontent.com/u/5796417?v=4?s=100" width="100px;" alt="Matt Craddock"/><br /><sub><b>Matt Craddock</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=craddm" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=craddm" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Acraddm" title="Bug reports">🐛</a> <a href="#ideas-craddm" title="Ideas, Planning, & Feedback">🤔</a> <a href="#fundingFinding-craddm" title="Funding Finding">🔍</a> <a href="#eventOrganizing-craddm" title="Event Organizing">📋</a> <a href="#promotion-craddm" title="Promotion">📣</a> <a href="#question-craddm" title="Answering Questions">💬</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/pulls?q=is%3Apr+reviewed-by%3Acraddm" title="Reviewed Pull Requests">👀</a> <a href="#security-craddm" title="Security">🛡️</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=craddm" title="Tests">⚠️</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/mattwestby"><img src="https://avatars.githubusercontent.com/u/91054185?v=4?s=100" width="100px;" alt="Matt Westby"/><br /><sub><b>Matt Westby</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Amattwestby" title="Bug reports">🐛</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/miguelmorin"><img src="https://avatars.githubusercontent.com/u/32396311?v=4?s=100" width="100px;" alt="Miguel Morin"/><br /><sub><b>Miguel Morin</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=miguelmorin" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=miguelmorin" title="Documentation">📖</a> <a href="#ideas-miguelmorin" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=miguelmorin" title="Tests">⚠️</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/oforrest"><img src="https://avatars.githubusercontent.com/u/49275282?v=4?s=100" width="100px;" alt="Oliver Forrest"/><br /><sub><b>Oliver Forrest</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=oforrest" title="Documentation">📖</a> <a href="#ideas-oforrest" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-oforrest" title="Project Management">📆</a> <a href="#promotion-oforrest" title="Promotion">📣</a> <a href="#content-oforrest" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/OscartGiles"><img src="https://avatars.githubusercontent.com/u/12784013?v=4?s=100" width="100px;" alt="Oscar T Giles"/><br /><sub><b>Oscar T Giles</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=OscartGiles" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=OscartGiles" title="Documentation">📖</a> <a href="#ideas-OscartGiles" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/rwinstanley1"><img src="https://avatars.githubusercontent.com/u/56362072?v=4?s=100" width="100px;" alt="Rachel Winstanley"/><br /><sub><b>Rachel Winstanley</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=rwinstanley1" title="Documentation">📖</a> <a href="#ideas-rwinstanley1" title="Ideas, Planning, & Feedback">🤔</a> <a href="#projectManagement-rwinstanley1" title="Project Management">📆</a> <a href="#security-rwinstanley1" title="Security">🛡️</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/radka-j"><img src="https://avatars.githubusercontent.com/u/29207091?v=4?s=100" width="100px;" alt="Radka Jersakova"/><br /><sub><b>Radka Jersakova</b></sub></a><br /><a href="#content-radka-j" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://www.coriniumtech.com/"><img src="https://avatars.githubusercontent.com/u/29575619?v=4?s=100" width="100px;" alt="Rob Clarke"/><br /><sub><b>Rob Clarke</b></sub></a><br /><a href="#ideas-RobC-CTL" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3ARobC-CTL" title="Bug reports">🐛</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=RobC-CTL" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=RobC-CTL" title="Documentation">📖</a> <a href="#content-RobC-CTL" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/vollmersj"><img src="https://avatars.githubusercontent.com/u/12613127?v=4?s=100" width="100px;" alt="Sebastian Vollmer"/><br /><sub><b>Sebastian Vollmer</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=vollmersj" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Avollmersj" title="Bug reports">🐛</a> <a href="#ideas-vollmersj" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-vollmersj" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/steven-cd"><img src="https://avatars.githubusercontent.com/u/5108635?v=4?s=100" width="100px;" alt="Steven Carlysle-Davies"/><br /><sub><b>Steven Carlysle-Davies</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=steven-cd" title="Code">💻</a> <a href="#content-steven-cd" title="Content">🖋</a> <a href="#ideas-steven-cd" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/thobson88"><img src="https://avatars.githubusercontent.com/u/26117394?v=4?s=100" width="100px;" alt="Tim Hobson"/><br /><sub><b>Tim Hobson</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=thobson88" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Athobson88" title="Bug reports">🐛</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=thobson88" title="Documentation">📖</a> <a href="#ideas-thobson88" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/tomdoel"><img src="https://avatars.githubusercontent.com/u/4216900?v=4?s=100" width="100px;" alt="Tom Doel"/><br /><sub><b>Tom Doel</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=tomdoel" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=tomdoel" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Atomdoel" title="Bug reports">🐛</a> <a href="#ideas-tomdoel" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-tomdoel" title="Content">🖋</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/tomaslaz"><img src="https://avatars.githubusercontent.com/u/12182911?v=4?s=100" width="100px;" alt="Tomas Lazauskas"/><br /><sub><b>Tomas Lazauskas</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=tomaslaz" title="Code">💻</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=tomaslaz" title="Documentation">📖</a> <a href="https://github.com/alan-turing-institute/data-safe-haven/issues?q=author%3Atomaslaz" title="Bug reports">🐛</a> <a href="#ideas-tomaslaz" title="Ideas, Planning, & Feedback">🤔</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/warwick26"><img src="https://avatars.githubusercontent.com/u/33690673?v=4?s=100" width="100px;" alt="Warwick Wood"/><br /><sub><b>Warwick Wood</b></sub></a><br /><a href="https://github.com/alan-turing-institute/data-safe-haven/commits?author=warwick26" title="Code">💻</a> <a href="#ideas-warwick26" title="Ideas, Planning, & Feedback">🤔</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

## 🍰 Releases

If you're new to the project, why not check out our [latest release](https://github.com/alan-turing-institute/data-safe-haven/releases/latest)?

You can also browse [all our releases](https://github.com/alan-turing-institute/data-safe-haven/releases).
Follow the link from any release to view and clone this repository as at that release.

Read our [versioning scheme](VERSIONING.md) for how we number and label releases, as well as details of releases that have been used in production and releases that have undergone formal security evaluation.

When making a new release, open an issue on GitHub and choose the `Release checklist` template, which can be used to track the completion of security checks for the release.

## 📬 Vulnerability disclosure

We value those who take the time and effort to report security vulnerabilities.
If you believe you have found a security vulnerability, please report it as outlined in our [Security and vulnerability disclosure policy](SECURITY.md).

## 🙇 Acknowledgements

We are grateful for the following support for this project:

- The Alan Turing Institute's core and additional EPSRC funding ([EP/N510129/1](https://gtr.ukri.org/projects?ref=EP%2FN510129%2F1), [EP/W001381/1](https://gtr.ukri.org/projects?ref=EP%2FW001381%2F1), [EP/W037211/1](https://gtr.ukri.org/projects?ref=EP%2FW037211%2F1), [EP/X03870X/1](https://gtr.ukri.org/projects?ref=EP%2FX03870X%2F1)).
- The UKRI Strategic Priorities Fund - AI for Science, Engineering, Health and Government programme ([EP/T001569/1](https://gow.epsrc.ukri.org/NGBOViewGrant.aspx?GrantRef=EP/T001569/1)), particularly the "Tools, Practices and Systems" theme within that grant.
- Microsoft's generous [donation of Azure credits](https://www.microsoft.com/en-us/research/blog/microsoft-accelerates-data-science-at-the-alan-turing-institute-with-5m-in-cloud-computing-credits/) to the Alan Turing Institute.

## ⚠️  Disclaimer

The Alan Turing Institute and its group companies ("we", "us", the "Turing") make no representations, warranties, or guarantees, express or implied, regarding the information contained in this repository, including but not limited to information about the use or deployment of the Data Safe Haven and/or related materials.
We expressly exclude any implied warranties or representations whatsoever including without limitation regarding the use of the Data Safe Haven and related materials for any particular purpose.
The Data Safe Haven and related materials are provided on an 'as is' and 'as available' basis and you use them at your own cost and risk.
To the fullest extent permitted by law, the Turing excludes any liability arising from your use of or inability to use this repository, any of the information or materials contained on it, and/or the Data Safe Haven.

Deployments of the Data Safe Haven code and/or related materials depend on their specific implementation into different environments and we cannot account for all of these variations.
Safe use of any Data Safe Haven code or materials also relies upon individuals' and their organisations' good and responsible data handling processes and protocols and we make no representations and give no guarantees regarding the safety, security or suitability of any instance(s) of the deployment of the Data Safe Haven.
The Turing assumes no responsibility for updating any of the content in this repository; however, the underlying code and related materials may change from time to time with updates and it is the user's responsibility to keep abreast of these updates.
