diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b937ac..7061e58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ Version numbers follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html ## [Unreleased] +--- + +## [1.7.0] — 2026-06-10 + ### Added - **PDF redaction for local files** — the ✂ redact button now works on local PDF files in addition to DOCX, XLSX, CSV, and TXT. Text-based PDFs are redacted using PyMuPDF's physical redaction (`page.apply_redactions()`), which removes the underlying text data from the PDF stream — not just paints over it. Scanned/image-based PDFs go through the OCR bbox path: CPR positions are found via Tesseract then physically painted and sanitised. Falls back to a reportlab overlay if PyMuPDF is not installed; raises a clear error if both libraries are absent. diff --git a/VERSION b/VERSION index 10010a4..bd8bf88 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.6.28 +1.7.0 diff --git a/docs/manuals/MANUAL-DA.md b/docs/manuals/MANUAL-DA.md index 5520ec5..86b8854 100644 --- a/docs/manuals/MANUAL-DA.md +++ b/docs/manuals/MANUAL-DA.md @@ -1,6 +1,6 @@ # GDPR Scanner — Brugermanual -Version 1.6.28 +Version 1.7.0 --- @@ -294,7 +294,7 @@ Klik på **Gem** efter valget. En lille **✓ Gemt**-bekræftelse vises. ### Redigér en fil på stedet -En **✂**-knap vises på resultatkort, hvor scanneren kan overskrive filen direkte. Klikker du på den, erstattes alle CPR-numre med `██████-████`-blokke, kortet fjernes fra gitteret, og handlingen registreres som en `"redacted"`-disposition. Brug denne mulighed, når du ønsker at anonymisere en fil frem for at slette den helt. +En **✂**-knap vises på resultatkort, hvor scanneren kan overskrive filen direkte. Klikker du på den, erstattes alle CPR-numre med `██████-████`-blokke, og handlingen registreres som en `"redacted"`-disposition. Kortet **bevares i gitteret indtil din næste scanning** — det vises nedtonet med et grønt **✏ Redigeret**-mærke, og dets handlingsknapper skjules, så det ikke kan behandles igen. På den måde kan du let se, hvad du har håndteret i sessionen; gitteret genopbygges, næste gang du scanner. Brug denne mulighed, når du ønsker at anonymisere en fil frem for at slette den helt. Knappen er tilgængelig for følgende kildetyper og formater: @@ -362,6 +362,8 @@ Klik på **Slet**-knappen i filterbjælken for at åbne massesletningsvinduet. 4. En statuslinje viser sletningerne i realtid. E-mails flyttes til **Slettet post**; filer flyttes til **papirkurven**. +Slettede elementer (uanset om det er en enkelt sletning, en massesletning eller en sletning efter anmodning fra en registreret) **bevares i gitteret indtil din næste scanning** — nedtonet med et rødt **🗑 Slettet**-mærke og med skjulte handlingsknapper — så du kan se, hvad der blev fjernet i sessionen. Hvis en massesletning delvist mislykkes, markeres kun de elementer, serveren faktisk slettede; de, der fejlede, forbliver aktive, så du kan forsøge igen. Gitteret genopbygges, næste gang du scanner. + En fuldstændig revisionslog over alle sletninger (hvad der er slettet, hvornår og hvorfor) medtages i artikel 30-rapporten. --- @@ -668,4 +670,4 @@ For en typisk skole- eller kommunescanning er omkostningen ubetydelig — Claude --- -*GDPR Scanner v1.6.28 — teknisk opsætning og konfiguration: se README.md* +*GDPR Scanner v1.7.0 — teknisk opsætning og konfiguration: se README.md* diff --git a/docs/manuals/MANUAL-EN.md b/docs/manuals/MANUAL-EN.md index 709ce3c..856d4e3 100644 --- a/docs/manuals/MANUAL-EN.md +++ b/docs/manuals/MANUAL-EN.md @@ -1,6 +1,6 @@ # GDPR Scanner — User Manual -Version 1.6.28 +Version 1.7.0 --- @@ -294,7 +294,7 @@ After choosing, click **Save**. A small **✓ Saved** confirmation appears. ### Redacting a file in-place -A **✂** button appears on result cards where the scanner can overwrite the file directly. Clicking it replaces all CPR numbers with `██████-████` blocks, removes the card from the grid, and logs the action as a `"redacted"` disposition. This is useful when you want to sanitise a file rather than delete it entirely. +A **✂** button appears on result cards where the scanner can overwrite the file directly. Clicking it replaces all CPR numbers with `██████-████` blocks and logs the action as a `"redacted"` disposition. The card is **kept in the grid until your next scan** — it is greyed out, shows a green **✏ Redacted** badge, and its action buttons are hidden so it cannot be processed again. This lets you see at a glance what you handled during the session; the grid is rebuilt the next time you scan. This is useful when you want to sanitise a file rather than delete it entirely. The button is available for the following source types and formats: @@ -362,6 +362,8 @@ Click the **Delete** button in the filter bar to open the bulk delete modal. 4. A progress bar shows deletions as they happen. Emails go to **Deleted Items**; files go to the **recycle bin**. +Deleted items (whether from a single delete, a bulk delete, or a data-subject erasure) are **kept in the grid until your next scan** — greyed out with a red **🗑 Deleted** badge and their action buttons hidden — so you can see what was removed during the session. When a bulk delete partially fails, only the items the server actually deleted are marked; any that failed stay active so you can retry them. The grid is rebuilt the next time you scan. + A full audit log of every deletion (what was deleted, when, and why) is included in the Article 30 report. --- @@ -668,4 +670,4 @@ For a typical school or municipality scan the cost is negligible — Claude Haik --- -*GDPR Scanner v1.6.28 — for technical setup and configuration see README.md* +*GDPR Scanner v1.7.0 — for technical setup and configuration see README.md*