# Greenmask > The Greenmask team builds open-source tools for reproducible, production-like environments: test data management, data anonymization, and ephemeral environment branching. Two open-source products, both Apache 2.0: - **Greenmask** is a test data management and anonymization tool for databases. It turns production into safe, production-like datasets — masking sensitive values, subsetting to the size you need, generating synthetic data — and delivers them to development, testing and CI. PostgreSQL is supported, MySQL is in beta. - **Arcave** manages the lifecycle of ephemeral environments: it captures a running Docker Compose environment — data, services and configuration — as one consistent savepoint, brings any saved state back on demand, and branches independent copies off it for parallel work. It ships an MCP server so AI agents can checkpoint and roll back the environment they work in. The two fit together: Greenmask makes the data in an environment safe and realistic; Arcave makes the environment holding that data reproducible. Seed an environment once with safe data, save it, and let every developer, pipeline and agent branch it from there. Every link below points to a plain markdown copy of the page. This file lists each product's key pages only; the product's own index has every page, and its full-text file has all of them in one document. ## Arcave arcave gives you ephemeral environments for a Docker Compose project — save the whole state, come back to it, and branch off any saved point. Plain Docker, any project, one binary. These docs follow Arcave's `main` branch. - [Arcave docs index](https://www.greenmask.io/docs/arcave/llms.txt): every Arcave page, by sidebar section - [Arcave full text](https://www.greenmask.io/docs/arcave/llms-full.txt): all Arcave docs in one markdown file - [About](https://www.greenmask.io/docs/arcave.md) - [How arcave works](https://www.greenmask.io/docs/arcave/how_it_works.md): The arcave savepoint and rollback mechanism end to end — what a savepoint covers, why the project is stopped, how the record commits, how a rollback rebuilds the project, and what the automatic safety snapshot guarantees. - [Concepts](https://www.greenmask.io/docs/arcave/concepts.md): The arcave vocabulary — savepoint, safety snapshot, the compose project versus the storage tenant, session, store, snapshot backend, capture policy and the inflight marker — in one page. - [Sessions and branching](https://www.greenmask.io/docs/arcave/sessions.md): A session is an independent line of savepoints inside a project. Fork one off another and you have branched the environment — what that means, how the two lines stay independent, and how you deploy a fork. - [Installation](https://www.greenmask.io/docs/arcave/installation.md): Install the arcave CLI via the install script, a pre-built binary from GitHub releases, or from source. Requires Docker 25 or newer; no Compose plugin or docker CLI. - [Getting started](https://www.greenmask.io/docs/arcave/getting_started.md): Initialise arcave in a Docker Compose project, take your first savepoint, break something on purpose, and roll the environment back in one command. - [Use cases](https://www.greenmask.io/docs/arcave/use_cases.md): What arcave savepoints are good for — prod-like data, agent iteration loops, environment branching, destructive migration testing and fixture resets — and the three properties that make them work. - [Examples](https://www.greenmask.io/docs/arcave/examples.md): Worked arcave examples on a multi-service Docker Compose project — rolling back a failed migration, resetting a seeded environment, pruning savepoints and driving arcave from an AI agent. - [Configuration](https://www.greenmask.io/docs/arcave/reference/configuration.md): Every key of .arcave/config.yaml — project, common, docker, compose, storage (directory, s3, azure, ssh), snapshot, writable_layers, capture, rollback, backends and log — with its default, its validation rule, ${VAR} interpolation and the precedence between flags, environment and file. - [CLI](https://www.greenmask.io/docs/arcave/reference/cli.md): The arcave command tree, the global flags every command shares, how the compose project is named, and what each command needs before it runs. ## Greenmask Greenmask is an open-source CLI tool for PostgreSQL dump anonymization and synthetic test data generation, designed for CI/CD and Test Data Management workflows. These docs cover Greenmask 0.2 (latest release v0.2.25). Docs for the unreleased `main` branch live under https://www.greenmask.io/docs/greenmask/next. - [Greenmask docs index](https://www.greenmask.io/docs/greenmask/llms.txt): every Greenmask page, by sidebar section - [Greenmask full text](https://www.greenmask.io/docs/greenmask/llms-full.txt): all Greenmask docs in one markdown file - [About](https://www.greenmask.io/docs/greenmask.md) - [Architecture](https://www.greenmask.io/docs/greenmask/architecture.md): Learn how Greenmask wraps pg_dump and pg_restore to perform data anonymization during PostgreSQL logical backups, with support for parallel processing and S3-compatible storage. - [Playground](https://www.greenmask.io/docs/greenmask/playground.md): Try Greenmask instantly with the Docker-based playground — includes sample PostgreSQL databases, MinIO storage, and the Greenmask utility pre-configured and ready to run. - [Installation](https://www.greenmask.io/docs/greenmask/installation.md): Install Greenmask via install script, pre-built binaries, Docker, Homebrew, or build from source. Requires PostgreSQL utilities matching your target server's major version. - [Configuration](https://www.greenmask.io/docs/greenmask/configuration.md): Configure Greenmask using YAML files with sections for common settings, logging, storage backends (local or S3), and per-table transformation rules. - [Database subset](https://www.greenmask.io/docs/greenmask/database_subset.md): Use Greenmask's subset conditions to dump only a portion of your PostgreSQL database while automatically preserving referential integrity across related tables. - [Commands](https://www.greenmask.io/docs/greenmask/commands.md): Reference for all Greenmask CLI commands: dump, restore, list-dumps, delete, list-transformers, show-transformer, show-dump, and validate. - [Transformers](https://www.greenmask.io/docs/greenmask/built_in_transformers.md): Transformers in Greenmask are methods which are applied to anonymize sensitive data. All Greenmask transformers are - [Standard transformers](https://www.greenmask.io/docs/greenmask/built_in_transformers/standard_transformers.md): Standard transformers are ready-to-use methods that require no customization and perform with just as little as parameters input. Below you can find an… - [Advanced transformers](https://www.greenmask.io/docs/greenmask/built_in_transformers/advanced_transformers.md): Advanced transformers are modifiable anonymization methods that users can adjust based on their needs by using custom functions. - [Custom functions](https://www.greenmask.io/docs/greenmask/built_in_transformers/advanced_transformers/custom_functions.md): Within Greenmask, custom functions play a crucial role, providing a wide array of options for implementing diverse - [Supporting New Postgres](https://www.greenmask.io/docs/greenmask/supporting_new_postgres.md): Step-by-step guide for adding support for a new PostgreSQL major version in Greenmask, including how to update the test suite and verify compatibility. ## Blog - [Automating Test Data Management with Greenmask and OpenEverest](https://www.greenmask.io/blog/greenmask-openeverest-automating-safe-production-data.md): This article shows how Greenmask and OpenEverest can be combined to build a cloud-native Test Data Management (TDM) workflow. Greenmask anonymizes production database dumps, while OpenEverest automates provisioning and lifecycle management of database clusters on Kubernetes. Together they enable teams to quickly spin up staging environments populated with safe, production-like data. - [Greenmask: The Ultimate Solution for Synthetic Data and Privacy](https://www.greenmask.io/blog/greenmask-synthetic-data-privacy.md): This article introduces Greenmask, an open-source tool designed for database anonymization and synthetic data generation. It highlights key features like database subsetting, deterministic transformers, transformation validation, and data integrity preservation. - [Database Anonymization: The Basics.](https://www.greenmask.io/blog/greenmask-database-anonymization-security.md): This article explores the significance of database anonymization and synthetic data generation in modern software development. It highlights real-world examples, such as outsourcing and fintech industries, showcasing how anonymized data safeguards sensitive information, enhances collaboration, and improves efficiency. The article also emphasizes the importance of organized staging environments and tools like Greenmask in achieving development goals securely. ## Company - [About — Greenmask](https://www.greenmask.io/about.md): Learn about Greenmask — the company behind Greenmask and Arcave: our mission, values, and the path to reproducible, production-like environments. - [Vision — Greenmask](https://www.greenmask.io/vision.md): Greenmask platform vision: provisioning infrastructure at the logical and physical level — safe data and isolated, ephemeral development environments for teams and AI agents. ## Optional - [Arcave source code](https://github.com/GreenmaskIO/arcave): GitHub repository - [Greenmask source code](https://github.com/GreenmaskIO/greenmask): GitHub repository