Agent skill

Breach Risk Assessment

by mukul975 in mukul975/Privacy-Data-Protection-Skills

Determines whether a personal data breach triggers notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology.

Apache-2.0Auto-check passedLegal & Compliance

Install Breach Risk Assessment

skills CLI
$ npx skills add mukul975/Privacy-Data-Protection-Skills --skill breach-risk-assessment -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mukul975/Privacy-Data-Protection-Skills breach-risk-assessment --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mukul975/Privacy-Data-Protection-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/privacy/breach-risk-assessment .claude/skills/breach-risk-assessment && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
breach-risk-assessment
GitHub stars
301
Token cost
~3.1k tokens
SKILL.md length
1,438 words
Files
5 (incl. scripts, references, assets)
Skills in repo
280
Repo updated
First seen
Licence
Apache-2.0

At a glance

Determines whether a personal data breach triggers notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology.

  • Works in 8 steps: Assessment metadata: Date, assessor… → Breach description: Factual summary of… → CIA classification: Which type(s) of… → …
  • Notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology
  • SKILL.md covers Overview, Breach Type Classification…, Risk Assessment Methodology and Scoring Matrix and Thresholds, plus 3 more sections
  • Runs Python scripts from its folder

What it does

Breach Risk Assessment is an agent skill from mukul975/Privacy-Data-Protection-Skills. Determines whether a personal data breach triggers notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology. Covers breach type classification (CIA triad), data sensitivity scoring, volume assessment, identifiability analysis, and consequence severity evaluation. References EDPB Guidelines 01/2021 with 18 breach scenarios. Keywords: breach risk assessment, GDPR, Article 33, Article 34, EDPB, notification threshold.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts, reference files and assets (for example `assets/template.md`, `references/standards.md` and `references/workflows.md`).

It sits in Legal & Compliance, covering Privacy and GDPR. The repository describes itself as: 282+ structured privacy & data protection skills for AI agents. GDPR, CCPA, EU AI Act, HIPAA, LGPD, PIPL, DPDP Act. The licence is Apache-2.0.

When your agent uses it

  • Notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology
  • Tasks that involve Privacy and GDPR

Example prompts

  • “Use the breach-risk-assessment skill to determine whether a personal data breach triggers notification obligations under GDPR Articles 33 and 34…”
  • “/breach-risk-assessment”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Assessment metadata: Date, assessor name, breach reference number, version
  2. Breach description: Factual summary of what occurred
  3. CIA classification: Which type(s) of breach
  4. Factor-by-factor scoring: Each factor scored with written justification
  5. Aggregate score and threshold determination: Which notification obligations apply
  6. DPO recommendation: DPO's concurrence or dissent with the assessment
  7. Management decision: Final notification decision with sign-off
  8. Re-assessment trigger: Conditions that would require re-scoring (e.g., exfiltration later confirmed)

What it can do on your machine

Read from SKILL.md and the folder at commit 9b2ef9e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Breach Risk Assessment loads about 3.1k tokens when it runs, and up to ~6.3k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 1,438 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~121
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from mukul975/Privacy-Data-Protection-Skills at commit 9b2ef9e, republished under its Apache-2.0 licence (© mukul975). 1,438 words, ~3,140 tokens.

Download SKILL.mdSave it as .claude/skills/breach-risk-assessment/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
breach-risk-assessment
description
Determines whether a personal data breach triggers notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology. Covers breach type classification (CIA triad), data sensitivity scoring, volume assessment, identifiability analysis, and consequence severity evaluation. References EDPB Guidelines 01/2021 with 18 breach scenarios. Keywords: breach risk assessment, GDPR, Article 33, Article 34, EDPB, notification threshold.
license
Apache-2.0
metadata.author
mukul975
metadata.version
1.0
metadata.domain
privacy
metadata.subdomain
data-breach-response
metadata.tags
breach-risk-assessment, gdpr, article-33, article-34, edpb, cia-triad

Conducting Breach Risk Assessment

Overview

When a personal data breach occurs, the controller must assess whether the breach is "likely to result in a risk to the rights and freedoms of natural persons" (Art. 33(1)) to determine whether supervisory authority notification is required, and whether it is "likely to result in a high risk" (Art. 34(1)) to determine whether data subject notification is required. This skill provides a structured, repeatable methodology based on EDPB Guidelines 9/2022 and Guidelines 01/2021.

Breach Type Classification (CIA Triad)

Every breach must first be classified according to the type of security compromise:

Confidentiality Breach

Unauthorized or accidental disclosure of, or access to, personal data.

ScenarioSeverity Indicator
Email containing 50 customer records sent to wrong internal departmentLow — limited exposure, same organization
Database export of 200,000 records posted on public file-sharing serviceSevere — mass exposure, publicly accessible
Employee accesses medical records of a colleague without authorizationMedium — limited scope but sensitive data
Backup tape containing unencrypted payroll data lost during transportHigh — financial data, unknown accessor
Integrity Breach

Unauthorized or accidental alteration of personal data.

ScenarioSeverity Indicator
Malware modifies patient medication dosages in a clinical databaseSevere — potential physical harm
Software bug overwrites postal codes in 5,000 customer recordsLow — non-sensitive field, reversible from backup
Unauthorized modification of employee performance review scoresMedium — potential employment consequences
SQL injection alters financial transaction recordsHigh — financial integrity compromised
Availability Breach

Accidental or unauthorized loss of access to, or destruction of, personal data.

ScenarioSeverity Indicator
Ransomware encrypts the HR system for 48 hours; clean backup restoredMedium — temporary unavailability, data recovered
Fire destroys the only copy of archived patient recordsSevere — permanent loss, healthcare impact
DDoS attack renders the customer portal unavailable for 6 hoursLow — temporary, no data loss or compromise
Cryptographic key destruction makes encrypted dataset permanently unreadableSevere — irreversible data loss

Risk Assessment Methodology

Factor 1: Data Sensitivity (Weight: High)
ScoreCriteriaExamples
1 — LowNon-sensitive data already in the public domain or easily obtainableBusiness contact details, publicly listed addresses
2 — MediumPersonal data that could cause minor inconvenience if disclosedEmail addresses, phone numbers, purchase history
3 — HighSensitive personal data or data with significant impact potentialFinancial account details, government ID numbers, employment records
4 — SevereSpecial category data (Art. 9), criminal conviction data (Art. 10), or data enabling significant harmHealth records, biometric data, genetic data, sexual orientation, political opinions
Factor 2: Volume of Affected Data Subjects
ScoreData Subject CountRationale
1Fewer than 100Limited scale — individual assessment feasible
2100 to 1,000Moderate scale — structured response required
31,000 to 100,000Large scale — significant organizational impact
4More than 100,000Mass scale — potential for widespread societal impact
Factor 3: Ease of Identification
ScoreCriteria
1Data is pseudonymized or encrypted; re-identification requires additional data held separately and securely
2Data contains indirect identifiers only; re-identification possible with moderate effort
3Data contains direct identifiers (name + one other element); individuals readily identifiable
4Data contains multiple direct identifiers, photographs, or biometric data; immediate identification possible
Factor 4: Consequence Severity
ScorePotential Consequences
1Minor inconvenience — e.g., receiving unsolicited marketing, needing to change a password
2Moderate impact — e.g., targeted phishing risk, minor financial exposure, reputational inconvenience
3Significant impact — e.g., identity theft risk, substantial financial loss, employment consequences, discrimination risk
4Severe impact — e.g., physical safety threat, significant financial fraud, denial of essential services, threat to life
Factor 5: Individual Characteristics
ScoreCriteria
1General adult population with no heightened vulnerability
2Population includes some individuals in dependent relationships (employees, tenants)
3Population includes elderly, financially vulnerable, or individuals in unequal power dynamics
4Population includes minors, patients, asylum seekers, or individuals whose safety depends on data confidentiality
Factor 6: Controller-Specific Factors
ScoreCriteria
1Controller processes personal data as an ancillary activity (e.g., office administration)
2Controller processes personal data as a core activity for service delivery
3Controller is in a position of trust (financial institution, healthcare provider, education)
4Controller processes data at scale as a core business (data broker, payment processor, social media platform)

Scoring Matrix and Thresholds

Aggregate ScoreRisk LevelArt. 33 SA NotificationArt. 34 DS NotificationRequired Action
6-8Unlikely to result in riskNot requiredNot requiredDocument in Art. 33(5) breach register only
9-12Risk present but below high thresholdRequired within 72 hoursNot requiredNotify supervisory authority; document fully
13-18Likely to result in risk, approaching highRequired within 72 hoursRecommendedNotify SA; strongly consider DS notification
19-24Likely to result in high riskRequired within 72 hoursRequired without undue delayNotify both SA and data subjects

EDPB Breach Scenario Analysis (Guidelines 01/2021)

Scenario 1: Ransomware with Backup Available
  • Facts: Hospital hit by ransomware. Patient data encrypted. Clean backup restored within 24 hours. No evidence of exfiltration.
  • Classification: Availability breach.
  • Risk assessment: Data sensitivity = 4 (health data), Volume = 3 (2,500 patients), Identifiability = 4, Consequences = 3 (delayed treatment), Vulnerable = 4 (patients), Controller = 3 (healthcare). Total = 21.
  • EDPB conclusion: Notify SA and data subjects. Even though backup was available, the temporary unavailability of health data during the 24-hour restoration window posed high risk to patient safety.
Show full SKILL.md (577 more words)Show less
Scenario 2: Ransomware Without Backup
  • Facts: Small manufacturing company hit by ransomware. Employee payroll data permanently lost. No backup exists.
  • Classification: Availability breach (permanent).
  • Risk assessment: Data sensitivity = 3, Volume = 1 (45 employees), Identifiability = 4, Consequences = 3, Vulnerable = 2, Controller = 2. Total = 15.
  • EDPB conclusion: Notify SA and data subjects. Permanent loss of payroll data directly impacts employees' financial interests.
Scenario 3: Data Exfiltration from Website
  • Facts: SQL injection attack extracts usernames, hashed passwords, and email addresses of 1.2 million registered users from an e-commerce platform.
  • Classification: Confidentiality breach.
  • Risk assessment: Data sensitivity = 2, Volume = 4, Identifiability = 3, Consequences = 2, Vulnerable = 1, Controller = 3. Total = 15.
  • EDPB conclusion: Notify SA and data subjects. The combination of email addresses with hashed passwords enables credential-stuffing attacks against other services.
Scenario 4: Misdirected Email (Single Recipient)
  • Facts: HR department sends a single employee's salary slip to the wrong internal colleague by email. Error discovered within 10 minutes. Recipient confirms deletion.
  • Classification: Confidentiality breach.
  • Risk assessment: Data sensitivity = 3, Volume = 1, Identifiability = 4, Consequences = 1, Vulnerable = 2, Controller = 1. Total = 12.
  • EDPB conclusion: Notify SA (marginal). No DS notification required. The breach is contained, the recipient is known and cooperative, and financial data exposure is limited.
Scenario 5: Lost Unencrypted USB Drive
  • Facts: Employee loses an unencrypted USB drive containing names, addresses, and national insurance numbers of 3,500 pension scheme members.
  • Classification: Confidentiality breach.
  • Risk assessment: Data sensitivity = 3, Volume = 3, Identifiability = 4, Consequences = 3, Vulnerable = 3 (elderly/retirees), Controller = 3. Total = 19.
  • EDPB conclusion: Notify SA and data subjects. Government identifiers combined with vulnerable population (retirees) creates high identity theft risk.
Scenario 6: Accidental Publication of Student Grades
  • Facts: University accidentally publishes exam results with student names on a publicly accessible web page for 36 hours before removal.
  • Classification: Confidentiality breach.
  • Risk assessment: Data sensitivity = 2, Volume = 2 (800 students), Identifiability = 4, Consequences = 2, Vulnerable = 2, Controller = 3 (education). Total = 15.
  • EDPB conclusion: Notify SA and data subjects. Academic performance data linked to names, public exposure for 36 hours, potential impact on students' academic and professional prospects.

Assessment Documentation Requirements

Every breach risk assessment must be documented with the following elements:

  1. Assessment metadata: Date, assessor name, breach reference number, version
  2. Breach description: Factual summary of what occurred
  3. CIA classification: Which type(s) of breach
  4. Factor-by-factor scoring: Each factor scored with written justification
  5. Aggregate score and threshold determination: Which notification obligations apply
  6. DPO recommendation: DPO's concurrence or dissent with the assessment
  7. Management decision: Final notification decision with sign-off
  8. Re-assessment trigger: Conditions that would require re-scoring (e.g., exfiltration later confirmed)

Common Assessment Errors

  1. Underscoring consequences because exfiltration is "unconfirmed": The absence of evidence of exfiltration is not evidence of absence. Score consequences based on what could happen if the data is in unauthorized hands.
  2. Treating encrypted data as automatically low-risk: Encryption is only mitigating if the encryption keys were not also compromised and the encryption standard is robust (AES-256 or equivalent).
  3. Aggregating multiple small breaches: Recurrent similar breaches (e.g., repeated misdirected emails) may indicate a systemic issue that elevates the aggregate risk beyond what each individual incident would suggest.
  4. Ignoring availability breaches: Temporary loss of access to health records, financial data, or safety-critical information can cause harm even if confidentiality is not compromised.
  5. Applying the 250-employee exemption to notification: Art. 30(5) provides a limited RoPA exemption for small organizations, but there is no such exemption for Art. 33/34 breach notification obligations.

© mukul975, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts, references, assets) in skills/privacy/breach-risk-assessment of mukul975/Privacy-Data-Protection-Skills.

  • SKILL.md
  • assets/template.md
  • references/standards.md
  • references/workflows.md
  • scripts/process.py

Open the folder on GitHubat commit 9b2ef9e

Compare with similar skills

Breach Risk Assessment next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Breach Risk Assessment compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Breach Risk Assessment this skillmukul975/Privacy-Data-Protection-Skills301—~3.1kAutomated safety check: PassApache-2.0
C15tc15t/c15t1.9k1 repos~1.6kAutomated safety check: PassApache-2.0
HIPAA Safe Harbor Coverage Auditmaziyarpanahi/openmed5.5k—~1.7kAutomated safety check: PassApache-2.0
Korean Privacy Termskimlawtech/korean-privacy-terms587—~2.9kAutomated safety check: PassApache-2.0
Gdpr ComplianceSushegaad/Claude-Skills-Governance-Risk-and-Compliance9461 repos~3.9kAutomated safety check: PassMIT
Hipaa ComplianceSushegaad/Claude-Skills-Governance-Risk-and-Compliance9461 repos~2.3kAutomated safety check: PassMIT

Similar skills

  • C15t

    c15t/c15t

    Work with c15t consent management docs, APIs, and integrations for Next.js, React, and JavaScript.

    1.9k GitHub starsUsed in 1 repo~1.6k tokens
    Legal & ComplianceAuto-check passed
  • Checks OpenMed de-identified clinical text against the 18 HIPAA Safe Harbor identifier categories and reports gaps and residual re-identification risk.

    5.5k GitHub stars~1.7k tokensUpdated today
    Legal & ComplianceAuto-check passed
  • Korean Privacy Terms

    kimlawtech/korean-privacy-terms

    처리방침·이용약관 자동 생성 스킬 패키지 (v4.0). An agent skill from kimlawtech/korean-privacy-terms.

    587 GitHub stars~2.9k tokensUpdated 1 mo ago
    Legal & ComplianceAuto-check passed
  • Gdpr Compliance

    Sushegaad/Claude-Skills-Governance-Risk-and-Compliance

    Expert GDPR compliance assistant covering all four core workflows: (1) auditing code and systems for GDPR violations, (2) drafting GDPR-compliant documents such as privacy policies, Data Processing…

    946 GitHub starsUsed in 1 repo~3.9k tokens
    Legal & ComplianceAuto-check passed
  • Hipaa Compliance

    Sushegaad/Claude-Skills-Governance-Risk-and-Compliance

    Expert HIPAA compliance assistant for healthcare and software contexts.

    946 GitHub starsUsed in 1 repo~2.3k tokens
    Legal & ComplianceAuto-check passed
  • Pii Contract Analyze

    gregmos/PII-Shield

    Universal legal document processor with PII anonymization. An agent skill from gregmos/PII-Shield.

    150 GitHub stars~8.9k tokensUpdated 3 mo ago
    Legal & ComplianceAuto-check: notes

More from mukul975/Privacy-Data-Protection-Skills

All 280 skills in this repo
  • Age Gating Services

    mukul975/Privacy-Data-Protection-Skills

    Implements age-gating mechanisms for online services to restrict access based on user age.

    301 GitHub stars~3.7k tokensUpdated 6 mo ago
    Auto-check passed
  • AI Data Retention

    mukul975/Privacy-Data-Protection-Skills

    Manages AI model retention and machine unlearning requirements.

    301 GitHub stars~1.9k tokensUpdated 6 mo ago
    Auto-check passed
  • AI Dpia

    mukul975/Privacy-Data-Protection-Skills

    Conducts Data Protection Impact Assessments for AI and ML systems per EDPB Guidelines 04/2025 on AI processing.

    301 GitHub stars~3.4k tokensUpdated 6 mo ago
    Auto-check passed
  • Dpia Mitigation Plan

    mukul975/Privacy-Data-Protection-Skills

    Structures risk mitigation planning and residual risk tracking for Data Protection Impact Assessments under GDPR Article 35(7)(d).

    301 GitHub stars~846 tokensUpdated 6 mo ago
    Auto-check passed
  • Gdpr Accountability

    mukul975/Privacy-Data-Protection-Skills

    Guides implementation of the GDPR accountability principle under Articles 5(2) and 24, including documentation requirements for policies, DPIAs, RoPA, training records, and breach logs.

    301 GitHub stars~1.9k tokensUpdated 6 mo ago
    Auto-check passed
  • Pia Threshold Screening

    mukul975/Privacy-Data-Protection-Skills

    Conducts pre-DPIA threshold screening to determine whether a full Data Protection Impact Assessment is required under GDPR Article 35.

    301 GitHub stars~880 tokensUpdated 6 mo ago
    Auto-check passed

Questions about Breach Risk Assessment

What does Breach Risk Assessment do?

Determines whether a personal data breach triggers notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology. Breach Risk Assessment is an agent skill from mukul975/Privacy-Data-Protection-Skills. Determines whether a personal data breach triggers notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology.

When should I use Breach Risk Assessment?

Breach Risk Assessment fits situations like: notification obligations under GDPR Articles 33 and 34 using structured risk assessment methodology; tasks that involve Privacy and GDPR.

How do I install Breach Risk Assessment in Claude Code?

Run `npx skills add mukul975/Privacy-Data-Protection-Skills --skill breach-risk-assessment -a claude-code`. Or copy the skill folder (skills/privacy/breach-risk-assessment in mukul975/Privacy-Data-Protection-Skills) into .claude/skills/breach-risk-assessment in your project. Claude Code loads it when a task matches its description.

How do I install Breach Risk Assessment in Codex?

Run `npx skills add mukul975/Privacy-Data-Protection-Skills --skill breach-risk-assessment -a codex`. Or copy the skill folder (skills/privacy/breach-risk-assessment in mukul975/Privacy-Data-Protection-Skills) into .agents/skills/breach-risk-assessment in your project. Codex loads it when a task matches its description.

Can I use Breach Risk Assessment in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mukul975/Privacy-Data-Protection-Skills --skill breach-risk-assessment -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/breach-risk-assessment, .gemini/skills/breach-risk-assessment, .github/skills/breach-risk-assessment and .opencode/skills/breach-risk-assessment in your project.

What does Breach Risk Assessment need to run?

Going by SKILL.md and its folder, Breach Risk Assessment needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Breach Risk Assessment access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Breach Risk Assessment safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Breach Risk Assessment use?

Breach Risk Assessment is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Breach Risk Assessment use?

About 3.1k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.1k tokens, read only when the agent opens those files.

What are the alternatives to Breach Risk Assessment?

Skills that share tags, products or a category with Breach Risk Assessment: C15t (c15t/c15t, 1.9k stars), HIPAA Safe Harbor Coverage Audit (maziyarpanahi/openmed, 5.5k stars), Korean Privacy Terms (kimlawtech/korean-privacy-terms, 587 stars) and Gdpr Compliance (Sushegaad/Claude-Skills-Governance-Risk-and-Compliance, 946 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Breach Risk Assessment?

mukul975 (a GitHub user) maintains it in mukul975/Privacy-Data-Protection-Skills, which has 301 GitHub stars. The repository holds 280 skills in this directory. The repository was last updated on March 16, 2026.

Source: mukul975/Privacy-Data-Protection-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.