Writers put themselves in the work. That is not the problem.
The problem is everything that gets dragged in with the voice by accident. Street addresses hiding in photo metadata. Old API keys lingering in public repos. Family names tucked into examples. Email patterns clear enough to build a fake version of you. A neighborhood revealed one casual reference at a time until the map starts drawing itself.
Authenticity and exposure are not the same thing, but a lot of writers still treat them as twins.
You can say you grew up in Brooklyn without giving someone your building. You can say the kids were at school without naming the school. You can say the work happened at home without handing over the coordinates. The reader needs the emotional truth. They do not need the attack surface.
That distinction matters more now because aggregation is cheap. People used to leave breadcrumbs across years of posts, interviews, newsletters, GitHub repos, and casual photos and trust that the friction would protect them. That friction is gone. A machine can connect the fragments faster than most writers can remember what they have already made public.
The fragments are usually more ordinary than dramatic. Not secrets in the movie sense. Just enough loose detail to become leverage.
A public repo with a carelessly committed key. A photo uploaded with location data intact. A few anecdotes that narrow home, routine, family structure, and habits at the same time. A visible email cadence that makes a spoof easier to believe. None of it feels fatal alone. Together it becomes a usable profile.
That is why writers are softer targets than they like to admit. The job trains you to be public, personal, and vivid. It does not automatically train you to think like somebody hunting for angles.
Run the AI Audit on Yourself First
The most useful thing you can do before anyone else does it for you is ask an AI to build your profile from your own public material.
Collect a representative sample: a few articles, your bio, your GitHub URL if you have one, any public social profiles. Then run this:
I'm going to share my public writing, bio, and online presence.
Act as an OSINT investigator building a profile on this person.
From the material I provide, determine what you can infer about:
- Home location or neighborhood (approximate)
- Family structure and ages
- Daily routine and movement patterns
- Financial situation signals
- Technical stack and tools
- Physical presence patterns (office, coffee shop, commute)
Then do two things:
1. List every inference, even weak ones, with the source fragment that enabled it
2. Flag which pieces were most likely published by accident rather than by choice
Do not soften the findings. Treat this as a real investigation.
What comes back will be uncomfortable. That is the point. You are looking for the pattern the sentences make when read together — not the danger in any single post. This prompt surfaces the aggregation problem faster than you can find it manually, and it shows you exactly which casual details are doing the most damage.
Run it again after you clean things up. The before and after is the audit.
The GitHub Problem
Writers who build things have a specific exposure most pure writers don't. Code is public by default if you're not careful, and code carries secrets that prose never does.
The easy version of this mistake: committing an API key, a database URL, or a .env file that should never have been in version control. Deleting the file later does not fix it — the key is still in the commit history, and the history is permanent and public.
Check your history before you assume you're clean:
# Scan commit history for anything that looks like a secret
git log --all --full-history -p | grep -E "(api_key|secret|password|token|key=|auth)" -i | head -50
For a more thorough sweep, truffleHog scans the full git history for high-entropy strings — the pattern that secrets produce in code:
pip install trufflehog
trufflehog git file://. --only-verified
If you find something, rotate the key immediately — the repo history being public means the key is already compromised. Then rewrite the history to remove it. git filter-repo is the modern tool for this (filter-branch is deprecated):
