<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/create-environments-with-masked-production-data-using-neon-branches-uybmyp857" -->

---
title: Create Environments with Masked Production Data Using...
description: Engineering teams struggle to create realistic non-production environments when production databases contain PII. Neon addresses this by combining its...
canonical: https://daily.dev/posts/create-environments-with-masked-production-data-using-neon-branches-uybmyp857
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Create Environments with Masked Production Data Using Neon Branches | daily.dev
og:description: Engineering teams struggle to create realistic non-production environments when production databases contain PII. Neon addresses this by combining its...
og:url: https://daily.dev/posts/create-environments-with-masked-production-data-using-neon-branches-uybmyp857
og:image: https://api.daily.dev/og/posts/UYbMyP857.png
og:image:alt: Create Environments with Masked Production Data Using Neon Branches
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Environments with Masked Production Data Using Neon Branches

**[Neon](https://daily.dev/sources/neontech)** · 7 min read · 0 upvotes · 0 comments

## Summary

Engineering teams struggle to create realistic non-production environments when production databases contain PII. Neon addresses this by combining its copy-on-write database branching with the PostgreSQL Anonymizer extension. The workflow involves creating a branch from production, applying static masking rules to sensitive columns (using strategies like anon.fake, anon.partial, or anon.noise), and then using that anonymized branch as a reusable base for dev, CI, preview, and ephemeral environments. Branches are instant regardless of dataset size, preserve schema and referential integrity, and can be automated via GitHub Actions on pull request creation.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://neon.com/blog/environments-masked-production-data>

## Similar posts on daily.dev

- [Branching With or Without PII: The Future of Environments](https://daily.dev/posts/branching-with-or-without-pii-the-future-of-environments-dqdpyhgo6) · Neon · 1 upvotes · 0 comments
- [Branching as the Environment: How Sharing Excess Ships Faster on Neon](https://daily.dev/posts/branching-as-the-environment-how-sharing-excess-ships-faster-on-neon-ktetjquif) · Neon · 4 upvotes · 0 comments
- [Handling Auth in a Staging Environment](https://daily.dev/posts/handling-auth-in-a-staging-environment-ikaxb9ox4) · Neon · 1 upvotes · 0 comments
- [How to Handle PII in Staging Databases Without Losing Realistic Data](https://daily.dev/posts/how-to-handle-pii-in-staging-databases-without-losing-realistic-data-ipwyedptt) · Neon · 2 upvotes · 0 comments
- [Promoting Postgres Changes Safely From Multiple Environments to Production](https://daily.dev/posts/promoting-postgres-changes-safely-from-multiple-environments-to-production-aazpuxhzk) · Neon · 0 upvotes · 0 comments

---

Tags: [#database](https://daily.dev/tags/database), [#postgresql](https://daily.dev/tags/postgresql)

[View this post on daily.dev](https://daily.dev/posts/create-environments-with-masked-production-data-using-neon-branches-uybmyp857)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Create Environments with Masked Production Data Using Neon Branches","url":"https://daily.dev/posts/create-environments-with-masked-production-data-using-neon-branches-uybmyp857","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/create-environments-with-masked-production-data-using-neon-branches-uybmyp857"},"datePublished":"2026-07-09T06:57:55.754Z","dateModified":"2026-10-14T02:26:53.383Z","description":"Engineering teams struggle to create realistic non-production environments when production databases contain PII. Neon addresses this by combining its...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a15df7795c2dcc3d2bedaf7ffb6e8c1a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a15df7795c2dcc3d2bedaf7ffb6e8c1a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Neon","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Neon","logo":"https://media.daily.dev/image/upload/s--65EDghou--/f_auto/v1724339118/logos/neontech","url":"https://daily.dev/sources/neontech"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/create-environments-with-masked-production-data-using-neon-branches-uybmyp857","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"database,postgresql","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Neon","item":"https://daily.dev/sources/neontech"},{"@type":"ListItem","position":3,"name":"Create Environments with Masked Production Data Using Neon Branches"}]}
```

