So you're sitting on decades of user data. Old backups. Abandoned accounts. That CRM from 2004 you forgot to decommission. Feels heavy, doesn't it? But here's the thing: holding onto data isn't just a storage cost. It's a moral liability that compounds every day you don't act. When you migrate legacy systems, you have a choice — carry forward the same old ethical debt, or finally clean house.
This isn't about compliance checkboxes. It's about the real-world harm of zombie data: breached archives, unconsented profiles, forgotten surveillance. Lawsuits are one thing, but the deeper damage is trust erosion and actual lives affected. This article gives you a workflow to audit, prune, and transfer data with integrity — before your stewardship becomes a scandal.
Who Needs This and What Goes Wrong Without It
Legacy system owners facing migration
You're the person staring at a fifteen-year-old MySQL dump, a stack of dusty tape backups, or a custom CRM that nobody in the building understands anymore. The system works — mostly. But the hardware is end-of-life, the compliance officer just resigned, and someone in legal sent an email that used the phrase 'data inventory' in all caps. I have watched teams spend six months engineering a perfect technical migration, only to ship every old customer record — including deleted accounts, abandoned carts from 2012, and raw IP logs — straight into the new shiny database. That's not a migration. That's hoarding with a fresh coat of paint.
The ethical risk is not theoretical. Every record you carry forward without auditing carries the original consent — or lack of it. That user who signed up in 2009 under a privacy policy that said 'we will never share your data'? You're about to plug her into an analytics pipeline her grandfather never approved. Identity theft starts here: orphaned social security numbers, expired credit card hashes that still map to real people, addresses of users who have since entered witness protection or domestic violence shelters. The odd part is — most teams never check. They assume old data is inert. It's not. It's a liability that accrues interest.
The trick is that legacy systems often lack any notion of consent timestamps. You can't query what never existed. So you guess. You run a script that marks everything older than seven years as 'probably stale' — and you're wrong about thirty percent of the time. Wrong order, wrong context, wrong legal framework. That hurts.
Data officers with unmanaged archives
Your title may be Data Protection Officer, Privacy Counsel, or Head of Governance. Or you might be the only person who remembers the filing cabinet in the basement — digital or literal. The archive is not one system. It's six CRMs, two legacy e-commerce platforms, a defunct newsletter tool, and a pile of CSV exports that someone named 'final_backup_v2_USE_THIS_ONE.csv'. Most teams skip this: they treat archives as dead storage. Dead storage doesn't leak. But archives are not dead — they're dormant. A single forgotten endpoint serving old user data can become a compliance grenade when the next acquisition audit happens.
What usually breaks first is the consent mismatch. A user who opted out of marketing in 2018 finds her phone number in a 2024 email blast because the migration tool copied the 'subscribed' flag from a table that never updated. Systemic harm compounds: if your data includes health survey responses, political donation histories, or behavioral scores from a long-shuttered recommendation engine, you're not just violating GDPR or CCPA — you're storing weapon-grade information about people who never agreed to the system you're building now. One concrete anecdote: I fixed a migration where the team had copied 'gender identity' and 'religious affiliation' fields from a defunct loyalty program into their new product database. Nobody had asked for that data. It was just there — twenty years of intimate details, transferred without a single question. The seam blew out when a journalist requested a data subject access report. We spent six weeks unpicking what should never have moved.
That said, you can't delete everything. Some data has legal retention requirements: tax records, transaction logs for fraud investigations, consent audit trails themselves. The trade-off is brutal — keep too little and you fail compliance; keep too much and you fail ethics. The middle ground requires a pruning strategy that knows which laws apply, not just which fields exist.
'We never intended to harm anyone. We just never intended to think about it at all.'
— data architect, post-mortem of a class-action settlement, 2023
Startups that inherited user data from acquisitions
You bought a company. Or you merged. Or you inherited a codebase from a founder who 'forgot' to mention the 500,000 user records sitting in a MongoDB instance with no password. The pitch was synergy; the reality is a data dump that includes chat logs, support tickets, and behavioral profiles from an app that shut down three years ago. Your investors don't care about the ethics — until the first data breach hits the newsfeed. Then it's your problem.
The core trap is speed. Acquisitions close fast; due diligence on data provenance rarely gets more than a checkbox. I have seen startups absorb an entire user base under the original privacy policy — which said 'we may share data with partners' — and then run A/B tests on those users without fresh consent. The partners clause was written in 2015 for banner ad networks, not for machine learning models that predict creditworthiness. The company that sold you the data didn't break the law; they just handed you a bomb with a fuse made of fine print. Your only move is to segment every inherited user by original consent scope, then block all processing that exceeds it. That sounds fine until you realize the inherited data has no consent scope column. You can't filter what was never labeled.
What to do next this week: pick one legacy table — the one with the most personally identifiable fields — and run a row-count versus consent-log-count comparison. If the gap exceeds ten percent, you have a moral liability you can no longer outrun. Start pruning. Not next quarter. This week.
Prerequisites: What You Should Settle Before Touching the Data
Data inventory and classification
You can't ethically move what you have not named. Before a single byte migrates, you need a living inventory—not a spreadsheet buried in last year's drive. I have watched teams spend weeks debugging a failed transfer only to discover they had no idea what was actually in the legacy system. That hurts. The inventory must list every dataset, its origin date, its sensitivity level, and—this is the part most skip—its current relevance. A field from 2014 that hasn't been queried in six years? That's not data. It's digital sediment. Classify by risk: public, internal, restricted, or regulated. Europe's GDPR, California's CCPA, or sector-specific rules like HIPAA each carry different obligations. Wrong order and you expose yourself to fines that dwarf the migration budget. The odd part is how often teams treat classification as a checkbox rather than a moral baseline. A simple table with three columns—dataset name, retention trigger, deletion date—can save you from holding someone's medical records years after the legal obligation expired.
Consent records and retention policies
Most legacy systems hoard consent like a basement collects dust. You need the original consent statements—not a vague note that says "user agreed in 2017." Did they agree to data processing for one product or five? Was consent revocable? Did you honor the revocation? One client of mine discovered their archive still held customer location data from a discontinued loyalty program. The consent had expired, the program was dead, yet the records sat there for four years. That's a liability hiding in plain sight. Retention policies should predate migration by weeks, not hours. Map every dataset against its retention trigger: account closure, project end, regulatory sunset. If the policy says "delete after 90 days of inactivity" but your migration script copies everything, you have just violated your own terms. The catch is—most organizations have retention policies written for compliance auditors, not for engineers who write the transfer scripts. Translate those policies into plain conditions before you touch a single record. "Delete if last login > 2 years" beats "purge inactive accounts" every time.
Reality check: name the design owner or stop.
That sounds fine until you realize the consent database uses a different encoding than the archive system. Another day lost.
Stakeholder mapping (who owns what?)
Data ownership is rarely written down. It's assumed, inherited, or—most dangerously—disputed after something breaks. Before migration, you need a map that answers one question: who has the right to say "yes" or "no" to moving this dataset? Not the IT director. Not the vendor. The person who understands the data's original purpose and its current legal exposure. I have seen a marketing database held hostage because two department heads both claimed ownership—neither had signed anything. The migration stalled for three weeks. That's time you can't recover. Map each dataset to a named decision-maker and a fallback. Document their sign-off in a way that survives turnover—because the person who approved the migration in March might be gone by July. A simple rule: if nobody can say "yes," the answer is "don't move it yet." One rhetorical question worth asking: would you accept this data into your own personal storage without knowing who put it there and why? If not, don't migrate it into a new system either.
'We moved everything because we could. We should have asked who we were moving it for.'
— data architect reflecting on a 2022 migration audit
The mistake most teams make is treating stakeholder mapping as a social exercise. It's not. It's a risk-control document. Without it, you're not migrating data—you're migrating someone else's unresolved liability into your new system. Fix that before you write the first line of transfer code.
Core Workflow: How to Audit, Prune, and Transfer Data Ethically
Step 1: Map data lineage and purpose
Start by asking a hard question: why does each byte exist in the first place? I have watched teams dive straight into copying files, only to discover halfway through that half their archive was a legal requirement to retain for seven years—and the other half was a contractor’s old music collection. You need a lineage map, not a folder tree. Trace every dataset back to its originating contract, consent form, or regulatory mandate. If you can't reconstruct why you collected it, you can't ethically decide where it goes next. That sounds fine until you realize most organizations have a decade of orphaned records with no owner, no purpose, and no deletion date.
Map the purpose, not just the path. A customer’s purchase history from 2012 might live in the same bucket as their chat transcripts—but the retention rules differ wildly. Document the legal basis for each collection, the promised retention window, and any third-party data that arrived under separate terms. The odd part is—most migration failures I see are not technical; they're ethical landmines detonated by ignorance. You lose a day, maybe two, drawing this map. You lose far more if you have to recall a migrated dataset because you accidentally transferred consent-revoked records.
“Data without purpose is debris. Data with purpose but no steward is a liability waiting to surface.”
— legacy migration lead, internal post-mortem
Step 2: Apply retention and deletion rules
Here is where the pruning happens—and where most teams flinch. You have the map; now cut everything that should not move. Retention rules are not suggestions; they're the moral floor. If a record’s retention period expired last year, keeping it in the new system is not caution—it's violation. Delete first, transfer second. That hurts. It means letting go of data that someone somewhere might “find useful someday.” But someday is not an ethical framework.
The catch is that deletion itself must be auditable. A hard wipe without a log is indistinguishable from a cover-up. So before you prune, document what you're deleting, why, and who authorized it. We fixed this by writing a one-page deletion manifest per dataset—then having a second person verify before the delete command runs. Yes, it slows the workflow. That's the point. Speed and ethics rarely shake hands in legacy migration. If you can't stomach the slowdown, you're not ready to touch the data.
Most teams skip this: applying consent revocation before deletion. A user who asked for their data erased five years ago might still have stale records in an old backup. Search for those. They're your first priority to remove. Not yet transferred? Good. Permanently deleted from source before migration begins.
Step 3: Transform or anonymize before moving
Now the data you kept needs to be shaped for its new home—and that shape has moral consequences. Sometimes you must keep the record but strip the identifier: hash emails, bucket ages into ranges, drop exact geolocation. Anonymization is not a checkbox; it's a sliding scale. A dataset that looks anonymous today may be re-identifiable tomorrow when cross-referenced with a leaked phone list. I have seen this happen—a health survey migrated with “anonymized” zip codes, then matched against voter rolls. That seam blew out publicly.
Transform before transfer, not after. Don't move the raw data and promise to “clean it in the new system.” That promise breaks under pressure—deadlines hit, budgets shrink, and suddenly the raw data stays raw forever. Run the anonymization as a gate: if the transformation step fails, the data doesn't move. Period. We use a simple test: after transformation, can any single row still be linked to a specific person using public information? If the answer is yes, you're not done.
One more thing: document the transformation logic itself. What hash algorithm? What date-bucket width? What aggregation method? That metadata becomes part of the ethical provenance record. Without it, future stewards will look at your cleaned dataset and wonder what assumptions you baked in. They deserve to know. You're not just moving data—you're leaving a paper trail for the next person who has to make this same judgment call five years from now. Make it legible.
Tools, Setup, and Environment Realities
Data discovery tools — the map you wish you had from day one
You can't prune what you can't find. That sounds obvious, but I have walked into three legacy migrations where the client’s data inventory was a sticky note on a monitor. Apache Atlas and Collibra are the usual suspects here. Atlas is open-source, free, and decent at scanning Hive tables, S3 buckets, and a handful of SQL dialects. Collibra costs real money — think five figures annually — but it auto-classifies PII, tags sensitive fields, and generates a lineage graph that actually survives a boardroom review. The trade-off? Atlas demands a dedicated engineer to wire it into your metadata sources; Collibra hands you a dashboard in an afternoon but locks you into their catalog format. Neither tool is a silver bullet when 40% of your legacy data lives in CSV files named copy_of_report_final_v3_ACTUAL.xlsx. Most teams skip the discovery phase and regret it three sprints later when they find a shadow database of passport scans under a former intern’s username.
Reality check: name the design owner or stop.
‘We thought we knew the data. We knew the data we remembered — not the data the company had quietly accumulated for twelve years.’
— lead engineer, healthcare platform migration, 2023
Anonymization libraries — the seam where ethics meets CPU cycles
The ARX toolkit handles k-anonymity, l-diversity, and differential privacy out of the box. It's Java-based, clunky, and absolutely reliable. Privacy Dynamics (formerly BigID anonymization) wraps the same math into a REST API — you send it a JSON payload, it returns a redacted copy. The catch: ARX runs locally, so you control where the raw data lives; Privacy Dynamics sends data through their cloud, which may violate your own compliance policies. I have seen teams burn two weeks trying to anonymize free-text doctor notes with regex alone. Don’t. Use ARX’s built-in NLP pattern detector. It misses about 15% of subtle identifiers — patient initials in narrative summaries, for example — so always run a human review pass. The cost here is time, not money: a 500 GB dataset takes six to twelve hours to anonymize at k=5. That hurts. But the alternative — shipping raw data to a migration target and hoping nobody sues — is worse.
Sandbox environments — where you test deletion before you mean it
You need a sandbox that mirrors production without touching production. Docker Compose with a read-only volume mount works for datasets under 200 GB. Above that, look at Terraform provisioning a temporary AWS account that self-destructs after 72 hours. The trick is to run your deletion scripts against the sandbox first — not just unit tests, but actual dry runs with real anonymized records. Wrong order. Teams test the import path and forget the delete path, then discover during go-live that their cascade deletes orphan rows across sixteen linked tables. I have debugged that exact failure at 2 AM on a Sunday. Sandbox costs are trivial — a few hundred dollars in cloud compute — compared to the reputational hit of accidentally wiping the wrong user cohort. One rhetorical question: would you rather throw away a test environment or a lawsuit?
Variations for Different Constraints
Regulated industries (HIPAA, GDPR, CCPA)
The core workflow holds—barely—until a regulator shows up. Then the moral liability compounds fast. Under HIPAA, you cannot simply 'delete after migration' and call it done; you must prove the deletion was cryptographically verifiable and logged. I once watched a team lose six months because they purged a legacy EHR system without generating the required Certificate of Destruction for each patient record. That is a moral failure dressed as technical efficiency. Under GDPR's right to erasure, pruning must be selective, not bulk — you may hold data for one data subject lawfully while owing another immediate deletion. The fix: before any transfer, tag every record with its governing regulation and retention obligation. Then audit not just what you keep, but why you keep it.
The catch is that compliance software often cannot read legacy formats. So your ethical obligation includes making the data provably governed, not just moved. That means embedding audit trails inside the transfer payload itself — not in a separate spreadsheet that gets lost. CCPA adds a layer: you must track opt-out signals from the original system and ensure they survive into the new environment. Wrong order? You expose yourself to class-action liability for data you thought was ethically clean.
'We migrated the data perfectly. We forgot to migrate the consent.' That sentence bankrupts trust.
— privacy engineer, after a failed HIPAA audit
Small teams with limited budget
You have no dedicated ethics officer. No compliance lawyer. Just a single developer, a creaking server, and a deadline. The temptation is to skip the prune step entirely — migrate everything, sort it out later. Don't. I have seen that exact choice turn a $5,000 migration into a $50,000 breach notification bill. The variation for constrained teams: reduce scope, not standards. Migrate the data you must keep, archive the rest in tamper-proof cold storage, and schedule ethical destruction quarterly. One concrete trick: use a read-only replica for your audit pass so you cannot accidentally alter the original during triage. That costs nothing but discipline.
What hurts is that cheap tools often lack row-level tracking for privacy flags. You can still do this manually — a single CSV column labeled 'consent_expiry' beats an undocumented trust fall. The ethical shortcut is not bypassing the workflow; it's shortening the distance between finding a problem and flagging it. A post-it note on the monitor is not a governance process, but it beats pretending the problem doesn't exist.
Legacy systems with no documentation
This is where ethics feel impossible. You have a thirty-year-old COBOL database, no schema diagrams, and the original developer retired a decade ago. The data is in there, but you cannot tell which field holds national IDs and which holds chat logs. The ethical variation is brutally simple: treat undocumented fields as presumed sensitive. That means you cannot transfer them until you classify them — not even to a staging environment. The trade-off is speed for safety. I have seen teams quarantine unknown columns into a 'dark data' vault, then run pattern-matching scripts to flag PII patterns before release. It's slow. It's also the only honest move.
The pitfall: assuming that because you cannot read the field, it probably contains nothing critical. That assumption has caused more breaches than any malicious actor. One team I worked with discovered, six months post-migration, that a column labeled 'NOTES' actually contained unencrypted Social Security numbers. The original system had no access controls either — anyone with a terminal could dump the whole table. The moral here: when documentation is absent, your ethical duty is to assume the worst and verify otherwise. That's not paranoia; it's stewardship.
Pitfalls, Debugging, and What to Check When It Fails
Blanket retention policies that ignore context
The easiest mistake is setting one retention rule for everything. Five years for all user files. Delete anything older than a quarter. Sounds clean. But data doesn't age uniformly—a forgotten customer invoice from 2018 carries legal weight; a cached session log from the same year is dead weight. I have watched teams nuke entire archive buckets because a compliance checkbox said 'purge after 36 months,' only to realize the archive held signed consent forms for a now-disputed clinical trial. The catch is that blanket policies trade moral judgment for administrative convenience. You don't get to outsource the ethical call to a timestamp.
What usually breaks first is the human layer: nobody asked why that dataset existed. So you need per-context rules. Tag data by origin—user-uploaded, system-generated, third-party enriched—and assign separate decay curves. One client we fixed this for kept a single 'retention_years' column for everything; we split it into four fields and cut their ethical exposure by half. A single rule is a loaded gun pointing at your legacy.
Ignoring data provenance and third-party shares
Most teams audit only what they own. They miss the copies. That CRM export you sent to a marketing contractor three years ago? Still sitting on their shared drive. The analytics pipeline you inherited? It pulls from a vendor API that stores query logs without your knowledge. Failing to track data origin means you can delete your primary copy and still be liable for the ghost replicas. One phrase I hear constantly: 'We thought we had everything.' Wrong order.
'We deleted the source database. Then the subpoena arrived for the backup we forgot to inventory.'
— Lead engineer, health-data migration post-mortem, 2023
Field note: database plans crack at handoff.
The fix is ugly but necessary: map every external share, every API push, every archived CSV emailed to a partner. Then contractually obligate them to mirror your deletion timeline. If they refuse, that data becomes a moral liability you cannot transfer—you can only flag it as untrusted. Provenance isn't just a tech problem; it's a chain-of-custody ethics question that, when ignored, turns a clean migration into a sprawling litigation trail.
Over-deleting due to fear (and how to recover)
Panic erases more than diligence ever does. I have seen a team, spooked by a looming audit, run a bulk-delete script that wiped twelve years of customer support logs—including threads proving a product defect was disclosed. They replaced a liability with a worse one: missing evidence. The irony is that over-deletion often stems from the same logic as hoarding—fear of consequence—just pointed in the opposite direction. Neither is stewardship; both are abdication.
How to recover when you delete too much: stop all writes immediately. Restore from the most recent immutable backup that predates the deletion window—don't use incremental snapshots, which may carry the delete command forward. Then run a diff between what exists and what should exist, using a pre-migration inventory manifest (you built one in step two of the workflow, right?). That hurts. But the alternative—pretending the gap doesn't exist—is what turns a mistake into a breach. One concrete action: keep a 'graveyard bucket' with soft-delete markers for 90 days post-migration. It buys you time to catch your own panic before it becomes permanent.
Final check this week: pull one shared drive you inherited and trace every file older than two years. If you cannot name who put it there and why, you are already in the pit—time to crawl out before the next handoff.
FAQ or Checklist: Quick Moral Stewardship Assessment
Checklist: Is your data stewardship ethical?
Legal compliance keeps you out of court. Ethical stewardship keeps you out of the mirror. Most teams lean hard on the first and hand-wave the second—until a legacy migration forces them to stare at forty years of unconsented personal data. That stare hurts. Use this checklist before you touch a single byte.
- Known source of consent? Can you prove the original collection was informed, or are you guessing from three acquisitions ago?
- Still relevant? Does this data still serve its original purpose, or has the system quietly expanded its scope?
- Deletion path defined? You must be able to delete—not just archive—individual records on request. If your migration tool only moves everything, you've already failed.
- Retention floor clear? Legal minimum? Fine. But ethical retention often runs shorter. I have seen teams keep payroll data from 1987 simply because "we've always had it." Not a reason.
- Third-party contamination? Did a vendor slurp a copy during a past integration? You're on the hook for that copy too.
- Exit clause for subjects? Does your new system let former users withdraw consent cleanly, or is it another black hole with a pretty UI?
One pass through that list and you will see the gap between "we passed the audit" and "we're actually decent custodians." The gap is where the moral liability hides.
FAQ: Can I delete data without consent?
Short answer: often, yes. Long answer: it depends entirely on why you are deleting. If the data was collected under a consent that has expired, or if the original purpose no longer exists, you don't need fresh permission to purge. The catch is that most organizations conflate "we don't have consent" with "we might get sued." We fixed this by forcing a simple question before every migration batch: Does holding this data harm anyone more than deleting it risks annoying a regulator? Ethical deletion is not lawless deletion—it's deletion with a documented rationale. The odd part is that regulators often prefer deletion to indefinite hoarding. Keeping everything "just in case" is rarely a defensible stance once a subject files a complaint. So no, you don't need a notarized waiver to clean house. You need a paper trail showing why you cleaned it.
FAQ: What if the legal hold conflicts with ethics?
This is the knife edge. A legal hold overrides almost everything—you cannot ethically delete what a court has ordered preserved. But here is the nuance most teams miss: legal holds rarely cover entire databases. They cover specific records, date ranges, or individuals. I once watched a team freeze a whole archive of medical intake forms because one user had filed a suit. That archive contained thousands of other people's sensitive data—held for years beyond any ethical justification. The solution was a targeted hold: isolate the litigant's records, migrate the rest, and schedule deletion for the non-affected subjects. The hard part is convincing legal that partial holds are technically feasible. They usually assume the worst. Show them a working prototype—a filtered migration dry-run—and the conflict softens. Ethical stewardship doesn't mean defying the court. It means shrinking the blast radius of the hold so innocent bystanders are not frozen in amber forever. That's the move.
“We kept the data because the law said we could. We never asked if we should.”
— Engineering lead, post-mortem on a breached legacy archive
That sentence is the moral liability in one line. Your first action this week is not a tool install or a policy rewrite. It is a single afternoon meeting: pull your oldest active dataset, run the checklist above, and decide whether keeping it still makes you proud. If the answer wavers, prune. You can always recollect. You cannot un-leak a record you never should have held.
What to Do Next: Your First Action This Week
Schedule a data ethics audit — this week, not next quarter
Pick a two-hour block. Put it on your calendar before you close this tab. That sounds like busywork until you realize the alternative: another quarter of holding data you cannot defend holding. An ethics audit is not a re-run of your standard privacy compliance scan. It asks harder questions — who does this dataset harm if it leaks, who does it harm if we keep it locked away, and what future person inherits the moral cost of my present convenience? I have seen teams skip this step because they felt “busy enough.” Six months later, a journalist requested the dataset under FOIA. The export included 14,000 unredacted medical referral notes. The point is not fear — the point is that scheduling the audit forces you to name what you actually store. Block the time.
Identify one legacy dataset to prune before Friday
Walk your storage systems. Find the oldest dataset nobody touches. Not the big one — the small, forgotten one. Maybe it’s a CSV from 2016 with partial names and zip codes from a contractor who dissolved. Maybe it’s a backup tape labeled “archive — don't delete” that nobody has restored in four years. Prune that one thing. The catch is: you cannot just delete it. You must first log what it contained, why you originally kept it, and who approved its disposal. We fixed this by keeping a single Google Doc titled “Deletion Log — [Year]” with three columns: dataset name, ethical risk (1–3), date of deletion. That document becomes your liability shield. Without it, a regulator sees a gap where data disappeared. With it, you show deliberate stewardship — not panic deletion.
“Ethical pruning is not erasing history. It is deciding which history you have the right to keep.”
— paraphrased from a data ethics workshop lead, 2023
Wrong order? Yes — most teams prune first, log later, then realize they cannot prove the deletion was authorized. Start with the smallest dataset. One CSV. One backup folder. You will hit a snag: the data’s original purpose might be undocumented, or the person who collected it left the org. That's fine. Document the uncertainty — “origin unknown, risk low, deleted 4/12” — and move on. The goal is not perfection. The goal is to break the inertia of “we’ll figure out the ethical mess next sprint.” Next sprint never comes. This Friday does.
Set up a deletion log and approval process — two documents, one rule
Create two things: a public log (who authorized what, when) and a private holding area (what was in the dataset before deletion). The rule: never delete data without a matching log entry and a second person’s sign-off. That second person breaks the single-point-of-failure pattern. I once watched a senior engineer delete 12 TB of user interaction logs because “nobody asked for them in three years.” The logs included opt-out flags for a vulnerable user group. No approval. No log. No recovery. The moral liability didn't disappear — it transferred upstream to the person who failed to stop the deletion. So set the process now: one template email, one shared folder, one rule. It takes twenty minutes. Skip it, and you are one engineer’s bad Tuesday away from an irreversible mistake.
Start with that single dataset. Log it. Approve it. Delete it. Then do the next. That is your first action this week — not a plan, not a governance framework, not a three-month migration strategy. One dataset. One deletion. One log entry. Everything else follows.
Comments (0)
Please sign in to post a comment.
Don't have an account? Create one
No comments yet. Be the first to comment!