scrub / EXPORT_DOWNLOAD_UX_CONTRACTS.md
solidprivacy-nl
Add export download UX contract specification
e029fb4
|
Raw
History Blame Contribute Delete
3.94 kB
# Export/download UX contracts
Workpackage: `WP_EXPORT_DOWNLOAD_UX_CONTRACT_TESTS`
Repository: `solidprivacy-nl/scrub`
Status: tests/documentation-only.
This document records the contract for the professional export/download UX redesign before implementation.
---
## 1. Purpose
The export/download UX may be grouped and renamed, but export semantics must stay unchanged unless a later approved implementation package explicitly changes them.
The contract protects these boundaries:
```text
Export UX is grouped but semantics stay unchanged.
Scrub Key is separate and visibly sensitive.
Audit/technical downloads remain available but secondary.
Debug labels are planned for cleanup.
Implementation requires separate package.
```
---
## 2. Required export groups
The planned export/download section must separate:
```text
Document downloaden
Scrub Key
Audit en technische bestanden
```
Meaning:
- normal document outputs belong under `Document downloaden`;
- Scrub Key belongs in its own visibly warned section;
- audit/technical files remain available but move to a secondary/audit layer.
---
## 3. Primary and secondary outputs
Primary/normal document outputs:
```text
Opgeschoonde tekst (.txt)
Word-document (.docx)
PDF (.pdf)
```
Secondary/audit outputs:
```text
Vervangtabel (.csv)
Scrubrapport (.txt)
DOCX hygiene audit
Geavanceerde technische informatie
```
The contract is about grouping and hierarchy. It does not approve a change to download bytes, filenames, MIME types or availability.
---
## 4. Export semantics boundary
No export semantics change is approved by this contract package.
The redesign must not change:
```text
filenames
MIME types
payloads
export eligibility
Scrub Key contents
report contents
```
The current implementation package must only be allowed to group/label existing downloads unless a later package explicitly approves an export-behavior change.
---
## 5. Scrub Key safety
The Scrub Key must be clearly separated from normal document downloads.
Scrub Key is sensitive because it can restore original values.
The future UI must include a separate warning near the Scrub Key download.
Required concepts:
```text
Scrub Key clearly separated
Scrub Key is sensitive
can restore original values
separate warning
```
---
## 6. Audit and technical details remain available
Audit and technical details must not disappear.
They should become secondary layers such as:
```text
Audit en risico’s
Geavanceerd
Audit en technische bestanden
Geavanceerde technische informatie
```
The implementation may make these details calmer or collapsed by default, but it must not remove them.
---
## 7. Planned debug/prototype copy cleanup
The direction is locked by contract tests:
```text
Serial review — experimentele reviewhulp -> Stap voor stap controleren
Download opgeschoonde bestanden -> Exporteer resultaat
Technische details bij de vervangtabel -> Geavanceerde details bij de vervangtabel
Technische herkenningen -> Geavanceerde herkenningsdetails
```
These are planning contracts only. They are not implemented in this package.
---
## 8. Follow-up implementation route
Implementation sequence:
```text
WP_EXPORT_DOWNLOAD_UX_CONTRACT_TESTS
WP_EXPORT_DOWNLOAD_UX_IMPLEMENTATION
WP_REVIEW_DEBUG_ELEMENTS_COLLAPSE_PLAN
WP_REVIEW_DEBUG_ELEMENTS_COLLAPSE_IMPLEMENTATION
WP_REVIEW_COPY_POLISH_IMPLEMENTATION
WP_MVP_UI_APP_VERIFICATION_CLOSEOUT
```
The immediate next implementation package is:
```text
WP_EXPORT_DOWNLOAD_UX_IMPLEMENTATION
```
Do not start it automatically.
---
## 9. Explicit non-goals
```text
No Streamlit implementation.
No export payload change.
No Scrub Key change.
No reinsert change.
No recognizer/benchmark change.
No product claim.
No threshold enforcement.
No production gate.
```
No product UI implementation is approved by this contract package. The implementation requires a separate workpackage and must preserve export semantics.