Spaces:
Running
Running
solidprivacy-nl commited on
Commit ·
837652c
1
Parent(s): 3d918b2
Record deterministic reinsert UI planning
Browse files- CHANGELOG.md +84 -1
CHANGELOG.md
CHANGED
|
@@ -26,6 +26,89 @@ For UI/UX-only work, prefer pure helper modules and tests before touching Stream
|
|
| 26 |
|
| 27 |
---
|
| 28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
## v13.3 — Deterministic reinsert helper verification reconciliation
|
| 30 |
|
| 31 |
Status: completed and formally closed after Actions/sync verification.
|
|
@@ -250,6 +333,6 @@ Outcome:
|
|
| 250 |
|
| 251 |
Possible directions:
|
| 252 |
|
| 253 |
-
- Deterministic reinsert UI
|
| 254 |
- AI-output reinsert.
|
| 255 |
- Further recognizer expansion by legal domain.
|
|
|
|
| 26 |
|
| 27 |
---
|
| 28 |
|
| 29 |
+
## v13.3 — Deterministic reinsert UI planning
|
| 30 |
+
|
| 31 |
+
Status: implemented; reinsert UI implementation can start as a separate sequential workpackage.
|
| 32 |
+
|
| 33 |
+
Purpose:
|
| 34 |
+
|
| 35 |
+
- Plan deterministic local reinsert UI before changing Streamlit UI code.
|
| 36 |
+
- Define where the UI should appear, what labels it should use, what state it should rely on, and which warnings and audit fields it must show.
|
| 37 |
+
- Keep AI-output behavior separate unless explicitly approved.
|
| 38 |
+
|
| 39 |
+
Files added or changed:
|
| 40 |
+
|
| 41 |
+
- `REINSERT_UI_SPEC.md`
|
| 42 |
+
- `WORKPACKAGES.md`
|
| 43 |
+
- `CHANGELOG.md`
|
| 44 |
+
- `handover/workpackages/20260607_1900_v13_3_reinsert_ui_planning.md`
|
| 45 |
+
|
| 46 |
+
Main planning decisions:
|
| 47 |
+
|
| 48 |
+
- Future UI block should appear after the existing Scrub Key import/reload section near the download/export area.
|
| 49 |
+
- Suggested section label: `Originele waarden terugzetten`.
|
| 50 |
+
- Suggested input label: `Plak hier de tekst waarin u originele waarden lokaal wilt terugzetten`.
|
| 51 |
+
- Suggested action button: `Zet originele waarden lokaal terug`.
|
| 52 |
+
- Suggested output label: `Herstelde tekst`.
|
| 53 |
+
- Suggested download label: `Download herstelde tekst (.txt)`.
|
| 54 |
+
- Future UI should call `reinsert_from_scrub_key(text, scrub_key)` and render the helper result instead of duplicating reinsert logic.
|
| 55 |
+
- Future UI should use a validated Scrub Key from import/reload first, or a key built from the current reviewed replacement table if no imported key exists.
|
| 56 |
+
- Reinsertion must require a separate visible user action and must not happen automatically when a Scrub Key is loaded.
|
| 57 |
+
- First UI implementation should produce restored text and `.txt` download only; no DOCX/PDF rehydration in the first UI step.
|
| 58 |
+
|
| 59 |
+
Required warnings specified:
|
| 60 |
+
|
| 61 |
+
- Reinsertion restores original sensitive values.
|
| 62 |
+
- Restored text may again contain personal or confidential information.
|
| 63 |
+
- Restored output must be manually reviewed before sharing.
|
| 64 |
+
- A Scrub Key is reversible/pseudonymization, not full anonymization.
|
| 65 |
+
- The key must remain local and protected.
|
| 66 |
+
- No AI/cloud processing is involved in the local reinsert step.
|
| 67 |
+
|
| 68 |
+
Required audit summary specified:
|
| 69 |
+
|
| 70 |
+
- mapping item count;
|
| 71 |
+
- active item count;
|
| 72 |
+
- excluded item count;
|
| 73 |
+
- replacement count;
|
| 74 |
+
- placeholders not found;
|
| 75 |
+
- unknown placeholders;
|
| 76 |
+
- duplicate placeholders;
|
| 77 |
+
- validation issues;
|
| 78 |
+
- local-only status;
|
| 79 |
+
- no-AI status;
|
| 80 |
+
- no-cloud status.
|
| 81 |
+
|
| 82 |
+
Future UI test requirements specified:
|
| 83 |
+
|
| 84 |
+
- Add a future patch test file such as `tests/test_scrub_key_reinsert_ui_patch.py`.
|
| 85 |
+
- Guard helper import, UI labels, warning text, audit fields, button-gated helper call, no AI/cloud behavior, no `st.stop()`, existing Scrub Key export, existing import/reload UI, and existing export/download markers.
|
| 86 |
+
|
| 87 |
+
Testing and validation:
|
| 88 |
+
|
| 89 |
+
- Tests: not applicable; planning/specification-only workpackage.
|
| 90 |
+
- App verification: not applicable; no UI behavior changed.
|
| 91 |
+
|
| 92 |
+
Intentionally not changed:
|
| 93 |
+
|
| 94 |
+
- No UI code changed.
|
| 95 |
+
- No direct edit to `fix_streamlit_nested_expanders.py`.
|
| 96 |
+
- No direct edit to `presidio_streamlit.py`.
|
| 97 |
+
- No tests added or changed.
|
| 98 |
+
- No AI calls.
|
| 99 |
+
- No cloud processing.
|
| 100 |
+
- No automatic document rehydration.
|
| 101 |
+
- No TXT, CSV, DOCX or PDF export behavior changed.
|
| 102 |
+
- No Scrub Key JSON export behavior changed.
|
| 103 |
+
- No Scrub Key import/reload behavior changed.
|
| 104 |
+
- No secrets, tokens or real personal data.
|
| 105 |
+
|
| 106 |
+
Outcome:
|
| 107 |
+
|
| 108 |
+
- v13.3 deterministic reinsert UI is planned and ready for a separate sequential implementation workpackage.
|
| 109 |
+
|
| 110 |
+
---
|
| 111 |
+
|
| 112 |
## v13.3 — Deterministic reinsert helper verification reconciliation
|
| 113 |
|
| 114 |
Status: completed and formally closed after Actions/sync verification.
|
|
|
|
| 333 |
|
| 334 |
Possible directions:
|
| 335 |
|
| 336 |
+
- Deterministic reinsert UI implementation.
|
| 337 |
- AI-output reinsert.
|
| 338 |
- Further recognizer expansion by legal domain.
|