DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

PerryLink /

PerryLink/dsh-dataset-card

Verified

Dataset documentation for DeepSeek Harness: bounded CSV/TSV/JSON/JSONL profiling (types, missingness, cardinality), redacted PII detection by column name and value pattern (emails, phones, national IDs, IPs), a Datasheet-style card with missing-section warnings, Markdown/JSON/SARIF output and REP evidence that stores the analysis but never the raw

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@21b9a04b

dsh-dataset-card

Publish the dataset with a Datasheet — and know where the personal data is before you do.

Profiles CSV/TSV/JSON/JSONL with a row cap, flags PII-like columns by name and redacted value patterns, refuses to store raw rows as evidence, and exports a Datasheet-style card with missing-section warnings.

License Node

English · 简体中文


What it does

  • dataset_inspect — bounded read of .csv/.tsv/.json/.jsonl: column names, inferred types, missingness, sampled cardinality, and PII findings from column names and value patterns (email, phone, national ID, IPv4, name/address/DOB/IP columns). License and ethics statements are inputs; their absence becomes an issue.
  • dataset_pii — groups the redacted findings by kind and risk and gives the next action (de-identify, restrict, record consent).
  • dataset_card — Datasheet-style card: Motivation, Composition (column table), Collection, Preprocessing, Uses, Distribution, Maintenance; missing sections are listed and become SARIF warnings.

Privacy design (deliberate)

  • Raw values never enter the output. PII evidence is redacted at the pattern level (***@***.***, 1**********, *****************).
  • Raw rows never enter the evidence store. The REP evidence is the analysis JSON; the dataset is represented by a sha256 artifact only.
  • The scan is a sample, not an audit. A clean scan is not proof of anonymity; k-anonymity, linkage and free-text fields are out of scope.

What it does not do

  • No re-identification or linkage testing.
  • No image/PDF/text-corpus datasets — tabular only.
  • No Excel/Parquet. Convert to CSV first.
  • No statistical disclosure control (generalisation, noise, k-anonymity).
  • No licence enforcement. It records what you declare.

Checks

Code Severity Meaning
no_license warning no license declared
pii_without_ethics error PII-like columns but no ethics/consent statement
duplicate_columns warning duplicate header names
scan_truncated info row cap reached (profile is a sample)
no_rows warning header but no data rows
no_columns error nothing parsed

Tools

dataset_inspect

{ path, label?, license?, ethics?, persist? } → { ok, inspection, evidenceId?, recordPath? }.

dataset_pii

{ inspection } → { ok, summary: { risk, byKind, findings, recommendations } }.

dataset_card

{ inspection, title?, description?, creators?, license?, ethics?, doi?, motivation?, composition?, collection?, preprocessing?, uses?, distribution?, maintenance? } → { ok, card, markdown, sarif }.

Error codes

INVALID_INPUT · NOT_FOUND · PATH_ESCAPE · NOT_A_FILE · TOO_LARGE · UNSUPPORTED_FORMAT · PARSE_ERROR · STORE_ERROR

Compatibility & install

DeepSeek Harness dsh-v0.2.1-rc.5 (verified 2026-11-08); peer >=0.2.1-0 <0.3.0 || >=0.2.2-0 <0.3.0
Node ^22.19.0 || >=24.9.0 (tested 24.22.1), ESM only
Peers @perrylink/dsh-research-core ^0.1.0, @deepseek-ai/cordis ^4.0.5-alpha.1, @deepseek-ai/dsh-tools, @deepseek-ai/schemastery ^3.18.5-alpha.1
Runtime dependencies zero
dsh plugin --profile <name> add @perrylink/dsh-research-core dsh-dataset-card
dsh --profile <name> --dump-config | grep dsh-dataset-card

Configuration

Key Default Meaning
enabled true false mounts nothing
root .dataset-card store/record root
workspaceRoot process.cwd() dataset paths must resolve inside it
maxBytes 20971520 file cap (fails, never truncates)
maxRows 10000 rows scanned for the profile
persist true store the analysis (not rows) as REP evidence

Security boundaries

  • Read-only on the dataset; writes only under root.
  • realpath containment; unsupported extensions rejected before reading.
  • The evidence snapshot is the analysis JSON; a test asserts the record text does not contain fixture PII.
  • Values are only ever used for pattern matching; they are not logged.

Evaluation

13 tests: quoted CSV parsing (embedded commas, escaped quotes, newlines), type inference, column profiling and missingness, PII detection by column name and value pattern with a no-leak assertion, missing-license and PII-without-ethics issues, JSON/TSV parsing, row-cap truncation, runtime (record validity, analysis-only evidence, sha256 data artifact), traversal/unsupported/oversize/parse-error/shape rejection, malformed-inspection tool guards, tool schemas, inspect→pii→card end to end, failure branches, package contract.

No benchmark is claimed: this is a rule-based profiler; its correctness is the redaction and the checks, both pinned by fixtures.

Known limitations (v0.1)

  • PII detection is pattern-based; names in free-text columns, addresses without keywords and linked quasi-identifiers can be missed.
  • Cardinality is sampled over the scan window, not the full dataset.
  • CSV parsing assumes one header row and no type metadata.
  • The card never verifies the claims you write into it.

License

Apache-2.0. No third-party runtime code.

—/ 5

No ratings yet

Verified DSH bundle

Commit 21b9a04bd3b4

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout