Skip to content

Commit 965a994

Browse files
committed
docs: rewrite README in plain prose (drop AI boilerplate)
1 parent 111a9ae commit 965a994

1 file changed

Lines changed: 19 additions & 22 deletions

File tree

README.md

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
1-
# DataTrust Gate
1+
## DataTrust Gate: a bounded PII and governance checker for release datasets
22

3-
![DataTrust Gate release-audit visual](public/og.png)
3+
This tool checks local CSV or JSON files (flat, no nested trees) and outputs one of
4+
three decisions — `BLOCK`, `WARN`, or `PASS` — along with masked evidence,
5+
suggested remediation steps, reproducible content hashes, and downloadable JSON and
6+
Markdown result files. The application is deliberately simple: it runs in the browser,
7+
parsing and evaluating the input file without uploading data anywhere; only a fixed‑size JSON payload (no raw rows) leaves the client and lands in `/api/audit` on the same host, where it is stored temporarily just long enough to be processed.
48

5-
**An evidence-led release auditor for bounded AI dataset candidates.**
9+
The detector rules are intentionally narrow: Email and Malaysian NRIC patterns, NRIC-adjacent mobile numbers, IPv4 literals, exact record duplicates, near-duplicates by token Jaccard similarity, same-record content across splits, identical feature vectors paired with different labels, class imbalance, missing or unverifiable license/provenance metadata.
610

7-
I built DataTrust Gate to inspect a local CSV or flat JSON file and return a
8-
`BLOCK`, `WARN`, or `PASS` decision with masked evidence, practical remediation,
9-
stable hashes, and downloadable JSON and Markdown data cards.
11+
This is a student prototype. I did not build it for any organization, certification, or legal
12+
claim — just as an experiment to demonstrate where data might leak PII or violate
13+
governance boundaries before training. It is not endorsed by nor affiliated with the Sarawak
14+
Artificial Intelligence Centre, MOSTI, NIST, W3C, or the ICO. Those external references are cited only for context:
1015

11-
It is an independent student engineering prototype. It is not affiliated with or endorsed by the Sarawak Artificial Intelligence Centre, MOSTI, NIST, W3C, or the ICO.
16+
- [NIST AI Resource Center](https://airc.nist.gov/) has material on testing, evaluation, verification and validation of ML models;
17+
- Malaysia's [National Guidelines on AI Governance and Ethics](https://www.mosti.gov.my/wp-content/uploads/2024/09/NATIONAL-GUIDELINES-OF-AIGE-20241118.pdf) emphasises privacy safeguards, transparency, reproducibility and accountability;
18+
- The [W3C Data Quality Vocabulary](https://www.w3.org/TR/vocab-dqv/) gives a pattern for recording data-quality observations; and
19+
- [ICO pseudonymisation guidance](https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/data-sharing/anonymisation/pseudonymisation/) distinguishes masking from anonymisation and flags residual re‑identification risk.
1220

13-
## Why this exists
14-
15-
Model evaluation can become unreliable before training starts. Direct identifiers can enter a release, duplicates can overweight examples, related records can cross train/test boundaries, identical features can receive conflicting labels, and usage rights can remain undocumented.
16-
17-
This project makes those risks visible through deterministic, inspectable checks rather than presenting an unexplained “AI quality score.” Its direction is informed by:
18-
19-
- [NIST AI Resource Center](https://airc.nist.gov/) material on operational testing, evaluation, verification, and validation;
20-
- Malaysia's [National Guidelines on AI Governance and Ethics](https://www.mosti.gov.my/wp-content/uploads/2024/09/NATIONAL-GUIDELINES-OF-AIGE-20241118.pdf), particularly its emphasis on privacy safeguards, transparency, reproducibility, and accountability;
21-
- the [W3C Data Quality Vocabulary](https://www.w3.org/TR/vocab-dqv/) approach to expressing data-quality observations and measurements; and
22-
- [ICO pseudonymisation guidance](https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/data-sharing/anonymisation/pseudonymisation/), which distinguishes masking or pseudonymisation from anonymisation and notes residual re-identification risk.
23-
24-
“Informed by” does not mean compliant with, certified by, or formally assessed against those sources.
21+
"Informed by" here is plain — I looked at those sources when defining the scope. They are not certification or legal obligations for this tool.
2522

2623
## Implemented checks
2724

@@ -38,7 +35,7 @@ This project makes those risks visible through deterministic, inspectable checks
3835

3936
Regex, rule, and statistical checks can produce both false positives and false negatives. They do not determine consent, ownership, fairness, representativeness, fitness for purpose, or legal compliance.
4037

41-
## Privacy and storage boundary
38+
## Privacy and storage boundary notes
4239

4340
- The selected file is parsed in the browser. Raw file text is not uploaded as a file or stored by the application.
4441
- Parsed rows remain in React memory until the user clears them, replaces them, navigates away, or closes the page.
@@ -105,7 +102,7 @@ These results describe only the maintained synthetic examples. They are not evid
105102

106103
## Run locally
107104

108-
Requirements: Node.js 22.13 or newer.
105+
Requirements: Node.js 22.13 or newer, npm.
109106

110107
```bash
111108
npm ci
@@ -120,7 +117,7 @@ The application contains a “known-defect demo” that uses only synthetic valu
120117
npm run check
121118
```
122119

123-
The check runs ESLint, TypeScript, 16 detector/parser/report unit tests, a production vinext/Cloudflare Worker build, and six server-render/API integration tests. GitHub Actions runs the same command on Node.js 22.
120+
The check runs ESLint, TypeScript, 16 detector/parser/report unit tests, a production vinext/Cloudflare Worker build, and six server-render/API integration tests. GitHub Actions also runs the same command against Node.js 22 in CI.
124121

125122
## Architecture
126123

0 commit comments

Comments
 (0)