HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
nucleuscloud
neosync
Go2023–2026
nucleuscloud / neosync · Archived

neosync

Open Source Data Security Platform for Developers to Monitor and Detect PII, Anonymize Production Data and Sync it across environments.

3Distinct people
15Mentions
0Explicit recommenders
4.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Open Source Data Security Platform for Developers to Monitor and Detect PII, Anonymize Production Data and Sync it across environments.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month15 dated mentions

Observed mentions: 2023-12-07 18:39:25 UTC to 2026-03-05 14:04:41 UTC.

01232023-12-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 commentsDec 20232024-01-01 00:00:00 UTC to 2024-02-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-02-01 00:00:00 UTC to 2024-03-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-03-01 00:00:00 UTC to 2024-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-04-01 00:00:00 UTC to 2024-05-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-05-01 00:00:00 UTC to 2024-06-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2024-06-01 00:00:00 UTC to 2024-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-07-01 00:00:00 UTC to 2024-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-08-01 00:00:00 UTC to 2024-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-09-01 00:00:00 UTC to 2024-10-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2024-10-01 00:00:00 UTC to 2024-11-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-11-01 00:00:00 UTC to 2024-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2025-02-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 commentsJan 20252025-02-01 00:00:00 UTC to 2025-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-01 00:00:00 UTC to 2025-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-04-01 00:00:00 UTC to 2025-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-05-01 00:00:00 UTC to 2025-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-06-01 00:00:00 UTC to 2025-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-07-01 00:00:00 UTC to 2025-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-08-01 00:00:00 UTC to 2025-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-09-01 00:00:00 UTC to 2025-10-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2025-10-01 00:00:00 UTC to 2025-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-01 00:00:00 UTC to 2025-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-12-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2026-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-01 00:00:00 UTC to 2026-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-03-01 00:00:00 UTC to 2026-04-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMar 2026

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Dec 20232023-12-01 00:00:00 UTC2024-01-01 00:00:00 UTC220
Jan 20242024-01-01 00:00:00 UTC2024-02-01 00:00:00 UTC101
Feb 20242024-02-01 00:00:00 UTC2024-03-01 00:00:00 UTC101
Mar 20242024-03-01 00:00:00 UTC2024-04-01 00:00:00 UTC000
Apr 20242024-04-01 00:00:00 UTC2024-05-01 00:00:00 UTC101
May 20242024-05-01 00:00:00 UTC2024-06-01 00:00:00 UTC211
Jun 20242024-06-01 00:00:00 UTC2024-07-01 00:00:00 UTC101
Jul 20242024-07-01 00:00:00 UTC2024-08-01 00:00:00 UTC000
Aug 20242024-08-01 00:00:00 UTC2024-09-01 00:00:00 UTC000
Sep 20242024-09-01 00:00:00 UTC2024-10-01 00:00:00 UTC110
Oct 20242024-10-01 00:00:00 UTC2024-11-01 00:00:00 UTC101
Nov 20242024-11-01 00:00:00 UTC2024-12-01 00:00:00 UTC000
Dec 20242024-12-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
Jan 20252025-01-01 00:00:00 UTC2025-02-01 00:00:00 UTC303
Feb 20252025-02-01 00:00:00 UTC2025-03-01 00:00:00 UTC000
Mar 20252025-03-01 00:00:00 UTC2025-04-01 00:00:00 UTC000
Apr 20252025-04-01 00:00:00 UTC2025-05-01 00:00:00 UTC000
May 20252025-05-01 00:00:00 UTC2025-06-01 00:00:00 UTC000
Jun 20252025-06-01 00:00:00 UTC2025-07-01 00:00:00 UTC000
Jul 20252025-07-01 00:00:00 UTC2025-08-01 00:00:00 UTC000
Aug 20252025-08-01 00:00:00 UTC2025-09-01 00:00:00 UTC000
Sep 20252025-09-01 00:00:00 UTC2025-10-01 00:00:00 UTC110
Oct 20252025-10-01 00:00:00 UTC2025-11-01 00:00:00 UTC000
Nov 20252025-11-01 00:00:00 UTC2025-12-01 00:00:00 UTC000
Dec 20252025-12-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
Jan 20262026-01-01 00:00:00 UTC2026-02-01 00:00:00 UTC000
Feb 20262026-02-01 00:00:00 UTC2026-03-01 00:00:00 UTC000
Mar 20262026-03-01 00:00:00 UTC2026-04-01 00:00:00 UTC101

What Hacker News says

15 sources
Cool project. I haven’t looked at the code too much(yet). I’d be curious to know how you’re handling some of the more wiry edge cases when it comes to following foreign key constraints. Things like circular dependencies come to mind. As well as complex joins. I feel ok posting this because it’s archived, but this problem is basically what we designed for with Neosync [1]. It was probably the hardest feature to fully solve for the customers that needed it the most, which were the ones with the most complex data sets and foreign key dependencies. To the point where it was almost impossible to do this, at least with syncing it directly to another Postgres database with everything in tact. Meaning that if on the other side you want another pg database that has all of the same constraints, it is difficult to ensure you got the full sliced dat
Read the rest
aset. At least the way we were thinking about it. [1]: https://github.com/nucleuscloud/neosync
In Dbslice: Extract a slice of your production database to reproduce bugs
This can work pretty well if you want to either mask the data in prod or update it in place. A good use case that comes to mind is using prod data in a retool app or something for your internal team but you want to mask out certain bits. I’ve been building Neosync [1] to handle more advanced use cases where you want to anonymize data for lower level environments. This is more useful for stage or dev data. Then prod stays completely unexposed to anyone. It also has a transactional anonymization api too. [1]: https://github.com/nucleuscloud/neosync
In PostgreSQL Anonymizer
Nice write up, mock data generation with LLMs is pretty tough. We spent time trying to do it across multiple tables and it always had issues. Whether you look at classical ML models like GANs or even LLMs, they struggle with producing a lot of data and respecting FKs, Constraints and other relationships. Maybe some day, it gets better but for now, we've found that using a more traditional algorithmic approach is more consistent. Transparency: founder of Neosync - open source data anonymization - github.com/nucleuscloud/neosync
In In the land of LLMs, can we do better mock data generation?
edrenova·Sep 17, 2024Submission

Show HN: Open-Source Data Anonymization for Developers

Hey HN, we're Evis and Nick from Neosync (https://www.github.com/nucleuscloud/neosync). Since we last introduced Neosync on HN 4 months ago, we’ve made a lot of progress and we’re excited to be launching several new features. As a reminder, Neosync is an open source platform that helps developers anonymize production data, generate synthetic data, subset it and sync it across their environments for better testing, debugging and developer experience. We do all of this while handling referential integrity. Whether you have primary keys, foreign keys, unique constraints, circular dependencies (within a table and across tables), sequences and more, Neosync preserves those references. Our goal is to give every developer production-like, representative data for a better developer experience without any security and privacy issues. First, we’ve
Read the rest
added new integrations. In addition to supporting Postgres and Mysql, we’re introducing first class support for DynamoDB, MongoDB and SQL Server. You can also sync to object storage like S3 and GCP Cloud storage. Next, we’ve completely revamped our transformers. Transformers are how you anonymize sensitive data and generate new data. We’ve added new Transformers that you can use out of the box or you can write your own custom one in javascript. We’ve added real time validation and the ability to combine transformers together to create your own anonymization scheme. We’ve also added in new features to make Neosync easier to use. For example, the ability to automatically map transformers to your schema. The ability to only append new records instead of a full refresh. And to stop jobs from running when the schema changes. We've also upgrade our AI Synthetic Data features. You can use any LLM to generate synthetic data and Neosync will handle the orchestration between your database and the LLM. Lastly, we’re also announcing Neosync Cloud. Our hosted platform that allows you to use Neosync without having to run any of the infrastructure yourself. All you have to do is connect your source and destination databases(s), configure your schema and you’re done. Of course, you can use Neosync Open Source on-prem and hundreds of companies do. Neosync is written in Go and Typescript and can be started locally with a single make command. We'd love any feedback you have and contributions are always welcome.
13 points · Open discussion
The ideal experience is that you anonymize prod and sync it locally. Whether it's for testing or debugging, it's the only way to get representative data. When you write mock data, you almost always write "happy path" data that usually just works. But prod data is messy and chaotic which is really hard to replicate manually. This is actually exactly what we do at Neosync (https://github.com/nucleuscloud/neosync). We help you anonymize your prod data and then sync it across environments. You can also generate synthetic data as well. We take care of all of the orchestration. And Neosync is open source. (for transparency: I'm one of the co-founders)
In How to test without mocking
we're actually working on this right, can see the PR here -> https://github.com/nucleuscloud/neosync/pull/1832/files it's a combination of creating a random number of records for foreign keys i.e 1 customer - create between 2 and 5 transctions. Working on giving you control over that, and handling referential integrity with table constraints (foreign keys, unique constraints, etc.) ML based approaches typically are not very good at this and struggle with handling things like referential integrity. So a more "procedural" or imperative way is slightly better. The ideal is a combination of both.
In Show HN: Neosync – Open-Source Data Anonymization for Postgres and MySQL
edrenova·May 22, 2024Submission

Show HN: Neosync – Open-Source Data Anonymization for Postgres and MySQL

Hey HN, we're Evis and Nick and we're excited to be launching Neosync (https://www.github.com/nucleuscloud/neosync). Neosync is an open source platform that helps developers anonymize production data, generate synthetic data and sync it across their environments for better testing, debugging and developer experience. Most developers and teams have some version of a database seed script that creates some mock data for their local and stage databases. The problem is that production data is messy and it’s very difficult to replicate that with mock data. This causes two big problems for developers. The first problem is that features seem to work locally/stage but have bugs and edge cases in production because the seed data you used to develop against was not representative of production data. The second problem we saw was that debugging produ
Read the rest
ction errors would take a long time and would often resurface. When we see a bug in production, the first thing we want to do is reproduce it locally, but if we can’t reproduce the state of the data locally, then we’re kind of flying blind. Working directly with production data would solve both of these problems but most teams can’t because of: (1) privacy/security issues and (2) scale. So we set out to solve these two problems with Neosync. We solve the privacy and security problem using anonymization and synthetic data. We have 40+ pre-built transformers (or you can write your own in code) that can anonymize PII or sensitive data so that it’s safe to use locally. Additionally, you can generate synthetic data from scratch that fits your existing schema across your database. The second problem is scale. Some production databases are too big to fit locally or just have more data than you need. Also, in some cases, you may want to debug a certain customer’s data and you only want their data. We solve this with subsetting. You can pass in a SQL query to filter your table(s) and Neosync will handle all of the heavy lifting including referential integrity. At the core of Neosync does three things: (1) It streams data from a source to one or multiple destination databases. We never store your sensitive data. (2) While that data is being streamed, we transform it. You define which schemas and tables you want to sync and at the column level, select a transformer that defines how you want to anonymize the data or generate synthetic data. (3) We subset your data based on your filters. We do all of this while handling referential integrity. Whether you have primary keys, foreign keys, unique constraints, circular dependencies (within a table and across tables), sequences and more, Neosync preserves those references. We also ship with APIs, a Terraform provider, a CLI and Github action that you can use to hydrate a CI database. Neosync is an open source project written in Go and Typescript and can be run on Docker Compose, Bare Metal, or Kubernetes via Helm. You can also use our hosted platform or managed platform that you can deploy in your VPC. We also have a hosted platform with a generous free tier - https://neosync.dev Here's a brief loom demo: https://www.loom.com/share/ac21378d01cd4d848cf723e4960e8338?... We'd love any feedback you have!
246 points · Open discussion
We solve this by managing referential integrity across relational databases when we subset. Effectively you have to build a graph of edges and nodes where edges are constraints and nodes are tables, then you have to follow these edges from node to node to maintain the constraints. It's certainly not trivial and gets very complicated when people use sensitive data as a primary key (for ex. email)/foreign key, then you need a way to anonymize those emails and shelf those primary keys until you can re-insert them later so you don't break the constraints. (disclaimer - co-founder of Neosync: github.com/nucleuscloud/neosync, open source tool to generate synthetic data and orchestrate and anonymize data across database)
In Greenmask: PostgreSQL Dump and Obfuscation Tool
edrenova·Dec 8, 2023Submission

Show HN: Neosync – Open Source Data Replication and Anonymization

Hey HN, we're Evis and Nick, we're excited to be launching Neosync on HN! Neosync is an open source data replication and anonymization project that helps developers create safe, anonymized test data and sync it across all environments for high-quality local, stage and CI testing. This is how it works: 1. You select a job type. Today we support data sync jobs (these sync data between two databases and run on a schedule you define) and a data generation job (this generates synthetic data from scratch and sends it to a destination). 2. Next you define your source database and a destination(s) database (you can connect multiple destinations). 3. Next we pull in the schema from the source DB and then you can decide how to you to want transform your data. We ship with 40+ transformers (email, first name, address, random int64, random string, ra
Read the rest
ndom float64, etc). You can create your own custom transformations as well. We've designed our transformers to be as flexible as possible so you can use them across almost any data type. You could also use Neosync in passthrough mode which means that none of the data will be transformed and you can use it for data replication. 4. Lastly, you can defined subsets. This is a way to filter the data that gets sent to the destination. You can provide a custom SQL query or filters to do this. For example, you can filter the data by an id, customerType, column, date, etc. This is very flexible. And that's it! The job will run on the schedule you determine. We handle things like retries and backoffs and referential integrity between tables. We also ship with APIs, a CLI and Github action so that you can use Neosync to hydrate a CI database in your CI pipeline. As a developer, you can use the CLI to hydrate a local database from S3 or another source. We're working on releasing a Terraform provider shortly. Deployment is pretty straightforward. You can deploy Neosync using Docker Compose (we provide a script) or on Kubernetes using our helm chart. So what's next? Here's a brief overview: Real time mode (hook up Neosync to Kafka/SQS and anonymize and send the data to destinations in real time) and more connections (MongoDB, Snowflake, CSV). On the ML side, supporting use-cases like consistent data generation (providing a seed value), statistically consistent data and more. You can check out our roadmap in our Github project. Here's a brief loom demo: https://www.loom.com/share/66224a81074a464b92808ecdc82b7ddb?... We'd love your feedback and contributions. We strongly believe that your data should be yours and it should stay on your infrastructure and open source is the best way to bring that vision to life.
4 points · Open discussion
edrenova·Dec 7, 2023Submission

Show HN: Open-Source Data Replication and Anonymization

Hey HN, we're Evis and Nick, we're excited to be launching Neosync on HN! Neosync is an open source data replication and anonymization project that helps developers create safe, anonymized test data and sync it across all environments for high-quality local, stage and CI testing. This is how it works: 1. You select a job type. Today we support data sync jobs (these sync data between two databases and run on a schedule you define) and a data generation job (this generates synthetic data from scratch and sends it to a destination). 2. Next you define your source database and a destination(s) database (you can connect multiple destinations). 3. Next we pull in the schema from the source DB and then you can decide how to you to want transform your data. We ship with 40+ transformers (email, first name, address, random int64, random string, ra
Read the rest
ndom float64, etc). You can create your own custom transformations as well. We've designed our transformers to be as flexible as possible so you can use them across almost any data type. You could also use Neosync in passthrough mode which means that none of the data will be transformed and you can use it for data replication. 4. Lastly, you can defined subsets. This is a way to filter the data that gets sent to the destination. You can provide a custom SQL query or filters to do this. For example, you can filter the data by an id, customerType, column, date, etc. This is very flexible. And that's it! The job will run on the schedule you determine. We handle things like retries and backoffs and referential integrity between tables. We also ship with APIs, a CLI and Github action so that you can use Neosync to hydrate a CI database in your CI pipeline. We're working on releasing a Terraform provider shortly. Deployment is pretty straightforward. You can deploy Neosync using Docker Compose (we provide a script) or on Kubernetes using our helm chart. So what's next? Here's a brief overview: Real time mode (hook up Neosync to Kafka/SQS and anonymize and send the data to destinations in real time) and more connections (MongoDB, Snowflake, CSV). On the ML side, supporting use-cases like consistent data generation (providing a seed value), statistically consistent data and more. You can check out our roadmap in our Github project. Here's a brief loom demo: https://www.loom.com/share/66224a81074a464b92808ecdc82b7ddb?... We'd love your feedback and contributions. We strongly believe that your data should be yours and it should stay on your infrastructure and open source is the best way to bring that vision to life.
24 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.