It starts innocently. You have a messy export, a cryptic column name, and a deadline. The chat window is open. You paste twenty rows of “real” customers so the model can “see the shape,” then ask it to draft a join. Ten minutes later you have a useful query, a slight adrenaline drop, and a quiet question: where did those rows go, who can train on them, and what would Security say if they saw the paste history?
This is Part 7 of Practical AI for analytics people. Parts 1 through 6 covered what models can and cannot do for analysis, tokens and cost, prompt patterns, human evals, RAG in plain English, and agents with harnesses. Here we get practical about the most common risk in analyst AI use: putting workplace data into chat tools. We stay at a high level on law (this is not legal advice) and focus on habits you can run Monday morning. Pair this with stewardship: Data stewardship at work, especially the PII ladder in Part 6, and the SQL check post you already know: How to Check AI-Written SQL Before You Ship It.
What you’ll learn
- Why a paste is a data-processing decision, not a harmless “example”
- What never belongs in a general chat tool (and what is usually safer)
- A paste risk ladder from never paste to synthetic samples
- How to build synthetic samples that still teach the model the shape
- A pre-paste checklist card you can screenshot into team norms
- How consumer tools differ from enterprise or approved internal tools
- Common mistakes, a 30-minute practice drill, and pointers to OWASP and privacy glossaries
A paste is a processing decision
When you put rows into a chat product, you are usually sending content to another organization’s systems for storage, logging, abuse review, and sometimes model improvement, depending on product, plan, and settings. That is not “just brainstorming.” It is processing: content leaves your laptop and becomes subject to that vendor’s terms, retention, subprocessors, and security posture.
You do not need a law degree to act carefully. You need a working definition of personal data that matches stewardship language: information that relates to an identified or identifiable person. Names, emails, phone numbers, account ids that map 1:1 to people, free-text tickets that mention customers, precise location, employee identifiers, and many combinations of “harmless” fields all sit in that frame. Official high-level definitions live in the GDPR text and privacy glossaries (see Sources). Your company’s policy may be stricter. Follow policy when it is stricter than this post.
Rule of thumb: If you would not paste the same rows into a public Slack channel with vendors in it, do not paste them into a consumer chat tool either.
Not legal advice. This article is for analyst hygiene and risk awareness. Data protection rules vary by jurisdiction, contract, and industry. When purpose, vendor, or data class is unclear, use your internal Legal, privacy, or Security path. Do not treat a blog post as counsel.
What never to paste
Start with a hard “no” list. If the content includes any of these, stop and redesign the prompt with synthetic or aggregate data, or use only an approved internal tool with a clear data path.
- Direct identifiers: legal names, emails, phones, postal addresses, government ids, full account logins.
- Secrets: passwords, API keys, tokens, private certificates, connection strings with credentials, VPN configs.
- Financial and payment detail: full card numbers, bank account numbers, payroll lines tied to named people.
- Health, children’s data, and other highly sensitive categories unless you have an explicit approved path for that tool.
- Raw customer support free text that may contain any of the above, even if the column is named “notes.”
- Full production dumps “for context.” Models rarely need a million rows to understand a schema.
- Unreleased strategy docs mixed with personal data (double hazard: confidential business plus people).
Also treat quasi-identifiers carefully: rare job title plus small office, birth date plus ZIP, device ids, precise GPS. Alone they may look technical. Together they re-identify. Stewardship Part 6’s ladder is the right mental model: climb down toward aggregates when the purpose allows.
The paste risk ladder
Not every paste has the same blast radius. A ladder helps you choose form without pretending all CSV snippets are equal.

| Rung | What you might paste | Default posture for chat tools |
|---|---|---|
| 1. Never | Secrets, payment data, government ids, health, children’s data, raw credentials | Do not paste. Use secrets managers and approved secure channels only. |
| 2. Almost never | Direct identifiers, 1:1 account keys, free-text tickets, employee hr extracts | Blocked on consumer tools. Enterprise path only if policy and contract allow. |
| 3. High care | Row-level business facts without names but with join keys that map to people | Prefer hashing/tokenizing offline first, or redesign to aggregates. |
| 4. Medium | Small internal metrics tables with no people, coarse dimensions | Check vendor terms and company AI policy; minimize rows and fields. |
| 5. Usually safer | Schema-only (column names, types, fake keys), public docs, synthetic samples | Preferred for drafting SQL, Python, and chart advice. |
| 6. Safest default | Describe grain and columns in words; paste zero rows | Often enough for good prompts (see Part 3 patterns). |
Climbing down the ladder is how you keep velocity without turning every prompt into a privacy incident. Climbing up requires purpose, policy, and often an approved enterprise product with retention and training controls you can point to.
Consumer tools vs approved enterprise tools
Analysts often blur three different things:
- Personal consumer chat accounts (browser free or personal paid plans).
- Company-provisioned enterprise AI (SSO, admin controls, data processing terms).
- Internal tools (self-hosted or VPC models, notebook agents wired only to approved datasets).
Same model family can sit in all three buckets with different contracts. Your paste rules should follow the path, not the brand logo on the UI. If Legal has not approved a path, treat it like consumer: schema and synthetic only. If Security has approved an enterprise workspace with “no training on our content” and logging controls, still minimize. Approval is not a license to dump the warehouse into a prompt. Parts 2 and 5 of this series (tokens and RAG) already argued for small, relevant context. Privacy agrees for different reasons.
Synthetic samples that still teach shape
Models draft better SQL and pandas when they see realistic structure: grain, null patterns, enum values, join keys. They do not need your real customers to learn that. Synthetic samples are invented rows that match types, distributions, and relationships without belonging to real people.
Good synthetic samples:
- Use fake names and emails from clearly fake domains (
example.com,example.test). - Use artificial ids that do not collide with production sequences if that matters for your demos.
- Preserve grain (one row per order, not one row per mystery).
- Include a few nulls, typos, and edge cases you care about (refunds, zero amounts, unknown region).
- Stay small: 5 to 30 rows often beat 5,000 for prompt quality (and for tokens: Part 2).
Bad “synthetic” habits: hashing real emails with a public salt and calling them anonymous; masking only the name column while leaving phone and address; sampling real rows and changing one letter of the last name. Those are still personal data problems dressed up as cleanup.
Worked example: invent a tiny orders sample
Suppose you want help writing a weekly revenue query. Instead of pasting prod, paste schema language plus toy rows.
# Prompt sketch (safe shape)
I need SQL for weekly net revenue.
Grain: one row per order_id.
Tables (names exact):
- orders(order_id, customer_id, order_date, amount, status, region)
- customers(customer_id, plan_tier)
Rules:
- status in ('paid','refunded'); refunds subtract
- filter tenant is not in these tables; assume single tenant sandbox
- do not invent columns
- show SQL first, then explain joins
Sample rows (SYNTHETIC, not real people):
order_id,customer_id,order_date,amount,status,region
o-1001,c-9,2026-03-01,40.00,paid,east
o-1002,c-9,2026-03-02,-40.00,refunded,east
o-1003,c-12,2026-03-03,15.50,paid,west
o-1004,c-15,2026-03-03,0.00,paid,westYou can generate those rows in a notebook without ever touching prod extracts:
import pandas as pd
orders = pd.DataFrame(
[
{"order_id": "o-1001", "customer_id": "c-9", "order_date": "2026-03-01",
"amount": 40.00, "status": "paid", "region": "east"},
{"order_id": "o-1002", "customer_id": "c-9", "order_date": "2026-03-02",
"amount": -40.00, "status": "refunded", "region": "east"},
{"order_id": "o-1003", "customer_id": "c-12", "order_date": "2026-03-03",
"amount": 15.50, "status": "paid", "region": "west"},
{"order_id": "o-1004", "customer_id": "c-15", "order_date": "2026-03-03",
"amount": 0.00, "status": "paid", "region": "west"},
]
)
# Sanity: refunds present, grain is order_id
assert orders["order_id"].is_unique
print(orders.to_csv(index=False))After the model returns SQL, you still run the AI SQL check on real systems: grain sentence, joins, tenant/date filters, small-window totals. Synthetic paste improves drafting. It does not replace verification.
The synthetic sample card (pre-paste checklist)
Before any non-trivial paste, run this card. If any answer fails, redesign the prompt.

# Synthetic sample card (pre-paste)
purpose: draft weekly revenue SQL for finance review
tool_path: company enterprise chat / personal consumer / unknown
policy_ok: yes | no | unclear (if unclear, stop)
## Data form
[ ] schema names only (no rows)
[ ] synthetic rows I invented
[ ] aggregates only (cell sizes safe)
[ ] real row-level data <-- if checked, STOP unless approved path
## Identifiers
[ ] no names, emails, phones, addresses
[ ] no government / payment / health fields
[ ] no secrets or connection strings
[ ] join keys are fake or irreversible for this purpose
## Minimization
row_count: ____ (prefer <= 30 for examples)
columns_dropped: ____ (list removed PII columns)
time_window: ____ (prefer short)
## Retention awareness
[ ] I will not paste the same sensitive file "just one more time" into new tools
[ ] I know whether this product may use content for training (yes/no/unknown)
## After answer
[ ] I will verify SQL/Python on real systems myself
[ ] I will not paste model output that re-includes sensitive samples into tickets| Card field | Pass criteria |
|---|---|
| tool_path | Named and approved for this data class, or restricted to schema/synthetic |
| policy_ok | Yes from written policy or privacy contact; never “probably fine” |
| Data form | Not real row-level personal data on unapproved tools |
| Identifiers | All four boxes true |
| Minimization | Small row count; unused sensitive columns removed |
| After answer | Human verification planned; no re-broadcast of sensitive samples |
What about screenshots, charts, and “just one column”?
Screenshots of dashboards often include filters that reveal tiny segments, customer names in tooltips, or employee performance. Charts can be safer when they show coarse aggregates, but a scatter of individuals is still people data. “Just one column” of emails is still a dump of personal data. Multimodal models that read images inherit the same paste problem: the pixels are content.
For chart help, describe axes and paste synthetic numbers, or invent a tiny table that preserves the teaching point (spikes, seasonality, a truncated axis crime) without production labels. The visualization series on this site already teaches chart honesty with toy data; AI assistance can use the same toy discipline.
LLM-specific risks that make pastes worse
Privacy is not the only reason to minimize. The OWASP Top 10 for Large Language Model Applications highlights failure modes that interact with careless pastes: sensitive information disclosure, prompt injection when tools can fetch or write data, excessive agency in agents (Part 6), and supply-chain risks in plugins. If you paste secrets “so the model can call the API,” you may create a disclosure event even if the SQL answer looks brilliant.
Harness thinking from Part 6 helps: tools should run with least privilege, human approval for side effects, and no standing credentials in prompts. Privacy and security are the same Monday habit from different doors.
Worked scenario: support ticket sample request
Alex needs a classifier prompt for ticket themes. Temptation: paste 50 real tickets. Safer path:
- List theme labels you already use internally (billing, shipping, bug, how-to).
- Write 12 synthetic ticket bodies that never mention real customers, addresses, or order ids from prod.
- Ask the model to draft a classification rubric and three few-shot examples using only those synthetic tickets.
- Evaluate on a private golden set inside company systems (Part 4), not by pasting more real tickets into a consumer chat.
- If a vendor needs realistic quality, use the stewardship intake card and Security path from H6, not a personal ChatGPT session.
Outcome: Alex still ships a better prompt. The difference is where real personal content lives: inside controlled systems, not inside a free-form paste history.
Common mistakes
| Mistake | Why it hurts | Better habit |
|---|---|---|
| “I only pasted ten rows” | Ten rows of emails is still personal data | Count people, not only file size |
| “I hashed the emails” | Reversible or linkable hashes still identify | Invent ids; do not decorate real ones |
| Using personal AI accounts for work data | Contract and retention may not match company policy | Approved path or synthetic only |
| Pasting secrets “temporarily” | Logs keep temporary forever enough | Never in prompts; use secret stores |
| Assuming enterprise = dump anything | Minimization still applies | Schema and samples first |
| Skipping verification after a safe paste | Wrong numbers still ship | SQL/Python checklists still run |
How to practice this week
- Write your team’s one-page paste policy in plain English: never list, approved tools, synthetic default.
- Convert one recent real paste (from memory: do not re-paste it) into a synthetic sample that would have been enough.
- Fill the synthetic sample card for your next AI-assisted SQL task before you open the tool.
- Ask Security or privacy: “What AI tools are approved for which data classes?” Write the answer where the team can find it.
- Review chat history on any personal tool you used for work. Delete what policy requires; stop the pattern.
Quick recap
- Pastes are processing decisions with vendor and policy consequences.
- Never paste secrets, payment data, government ids, or high-sensitivity personal categories into unapproved chat tools.
- Use a risk ladder: climb down toward schema, aggregates, and synthetic samples.
- Synthetic samples preserve grain and edge cases without belonging to real people.
- Run a pre-paste card; verify outputs on real systems afterward.
- This is hygiene and awareness, not legal advice. Escalate unclear cases.
What’s next
Part 8 turns AI toward documentation and data dictionaries: draft definitions at speed, then verify them like a steward so catalogs do not become confident fiction. After that, Part 9 builds a personal AI ops checklist across SQL, charts, Python, and stakeholder email, and closes the series with a full recap.
Map and related craft: Learn hub, Data stewardship, Data quality, What are LLMs?.
Sources
Research and further reading used for this article:
- EUR-Lex: GDPR official text (high-level personal data definition and principles; for counsel-led compliance, not self-diagnosis)
- European Commission: What is personal data? (plain-language overview of personal data)
- IAPP: Glossary of privacy terms (shared definitions for personal data, anonymization, pseudonymization, and related terms)
- NIST Privacy Framework (privacy risk management outcomes organizations can map to roles and processes)
- NIST: De-identification resources (limits of naive masking and re-identification risk)
- OWASP Top 10 for Large Language Model Applications (LLM risks including sensitive information disclosure, prompt injection, and excessive agency)
- NIST AI Risk Management Framework (govern, map, measure, manage language for AI risk)
- Analytics Made Simple: How to Check AI-Written SQL
- Analytics Made Simple: Data stewardship at work
Keep going
Same lessons in your feed
Short diagrams and hooks on Instagram, X, and Facebook.
