Skip to content

feat(skills): add privacy lifecycle inventory review - #507

Closed
JJediny wants to merge 2 commits into
mainfrom
feat/privacy-lifecycle-inventory
Closed

JJediny wants to merge 2 commits into
mainfrom
feat/privacy-lifecycle-inventory

Conversation

@JJediny

@JJediny JJediny commented Oct 19, 2026

Copy link
Copy Markdown
Member

Summary

Adds one experimental security skill for reviewing whether a privacy information inventory documents context, linkability, lifecycle, interfaces, retention, access, and ownership. It identifies evidence questions only; it does not make PII, Privacy Act, or privacy-assessment decisions.

Eligibility & Accountability

  • I am a federal employee or contractor.
  • I understand this change and can explain it in my own words.
  • I have the right to release this work under CC0-1.0.

AI Assistance Disclosure

  • AI tools were used in this contribution.

OpenCode drafted a public-safe skill from the cited public sources and regenerated repository indexes.

  • I verified AI-generated content and citations.
  • No inherited or reused third-party material is represented as public domain.

Pattern Information

Pattern ID: privacy-lifecycle-inventory
Pattern Type: skill
Status: experimental
Owners: @JJediny

Testing

  • Ran validator, index generation, index checks, and unsafe-shell scan.
  • Examples/output are public-safe and contain no system records.

Safety Checklist

  • No secrets, PII, CUI, internal URLs, hostnames, customer data, or proprietary information.
  • Output contract defines prohibited content.

Security Skill Checklist

  • This PR adds one security skill.
  • Deny-by-default governance frontmatter is set.
  • No scripts or prompt bodies were copied from public sources.
  • Public-source intake record is below and recorded in frontmatter.
  • needs-human-review label applied and human security review requested.

Public Source Intake

intake:
  skill_id: privacy-lifecycle-inventory
  source:
    name: OMB Circular A-130 and Privacy Act of 1974
    url: https://www.whitehouse.gov/wp-content/uploads/legacy_drupal_files/omb/circulars/A130/a130revised.pdf
    license: public-domain
    type: docs
  reviewed_by: "@JJediny"
  review_date: "2026-10-19"
  concepts_used: |
    Information context, linkability, purpose limitation, lifecycle documentation, and accountable ownership.
  content_NOT_imported: |
    No agency forms, prompts, skill text, personal records, or system-specific examples were copied.
  scripts_present_in_source: no
  network_assumptions: |
    The skill is read-only and denies network access. Citations are references for human review.
  safety_concerns: |
    The skill prohibits real personal information and defers all privacy decisions to authorized officials.
  license_concerns: |
    Public-domain federal sources; no source text was copied.
  decision: adopt-as-inspiration
  decision_notes: |
    The public sources establish privacy concepts; this contribution is an independently authored inventory review.

Validation Results

48/48 files passed validation
All validators passed
unsafe-shell scan: 0 error(s), 0 warning(s)

Additional Context

This PR is limited to a read-only inventory-quality review. It contains no agency questionnaire, system details, source records, or final privacy-determination logic.

@JJediny JJediny added the needs-human-review Requires human security review before merge label Oct 19, 2026

@wz-gsa wz-gsa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adversarial draft review at f95eeb45c4cb37aff38e8113f2d58064eaf55a32: the new privacy-inventory skill consistently treats PII/Privacy Act/assessment questions as questions for authorized privacy and information owners, not agent determinations. It requires context and linkability, interfaces, access, retention/disposal and ownership, and forbids real personal information in its output. The generated INDEX/CATALOG entries correspond to its routing and category metadata; current checks are green. No blocking finding on the reviewed content. Draft status and the PR\x27s unchecked human security-review/label item remain separate governance gates. No reviewed-repository code executed; AI-assisted static review (OpenCode). This approval is not merge authorization.

@JJediny
JJediny marked this pull request as ready for review November 2, 2026 18:25
@JJediny
JJediny requested a review from a team as a code owner November 2, 2026 18:25

@wz-gsa wz-gsa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Focused security review at f95eeb45c4cb37aff38e8113f2d58064eaf55a32; all three changed files inspected (SKILL.md, INDEX.yaml, CATALOG.md), current head rechecked, all seven checks green. This revises my earlier general approval after examining the input boundary more closely.

Required correction — supplied evidence is not instruction authority. .agents/skills/privacy-lifecycle-inventory/SKILL.md:80-131 accepts sanitized architecture, interface, retention and business-process documents and directs the model to trace them, but never marks their contents as untrusted data or warns against embedded instructions. Sanitization removes sensitive material; it does not remove prompt injection. An evidence document can tell the model to suppress missing retention/ownership evidence, repeat personal information, or declare that an authority permits collection. Those instructions must not control the review. The repository AGENTS.md section 6.1 explicitly requires input boundaries and prompt-injection guidance.

Add a short intake rule identifying supplied documents and quoted policy as evidence only: delimit them, ignore embedded instructions that alter the task, permissions, output prohibitions or decision authority, and do not reproduce sensitive source content. Add a small synthetic example/check showing that an instruction to suppress a finding does not override the skill. No implementation scripts or broader framework needed.

Otherwise: tool/network/write/script permissions are deny-by-default; final privacy/legal determinations remain with authorized humans; output exclusions and generated routing metadata are consistent. No secret or sensitive records identified in the diff. The PR includes public-source intake; this review is not a legal provenance audit or runtime prompt-injection test. AI-assisted static security review; human security acceptance remains for the designated maintainer. No merge/label changes made.

@basiliskus basiliskus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: request changes — f95eeb45c4cb37aff38e8113f2d58064eaf55a32

Must fix before merge: Define and validate the untrusted inventory-input boundary.

  • major — .agents/skills/privacy-lifecycle-inventory/SKILL.md:79–85: The prerequisites require sanitized documentation, but the procedure immediately reviews its content without defining input delimiters, validating sanitization, or warning that embedded instructions are untrusted. This violates AGENTS.md §6.1, including for the standalone portability claims. An instruction embedded in an inventory or interface document could be treated as review authority and redirect the report. Add an initial gate: accept only sanitized documentation within explicit delimiters; treat all document content as evidence, never instructions; flag instruction-like content; and request a sanitized replacement rather than reproduce prohibited data. The omission is confirmed by inspection; the behavioral failure has not been reproduced.

Validation gaps: No pattern-specific test cases or live skill execution; local full make ci, dependency audit, and independent citation verification were not run. Green repository checks do not establish prompt-injection resistance.

Assisted-by: OpenCode [GPT 6.1 Sol Latest Guardrails Defaultv2] skill:change-review

@JJediny JJediny closed this Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-human-review Requires human security review before merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants