diff --git a/DocDiff.html b/DocDiff.html index 24993ae..741138e 100644 --- a/DocDiff.html +++ b/DocDiff.html @@ -24,8 +24,11 @@ - Doc Diff – PDF- und Word-Dokumente vergleichen, ohne Upload - + + + Doc Diff – PDF und Word vergleichen, lokal und ohne Upload + @@ -40,16 +43,16 @@ - - + + - - + + @@ -63,7 +66,7 @@ "@id": "https://docdiff.app/#app", "name": "Doc Diff", "url": "https://docdiff.app/", - "description": "Zwei Fassungen eines Vertrags oder Dokuments vergleichen: PDF, Word oder Text, Wort für Wort markiert. Kostenlos, Open Source, ohne Upload.", + "description": "Zwei Vertragsfassungen vergleichen, Wort für Wort markiert: PDF, Word oder Text. Läuft lokal im Browser, ohne Upload, auch offline. Kostenlos, Open Source.", "applicationCategory": "BusinessApplication", "applicationSubCategory": "Document comparison", "operatingSystem": "Any (web browser)", @@ -79,6 +82,10 @@ "en" ], "featureList": [ + "Kein Upload", + "Funktioniert offline", + "Nichts gespeichert, nichts geteilt", + "Selbst nachprüfbar", "PDFs mit Textebene, Word-Dateien (.docx) und reinen Text vergleichen – auch gemischt, etwa PDF mit Word", "Änderungen Wort für Wort zeigen – auch geänderte Zahlen, Daten und Beträge", "Seitenumbrüche wie im Original anzeigen; wiederkehrende Kopf- und Fußzeilen werden ausgeblendet", @@ -99,7 +106,7 @@ "sameAs": [ "https://github.com/tschnorpfeil/docdiff" ], - "softwareVersion": "1.6.3" + "softwareVersion": "1.6.4" }, { "@type": "SoftwareSourceCode", @@ -1382,6 +1389,42 @@ font-size: var(--text-ui-sm); font-weight: 700; } +.local-intro { + max-width: 46em; + margin-top: 10px; + font-size: var(--text-doc-lg); + line-height: 1.55; + color: hsl(var(--muted-foreground)); +} +.local-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + margin-top: 18px; +} +.local-card { + padding: 18px 20px; + border-radius: var(--radius-lg); + background: hsl(var(--card)); + box-shadow: inset 0 0 0 1px var(--kante-200); +} +.local-card .icon { + width: 20px; + height: 20px; + color: hsl(var(--success-ink)); +} +.local-card h3 { + margin-top: 10px; + font-size: var(--text-title); + font-weight: 600; + color: hsl(var(--foreground)); +} +.local-card p { + margin-top: 6px; + font-size: var(--text-doc-lg); + line-height: 1.5; + color: hsl(var(--muted-foreground)); +} .scope-grid { display: grid; grid-template-columns: 1fr 1fr; @@ -3585,6 +3628,7 @@ padding-top: 24px; } .how-steps, + .local-grid, .scope-grid { grid-template-columns: 1fr; gap: 14px; @@ -3895,7 +3939,7 @@

Text einfügen -

Kostenlos und Open Source (MIT) · Keine Werbung, kein Tracking, keine Cookies

+

Kein Upload · Auch offline nutzbar · Kostenlos und Open Source (MIT) · Kein Tracking

@@ -3909,6 +3953,17 @@

So funktioniert’s

+
+

Ihre Dokumente bleiben bei Ihnen

+

Online-Vergleichsdienste laden Ihre Dateien auf ihre Server. Doc Diff nicht: Gelesen und verglichen wird nur in Ihrem Browser. Ihre Dokumente erreichen keinen Server, weder unseren noch den eines Dritten. Das macht es geeignet für vertrauliche Verträge und erleichtert den Datenschutz (DSGVO).

+
+

Kein Upload

Ihr Browser sperrt jede Netzwerkverbindung aus der Seite heraus (Content-Security-Policy). Die Dateien liegen nur im Arbeitsspeicher dieses Tabs.

+

Funktioniert offline

Die ganze App ist eine einzige HTML-Datei. Herunterladen, Internet trennen, weiterarbeiten.

+

Nichts gespeichert, nichts geteilt

Kein Konto, keine Cookies, kein Tracking, kein Speicher im Browser. Schließen Sie den Tab, ist alles weg.

+

Selbst nachprüfbar

Der Quellcode ist offen (MIT). Im Reiter „Netzwerk“ der Entwicklerwerkzeuge sehen Sie: Beim Vergleichen geht keine Anfrage hinaus.

+
+
+

Was es kann – und was nicht

@@ -4533,7 +4588,7 @@

Ihre Daten

loadSample: 'Beispiel ansehen', heroTitle: 'Dokumente einfach vergleichen.', heroSub: 'Jede Änderung Wort für Wort markiert. Ihre Dateien verlassen nie Ihr Gerät.', - trustLine: 'Kostenlos und Open Source (MIT) · Keine Werbung, kein Tracking, keine Cookies', + trustLine: 'Kein Upload · Auch offline nutzbar · Kostenlos und Open Source (MIT) · Kein Tracking', slotLeftTitle: 'Alte Fassung', slotRightTitle: 'Neue Fassung', slotHint: 'PDF, Word (.docx) oder Text', @@ -4549,6 +4604,16 @@

Ihre Daten

how2Text: 'Entferntes ist rot durchgestrichen, Neues grün markiert. Jede Änderung können Sie annehmen oder ablehnen.', how3Title: 'Ergebnis sichern, wenn Sie es brauchen', how3Text: 'Als saubere Endfassung (Word im Originalformat oder PDF) oder als Vergleich mit Änderungsverfolgung.', + localTitle: 'Ihre Dokumente bleiben bei Ihnen', + localIntro: 'Online-Vergleichsdienste laden Ihre Dateien auf ihre Server. Doc Diff nicht: Gelesen und verglichen wird nur in Ihrem Browser. Ihre Dokumente erreichen keinen Server, weder unseren noch den eines Dritten. Das macht es geeignet für vertrauliche Verträge und erleichtert den Datenschutz (DSGVO).', + local1Title: 'Kein Upload', + local1Text: 'Ihr Browser sperrt jede Netzwerkverbindung aus der Seite heraus (Content-Security-Policy). Die Dateien liegen nur im Arbeitsspeicher dieses Tabs.', + local2Title: 'Funktioniert offline', + local2Text: 'Die ganze App ist eine einzige HTML-Datei. Herunterladen, Internet trennen, weiterarbeiten.', + local3Title: 'Nichts gespeichert, nichts geteilt', + local3Text: 'Kein Konto, keine Cookies, kein Tracking, kein Speicher im Browser. Schließen Sie den Tab, ist alles weg.', + local4Title: 'Selbst nachprüfbar', + local4Text: 'Der Quellcode ist offen (MIT). Im Reiter „Netzwerk“ der Entwicklerwerkzeuge sehen Sie: Beim Vergleichen geht keine Anfrage hinaus.', scopeTitle: 'Was es kann – und was nicht', scopeCanTitle: 'Kann', scopeCan1: 'PDFs mit Textebene, Word-Dateien (.docx) und reinen Text vergleichen – auch gemischt, etwa PDF mit Word', @@ -4582,9 +4647,9 @@

Ihre Daten

faqWordA: `

Ja. Der Export „Word mit Änderungsverfolgung“ erzeugt eine .docx-Datei, in der jeder noch offene Unterschied als nachverfolgte Änderung steht. In Word oder LibreOffice können Sie die Änderungen einzeln annehmen oder ablehnen. Ist die neue Fassung eine Word-Datei, behält der Export deren Formatierung: Formatvorlagen, Nummerierung, Tabellen und Bilder bleiben erhalten. Aus PDF oder Text wird ein neu gesetztes Word-Dokument. Die Endfassung ohne Markierungen gibt es ebenso als Word-Datei.

`, - metaTitle: 'Doc Diff – PDF- und Word-Dokumente vergleichen, ohne Upload', + metaTitle: 'Doc Diff – PDF und Word vergleichen, lokal und ohne Upload', otherPageHint: 'Diese Seite gibt es auch auf Deutsch →', - metaDescription: 'Zwei Fassungen eines Vertrags oder Dokuments vergleichen: PDF, Word oder Text, Wort für Wort markiert. Kostenlos, Open Source, ohne Upload.', + metaDescription: 'Zwei Vertragsfassungen vergleichen, Wort für Wort markiert: PDF, Word oder Text. Läuft lokal im Browser, ohne Upload, auch offline. Kostenlos, Open Source.', ogImageAlt: 'Doc Diff: Zwei Vertragsfassungen nebeneinander, entfernter Text rot durchgestrichen, neuer Text grün markiert.', footerSource: 'Quellcode auf GitHub', githubMenu: 'Quellcode auf GitHub', @@ -4931,7 +4996,7 @@

Your data

loadSample: 'View example', heroTitle: 'Compare documents easily.', heroSub: 'Every change marked word by word. Your files never leave your device.', - trustLine: 'Free and open source (MIT) · No ads, no tracking, no cookies', + trustLine: 'No upload · Works offline · Free and open source (MIT) · No tracking', slotLeftTitle: 'Old version', slotRightTitle: 'New version', slotHint: 'PDF, Word (.docx) or text', @@ -4947,6 +5012,16 @@

Your data

how2Text: 'Removed text is struck through in red, added text is marked green. You can accept or reject each change.', how3Title: 'Save the result if you need it', how3Text: 'As a clean final version (Word in the original format, or PDF) or as a comparison with tracked changes.', + localTitle: 'Your documents stay with you', + localIntro: 'Online comparison services upload your files to their servers. Doc Diff doesn’t: everything is read and compared in your browser. Your documents reach no server, neither ours nor anyone else’s. That makes it suitable for confidential contracts and keeps data protection (GDPR) simple.', + local1Title: 'No upload', + local1Text: 'Your browser blocks every network connection from the page (Content Security Policy). The files only live in the memory of this tab.', + local2Title: 'Works offline', + local2Text: 'The whole app is a single HTML file. Download it, disconnect, keep working.', + local3Title: 'Nothing stored, nothing shared', + local3Text: 'No account, no cookies, no tracking, no browser storage. Close the tab and everything is gone.', + local4Title: 'Check it yourself', + local4Text: 'The source code is open (MIT). The Network tab of your browser’s developer tools shows no request while you compare.', scopeTitle: 'What it can do – and what it can’t', scopeCanTitle: 'Can', scopeCan1: 'Compare PDFs with a text layer, Word files (.docx) and plain text – also mixed, e.g. a PDF against a Word file', @@ -4980,9 +5055,9 @@

Your data

faqWordA: `

Yes. The “Word with tracked changes” export creates a .docx file in which every difference that is still open is a tracked change. In Word or LibreOffice you can accept or reject each change. When the new version is a Word file, the export keeps its formatting: styles, numbering, tables and images stay as they were. From a PDF or text, a newly typeset Word document is created. The final version without marks is available as a Word file, too.

`, - metaTitle: 'Doc Diff – Compare PDF and Word documents without uploading', + metaTitle: 'Doc Diff – Compare PDF and Word files locally, without uploading', otherPageHint: 'This page is also available in English →', - metaDescription: 'Compare two versions of a contract or document: PDF, Word or text, marked word by word. Free, open source, runs in your browser without uploads.', + metaDescription: 'Compare two versions of a contract, marked word by word: PDF, Word or text. Runs locally in your browser, no upload, works offline. Free and open source.', ogImageAlt: 'Doc Diff: two versions of a contract side by side, removed text struck through in red, added text marked green.', footerSource: 'Source code on GitHub', githubMenu: 'Source code on GitHub', @@ -14657,7 +14732,7 @@

${escapeHtml(t('exportRedlineHeading'))}

* entry; version 1 files (no review status) still open. */ -const DOCDIFF_APP_VERSION = '1.6.3'; +const DOCDIFF_APP_VERSION = '1.6.4'; const SESSION_FORMAT_ID = 'docdiff-session'; const SESSION_FORMAT_VERSION = 2; const SESSION_FILE_EXT = '.docdiff'; diff --git a/README.md b/README.md index 5f7540a..674e319 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,15 @@

+## Your documents stay on your device + +- **No upload.** Files are read and compared inside the browser tab. The page's Content Security Policy (`connect-src 'none'`) makes the browser block every network connection from the page. +- **Works offline.** The whole app is one HTML file. Download it, disconnect, keep working. +- **Nothing stored, nothing shared.** No account, no cookies, no tracking, no browser storage. Close the tab and everything is gone. +- **Verifiable.** The code is open (MIT), and the browser's Network tab shows no request while you compare. + +This makes it suitable for confidential contracts and documents with personal data (GDPR): the documents reach no server, neither ours nor anyone else's. Details and limits are under [Privacy](#privacy). + ## What it is Doc Diff is a small tool for one job: you have an old and a new version of a document, typically a contract or a tender, and you want to know exactly what changed. It is free, has no accounts, no ads and no tracking, and the whole app is a single HTML file you can also run offline. diff --git a/docs/launch/0-cover.html b/docs/launch/0-cover.html index 3253340..7e4a60b 100644 --- a/docs/launch/0-cover.html +++ b/docs/launch/0-cover.html @@ -94,8 +94,8 @@ Doc Diffdocdiff.app

Compare
documents
by hand easily.

-

PDF, Word or text: every change is marked word by word. Everything runs locally in your browser.

-
Free & open sourceNo uploadsNo tracking
+

PDF, Word or text, marked word by word. Your files never leave your device.

+
No uploadWorks offlineOpen source
diff --git a/docs/launch/0-cover.png b/docs/launch/0-cover.png index 3398571..3fddbe3 100644 Binary files a/docs/launch/0-cover.png and b/docs/launch/0-cover.png differ diff --git a/docs/og-image-en.html b/docs/og-image-en.html index 89abc93..c4cf181 100644 --- a/docs/og-image-en.html +++ b/docs/og-image-en.html @@ -100,8 +100,8 @@ Doc Diffdocdiff.app

Compare
documents
by hand easily.

-

PDF, Word or text: every change is marked word by word. Everything runs locally in your browser.

-
Free & open sourceNo uploadsNo tracking
+

PDF, Word or text, marked word by word. Your files never leave your device.

+
No uploadWorks offlineOpen source
diff --git a/docs/og-image.html b/docs/og-image.html index 7db485c..e4092e9 100644 --- a/docs/og-image.html +++ b/docs/og-image.html @@ -99,8 +99,8 @@ Doc Diffdocdiff.app

Dokumente
mühsam einfach
vergleichen.

-

PDF, Word oder Text: Jede Änderung wird Wort für Wort markiert. Alles läuft lokal im Browser.

-
Kostenlos & Open SourceKeine UploadsKein Tracking
+

PDF, Word oder Text, Wort für Wort markiert. Ihre Dateien verlassen nie Ihr Gerät.

+
Kein UploadFunktioniert offlineOpen Source
diff --git a/docs/releases/v1.6.4.md b/docs/releases/v1.6.4.md new file mode 100644 index 0000000..f3ba0d7 --- /dev/null +++ b/docs/releases/v1.6.4.md @@ -0,0 +1,9 @@ +# v1.6.4 — Your documents stay with you + +- **Privacy up front.** A new section on the start page, "Your documents stay with you", sums up what sets Doc Diff apart from online comparison services: no upload (the browser blocks every network connection from the page), works offline as a single HTML file, nothing stored or shared, and you can check all of this yourself. The line below the buttons now starts with "No upload · Works offline". +- **Clearer search results and link previews.** The page title, description and link preview images now say that Doc Diff runs locally, without uploading, and works offline. +- **No light flash in dark mode.** The dark theme is now set before the page first appears. Before, the start page could briefly show light drop zones and buttons that then faded to dark. + +## Offline version + +Download `DocDiff.html` below and open it from disk. It works without an internet connection. diff --git a/scripts/build.py b/scripts/build.py index 774b0cf..fba61c0 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -153,7 +153,7 @@ def json_ld(template: str, lang: str, strings: dict, version: str) -> str: page = PAGES[lang] license_url = REPO_URL + "/blob/main/LICENSE" author = {"@type": "Person", "name": "Tobias Schnorpfeil", "url": "https://github.com/tschnorpfeil"} - features = re.findall(r'data-i18n="(scopeCan\d+)"', template) + features = re.findall(r'data-i18n="(local\dTitle|scopeCan\d+)"', template) faq_keys = re.findall(r''); + const firstScript = html.indexOf(' + Doc Diff – Compare PDF and Word files locally, without uploading + @@ -43,16 +46,16 @@ - - + + - - + + @@ -66,7 +69,7 @@ "@id": "https://docdiff.app/#app", "name": "Doc Diff", "url": "https://docdiff.app/en/", - "description": "Compare two versions of a contract or document: PDF, Word or text, marked word by word. Free, open source, runs in your browser without uploads.", + "description": "Compare two versions of a contract, marked word by word: PDF, Word or text. Runs locally in your browser, no upload, works offline. Free and open source.", "applicationCategory": "BusinessApplication", "applicationSubCategory": "Document comparison", "operatingSystem": "Any (web browser)", @@ -82,6 +85,10 @@ "en" ], "featureList": [ + "No upload", + "Works offline", + "Nothing stored, nothing shared", + "Check it yourself", "Compare PDFs with a text layer, Word files (.docx) and plain text – also mixed, e.g. a PDF against a Word file", "Show changes word by word – including changed numbers, dates and amounts", "Show page breaks as in the original; repeating headers and footers are left out", @@ -102,7 +109,7 @@ "sameAs": [ "https://github.com/tschnorpfeil/docdiff" ], - "softwareVersion": "1.6.3" + "softwareVersion": "1.6.4" }, { "@type": "SoftwareSourceCode", @@ -1385,6 +1392,42 @@ font-size: var(--text-ui-sm); font-weight: 700; } +.local-intro { + max-width: 46em; + margin-top: 10px; + font-size: var(--text-doc-lg); + line-height: 1.55; + color: hsl(var(--muted-foreground)); +} +.local-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + margin-top: 18px; +} +.local-card { + padding: 18px 20px; + border-radius: var(--radius-lg); + background: hsl(var(--card)); + box-shadow: inset 0 0 0 1px var(--kante-200); +} +.local-card .icon { + width: 20px; + height: 20px; + color: hsl(var(--success-ink)); +} +.local-card h3 { + margin-top: 10px; + font-size: var(--text-title); + font-weight: 600; + color: hsl(var(--foreground)); +} +.local-card p { + margin-top: 6px; + font-size: var(--text-doc-lg); + line-height: 1.5; + color: hsl(var(--muted-foreground)); +} .scope-grid { display: grid; grid-template-columns: 1fr 1fr; @@ -3588,6 +3631,7 @@ padding-top: 24px; } .how-steps, + .local-grid, .scope-grid { grid-template-columns: 1fr; gap: 14px; @@ -3898,7 +3942,7 @@

Paste text

-

Free and open source (MIT) · No ads, no tracking, no cookies

+

No upload · Works offline · Free and open source (MIT) · No tracking

@@ -3912,6 +3956,17 @@

How it works

+
+

Your documents stay with you

+

Online comparison services upload your files to their servers. Doc Diff doesn’t: everything is read and compared in your browser. Your documents reach no server, neither ours nor anyone else’s. That makes it suitable for confidential contracts and keeps data protection (GDPR) simple.

+
+

No upload

Your browser blocks every network connection from the page (Content Security Policy). The files only live in the memory of this tab.

+

Works offline

The whole app is a single HTML file. Download it, disconnect, keep working.

+

Nothing stored, nothing shared

No account, no cookies, no tracking, no browser storage. Close the tab and everything is gone.

+

Check it yourself

The source code is open (MIT). The Network tab of your browser’s developer tools shows no request while you compare.

+
+
+

What it can do – and what it can’t

@@ -4536,7 +4591,7 @@

Ihre Daten

loadSample: 'Beispiel ansehen', heroTitle: 'Dokumente einfach vergleichen.', heroSub: 'Jede Änderung Wort für Wort markiert. Ihre Dateien verlassen nie Ihr Gerät.', - trustLine: 'Kostenlos und Open Source (MIT) · Keine Werbung, kein Tracking, keine Cookies', + trustLine: 'Kein Upload · Auch offline nutzbar · Kostenlos und Open Source (MIT) · Kein Tracking', slotLeftTitle: 'Alte Fassung', slotRightTitle: 'Neue Fassung', slotHint: 'PDF, Word (.docx) oder Text', @@ -4552,6 +4607,16 @@

Ihre Daten

how2Text: 'Entferntes ist rot durchgestrichen, Neues grün markiert. Jede Änderung können Sie annehmen oder ablehnen.', how3Title: 'Ergebnis sichern, wenn Sie es brauchen', how3Text: 'Als saubere Endfassung (Word im Originalformat oder PDF) oder als Vergleich mit Änderungsverfolgung.', + localTitle: 'Ihre Dokumente bleiben bei Ihnen', + localIntro: 'Online-Vergleichsdienste laden Ihre Dateien auf ihre Server. Doc Diff nicht: Gelesen und verglichen wird nur in Ihrem Browser. Ihre Dokumente erreichen keinen Server, weder unseren noch den eines Dritten. Das macht es geeignet für vertrauliche Verträge und erleichtert den Datenschutz (DSGVO).', + local1Title: 'Kein Upload', + local1Text: 'Ihr Browser sperrt jede Netzwerkverbindung aus der Seite heraus (Content-Security-Policy). Die Dateien liegen nur im Arbeitsspeicher dieses Tabs.', + local2Title: 'Funktioniert offline', + local2Text: 'Die ganze App ist eine einzige HTML-Datei. Herunterladen, Internet trennen, weiterarbeiten.', + local3Title: 'Nichts gespeichert, nichts geteilt', + local3Text: 'Kein Konto, keine Cookies, kein Tracking, kein Speicher im Browser. Schließen Sie den Tab, ist alles weg.', + local4Title: 'Selbst nachprüfbar', + local4Text: 'Der Quellcode ist offen (MIT). Im Reiter „Netzwerk“ der Entwicklerwerkzeuge sehen Sie: Beim Vergleichen geht keine Anfrage hinaus.', scopeTitle: 'Was es kann – und was nicht', scopeCanTitle: 'Kann', scopeCan1: 'PDFs mit Textebene, Word-Dateien (.docx) und reinen Text vergleichen – auch gemischt, etwa PDF mit Word', @@ -4585,9 +4650,9 @@

Ihre Daten

faqWordA: `

Ja. Der Export „Word mit Änderungsverfolgung“ erzeugt eine .docx-Datei, in der jeder noch offene Unterschied als nachverfolgte Änderung steht. In Word oder LibreOffice können Sie die Änderungen einzeln annehmen oder ablehnen. Ist die neue Fassung eine Word-Datei, behält der Export deren Formatierung: Formatvorlagen, Nummerierung, Tabellen und Bilder bleiben erhalten. Aus PDF oder Text wird ein neu gesetztes Word-Dokument. Die Endfassung ohne Markierungen gibt es ebenso als Word-Datei.

`, - metaTitle: 'Doc Diff – PDF- und Word-Dokumente vergleichen, ohne Upload', + metaTitle: 'Doc Diff – PDF und Word vergleichen, lokal und ohne Upload', otherPageHint: 'Diese Seite gibt es auch auf Deutsch →', - metaDescription: 'Zwei Fassungen eines Vertrags oder Dokuments vergleichen: PDF, Word oder Text, Wort für Wort markiert. Kostenlos, Open Source, ohne Upload.', + metaDescription: 'Zwei Vertragsfassungen vergleichen, Wort für Wort markiert: PDF, Word oder Text. Läuft lokal im Browser, ohne Upload, auch offline. Kostenlos, Open Source.', ogImageAlt: 'Doc Diff: Zwei Vertragsfassungen nebeneinander, entfernter Text rot durchgestrichen, neuer Text grün markiert.', footerSource: 'Quellcode auf GitHub', githubMenu: 'Quellcode auf GitHub', @@ -4934,7 +4999,7 @@

Your data

loadSample: 'View example', heroTitle: 'Compare documents easily.', heroSub: 'Every change marked word by word. Your files never leave your device.', - trustLine: 'Free and open source (MIT) · No ads, no tracking, no cookies', + trustLine: 'No upload · Works offline · Free and open source (MIT) · No tracking', slotLeftTitle: 'Old version', slotRightTitle: 'New version', slotHint: 'PDF, Word (.docx) or text', @@ -4950,6 +5015,16 @@

Your data

how2Text: 'Removed text is struck through in red, added text is marked green. You can accept or reject each change.', how3Title: 'Save the result if you need it', how3Text: 'As a clean final version (Word in the original format, or PDF) or as a comparison with tracked changes.', + localTitle: 'Your documents stay with you', + localIntro: 'Online comparison services upload your files to their servers. Doc Diff doesn’t: everything is read and compared in your browser. Your documents reach no server, neither ours nor anyone else’s. That makes it suitable for confidential contracts and keeps data protection (GDPR) simple.', + local1Title: 'No upload', + local1Text: 'Your browser blocks every network connection from the page (Content Security Policy). The files only live in the memory of this tab.', + local2Title: 'Works offline', + local2Text: 'The whole app is a single HTML file. Download it, disconnect, keep working.', + local3Title: 'Nothing stored, nothing shared', + local3Text: 'No account, no cookies, no tracking, no browser storage. Close the tab and everything is gone.', + local4Title: 'Check it yourself', + local4Text: 'The source code is open (MIT). The Network tab of your browser’s developer tools shows no request while you compare.', scopeTitle: 'What it can do – and what it can’t', scopeCanTitle: 'Can', scopeCan1: 'Compare PDFs with a text layer, Word files (.docx) and plain text – also mixed, e.g. a PDF against a Word file', @@ -4983,9 +5058,9 @@

Your data

faqWordA: `

Yes. The “Word with tracked changes” export creates a .docx file in which every difference that is still open is a tracked change. In Word or LibreOffice you can accept or reject each change. When the new version is a Word file, the export keeps its formatting: styles, numbering, tables and images stay as they were. From a PDF or text, a newly typeset Word document is created. The final version without marks is available as a Word file, too.

`, - metaTitle: 'Doc Diff – Compare PDF and Word documents without uploading', + metaTitle: 'Doc Diff – Compare PDF and Word files locally, without uploading', otherPageHint: 'This page is also available in English →', - metaDescription: 'Compare two versions of a contract or document: PDF, Word or text, marked word by word. Free, open source, runs in your browser without uploads.', + metaDescription: 'Compare two versions of a contract, marked word by word: PDF, Word or text. Runs locally in your browser, no upload, works offline. Free and open source.', ogImageAlt: 'Doc Diff: two versions of a contract side by side, removed text struck through in red, added text marked green.', footerSource: 'Source code on GitHub', githubMenu: 'Source code on GitHub', @@ -14660,7 +14735,7 @@

${escapeHtml(t('exportRedlineHeading'))}

* entry; version 1 files (no review status) still open. */ -const DOCDIFF_APP_VERSION = '1.6.3'; +const DOCDIFF_APP_VERSION = '1.6.4'; const SESSION_FORMAT_ID = 'docdiff-session'; const SESSION_FORMAT_VERSION = 2; const SESSION_FILE_EXT = '.docdiff'; diff --git a/site/index.html b/site/index.html index aa260ca..f741f20 100644 --- a/site/index.html +++ b/site/index.html @@ -24,8 +24,11 @@ - Doc Diff – PDF- und Word-Dokumente vergleichen, ohne Upload - + + + Doc Diff – PDF und Word vergleichen, lokal und ohne Upload + @@ -43,16 +46,16 @@ - - + + - - + + @@ -66,7 +69,7 @@ "@id": "https://docdiff.app/#app", "name": "Doc Diff", "url": "https://docdiff.app/", - "description": "Zwei Fassungen eines Vertrags oder Dokuments vergleichen: PDF, Word oder Text, Wort für Wort markiert. Kostenlos, Open Source, ohne Upload.", + "description": "Zwei Vertragsfassungen vergleichen, Wort für Wort markiert: PDF, Word oder Text. Läuft lokal im Browser, ohne Upload, auch offline. Kostenlos, Open Source.", "applicationCategory": "BusinessApplication", "applicationSubCategory": "Document comparison", "operatingSystem": "Any (web browser)", @@ -82,6 +85,10 @@ "en" ], "featureList": [ + "Kein Upload", + "Funktioniert offline", + "Nichts gespeichert, nichts geteilt", + "Selbst nachprüfbar", "PDFs mit Textebene, Word-Dateien (.docx) und reinen Text vergleichen – auch gemischt, etwa PDF mit Word", "Änderungen Wort für Wort zeigen – auch geänderte Zahlen, Daten und Beträge", "Seitenumbrüche wie im Original anzeigen; wiederkehrende Kopf- und Fußzeilen werden ausgeblendet", @@ -102,7 +109,7 @@ "sameAs": [ "https://github.com/tschnorpfeil/docdiff" ], - "softwareVersion": "1.6.3" + "softwareVersion": "1.6.4" }, { "@type": "SoftwareSourceCode", @@ -1385,6 +1392,42 @@ font-size: var(--text-ui-sm); font-weight: 700; } +.local-intro { + max-width: 46em; + margin-top: 10px; + font-size: var(--text-doc-lg); + line-height: 1.55; + color: hsl(var(--muted-foreground)); +} +.local-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + margin-top: 18px; +} +.local-card { + padding: 18px 20px; + border-radius: var(--radius-lg); + background: hsl(var(--card)); + box-shadow: inset 0 0 0 1px var(--kante-200); +} +.local-card .icon { + width: 20px; + height: 20px; + color: hsl(var(--success-ink)); +} +.local-card h3 { + margin-top: 10px; + font-size: var(--text-title); + font-weight: 600; + color: hsl(var(--foreground)); +} +.local-card p { + margin-top: 6px; + font-size: var(--text-doc-lg); + line-height: 1.5; + color: hsl(var(--muted-foreground)); +} .scope-grid { display: grid; grid-template-columns: 1fr 1fr; @@ -3588,6 +3631,7 @@ padding-top: 24px; } .how-steps, + .local-grid, .scope-grid { grid-template-columns: 1fr; gap: 14px; @@ -3898,7 +3942,7 @@

Text einfügen

-

Kostenlos und Open Source (MIT) · Keine Werbung, kein Tracking, keine Cookies

+

Kein Upload · Auch offline nutzbar · Kostenlos und Open Source (MIT) · Kein Tracking

@@ -3912,6 +3956,17 @@

So funktioniert’s

+
+

Ihre Dokumente bleiben bei Ihnen

+

Online-Vergleichsdienste laden Ihre Dateien auf ihre Server. Doc Diff nicht: Gelesen und verglichen wird nur in Ihrem Browser. Ihre Dokumente erreichen keinen Server, weder unseren noch den eines Dritten. Das macht es geeignet für vertrauliche Verträge und erleichtert den Datenschutz (DSGVO).

+
+

Kein Upload

Ihr Browser sperrt jede Netzwerkverbindung aus der Seite heraus (Content-Security-Policy). Die Dateien liegen nur im Arbeitsspeicher dieses Tabs.

+

Funktioniert offline

Die ganze App ist eine einzige HTML-Datei. Herunterladen, Internet trennen, weiterarbeiten.

+

Nichts gespeichert, nichts geteilt

Kein Konto, keine Cookies, kein Tracking, kein Speicher im Browser. Schließen Sie den Tab, ist alles weg.

+

Selbst nachprüfbar

Der Quellcode ist offen (MIT). Im Reiter „Netzwerk“ der Entwicklerwerkzeuge sehen Sie: Beim Vergleichen geht keine Anfrage hinaus.

+
+
+

Was es kann – und was nicht

@@ -4536,7 +4591,7 @@

Ihre Daten

loadSample: 'Beispiel ansehen', heroTitle: 'Dokumente einfach vergleichen.', heroSub: 'Jede Änderung Wort für Wort markiert. Ihre Dateien verlassen nie Ihr Gerät.', - trustLine: 'Kostenlos und Open Source (MIT) · Keine Werbung, kein Tracking, keine Cookies', + trustLine: 'Kein Upload · Auch offline nutzbar · Kostenlos und Open Source (MIT) · Kein Tracking', slotLeftTitle: 'Alte Fassung', slotRightTitle: 'Neue Fassung', slotHint: 'PDF, Word (.docx) oder Text', @@ -4552,6 +4607,16 @@

Ihre Daten

how2Text: 'Entferntes ist rot durchgestrichen, Neues grün markiert. Jede Änderung können Sie annehmen oder ablehnen.', how3Title: 'Ergebnis sichern, wenn Sie es brauchen', how3Text: 'Als saubere Endfassung (Word im Originalformat oder PDF) oder als Vergleich mit Änderungsverfolgung.', + localTitle: 'Ihre Dokumente bleiben bei Ihnen', + localIntro: 'Online-Vergleichsdienste laden Ihre Dateien auf ihre Server. Doc Diff nicht: Gelesen und verglichen wird nur in Ihrem Browser. Ihre Dokumente erreichen keinen Server, weder unseren noch den eines Dritten. Das macht es geeignet für vertrauliche Verträge und erleichtert den Datenschutz (DSGVO).', + local1Title: 'Kein Upload', + local1Text: 'Ihr Browser sperrt jede Netzwerkverbindung aus der Seite heraus (Content-Security-Policy). Die Dateien liegen nur im Arbeitsspeicher dieses Tabs.', + local2Title: 'Funktioniert offline', + local2Text: 'Die ganze App ist eine einzige HTML-Datei. Herunterladen, Internet trennen, weiterarbeiten.', + local3Title: 'Nichts gespeichert, nichts geteilt', + local3Text: 'Kein Konto, keine Cookies, kein Tracking, kein Speicher im Browser. Schließen Sie den Tab, ist alles weg.', + local4Title: 'Selbst nachprüfbar', + local4Text: 'Der Quellcode ist offen (MIT). Im Reiter „Netzwerk“ der Entwicklerwerkzeuge sehen Sie: Beim Vergleichen geht keine Anfrage hinaus.', scopeTitle: 'Was es kann – und was nicht', scopeCanTitle: 'Kann', scopeCan1: 'PDFs mit Textebene, Word-Dateien (.docx) und reinen Text vergleichen – auch gemischt, etwa PDF mit Word', @@ -4585,9 +4650,9 @@

Ihre Daten

faqWordA: `

Ja. Der Export „Word mit Änderungsverfolgung“ erzeugt eine .docx-Datei, in der jeder noch offene Unterschied als nachverfolgte Änderung steht. In Word oder LibreOffice können Sie die Änderungen einzeln annehmen oder ablehnen. Ist die neue Fassung eine Word-Datei, behält der Export deren Formatierung: Formatvorlagen, Nummerierung, Tabellen und Bilder bleiben erhalten. Aus PDF oder Text wird ein neu gesetztes Word-Dokument. Die Endfassung ohne Markierungen gibt es ebenso als Word-Datei.

`, - metaTitle: 'Doc Diff – PDF- und Word-Dokumente vergleichen, ohne Upload', + metaTitle: 'Doc Diff – PDF und Word vergleichen, lokal und ohne Upload', otherPageHint: 'Diese Seite gibt es auch auf Deutsch →', - metaDescription: 'Zwei Fassungen eines Vertrags oder Dokuments vergleichen: PDF, Word oder Text, Wort für Wort markiert. Kostenlos, Open Source, ohne Upload.', + metaDescription: 'Zwei Vertragsfassungen vergleichen, Wort für Wort markiert: PDF, Word oder Text. Läuft lokal im Browser, ohne Upload, auch offline. Kostenlos, Open Source.', ogImageAlt: 'Doc Diff: Zwei Vertragsfassungen nebeneinander, entfernter Text rot durchgestrichen, neuer Text grün markiert.', footerSource: 'Quellcode auf GitHub', githubMenu: 'Quellcode auf GitHub', @@ -4934,7 +4999,7 @@

Your data

loadSample: 'View example', heroTitle: 'Compare documents easily.', heroSub: 'Every change marked word by word. Your files never leave your device.', - trustLine: 'Free and open source (MIT) · No ads, no tracking, no cookies', + trustLine: 'No upload · Works offline · Free and open source (MIT) · No tracking', slotLeftTitle: 'Old version', slotRightTitle: 'New version', slotHint: 'PDF, Word (.docx) or text', @@ -4950,6 +5015,16 @@

Your data

how2Text: 'Removed text is struck through in red, added text is marked green. You can accept or reject each change.', how3Title: 'Save the result if you need it', how3Text: 'As a clean final version (Word in the original format, or PDF) or as a comparison with tracked changes.', + localTitle: 'Your documents stay with you', + localIntro: 'Online comparison services upload your files to their servers. Doc Diff doesn’t: everything is read and compared in your browser. Your documents reach no server, neither ours nor anyone else’s. That makes it suitable for confidential contracts and keeps data protection (GDPR) simple.', + local1Title: 'No upload', + local1Text: 'Your browser blocks every network connection from the page (Content Security Policy). The files only live in the memory of this tab.', + local2Title: 'Works offline', + local2Text: 'The whole app is a single HTML file. Download it, disconnect, keep working.', + local3Title: 'Nothing stored, nothing shared', + local3Text: 'No account, no cookies, no tracking, no browser storage. Close the tab and everything is gone.', + local4Title: 'Check it yourself', + local4Text: 'The source code is open (MIT). The Network tab of your browser’s developer tools shows no request while you compare.', scopeTitle: 'What it can do – and what it can’t', scopeCanTitle: 'Can', scopeCan1: 'Compare PDFs with a text layer, Word files (.docx) and plain text – also mixed, e.g. a PDF against a Word file', @@ -4983,9 +5058,9 @@

Your data

faqWordA: `

Yes. The “Word with tracked changes” export creates a .docx file in which every difference that is still open is a tracked change. In Word or LibreOffice you can accept or reject each change. When the new version is a Word file, the export keeps its formatting: styles, numbering, tables and images stay as they were. From a PDF or text, a newly typeset Word document is created. The final version without marks is available as a Word file, too.

`, - metaTitle: 'Doc Diff – Compare PDF and Word documents without uploading', + metaTitle: 'Doc Diff – Compare PDF and Word files locally, without uploading', otherPageHint: 'This page is also available in English →', - metaDescription: 'Compare two versions of a contract or document: PDF, Word or text, marked word by word. Free, open source, runs in your browser without uploads.', + metaDescription: 'Compare two versions of a contract, marked word by word: PDF, Word or text. Runs locally in your browser, no upload, works offline. Free and open source.', ogImageAlt: 'Doc Diff: two versions of a contract side by side, removed text struck through in red, added text marked green.', footerSource: 'Source code on GitHub', githubMenu: 'Source code on GitHub', @@ -14660,7 +14735,7 @@

${escapeHtml(t('exportRedlineHeading'))}

* entry; version 1 files (no review status) still open. */ -const DOCDIFF_APP_VERSION = '1.6.3'; +const DOCDIFF_APP_VERSION = '1.6.4'; const SESSION_FORMAT_ID = 'docdiff-session'; const SESSION_FORMAT_VERSION = 2; const SESSION_FILE_EXT = '.docdiff'; diff --git a/site/og-image-en.png b/site/og-image-en.png index 16c1c52..24d9b6d 100644 Binary files a/site/og-image-en.png and b/site/og-image-en.png differ diff --git a/site/og-image.png b/site/og-image.png index f0c087a..5e39b48 100644 Binary files a/site/og-image.png and b/site/og-image.png differ diff --git a/src/js/01-i18n.js b/src/js/01-i18n.js index 4e53795..d785d33 100644 --- a/src/js/01-i18n.js +++ b/src/js/01-i18n.js @@ -343,7 +343,7 @@ const I18N = { loadSample: 'Beispiel ansehen', heroTitle: 'Dokumente einfach vergleichen.', heroSub: 'Jede Änderung Wort für Wort markiert. Ihre Dateien verlassen nie Ihr Gerät.', - trustLine: 'Kostenlos und Open Source (MIT) · Keine Werbung, kein Tracking, keine Cookies', + trustLine: 'Kein Upload · Auch offline nutzbar · Kostenlos und Open Source (MIT) · Kein Tracking', slotLeftTitle: 'Alte Fassung', slotRightTitle: 'Neue Fassung', slotHint: 'PDF, Word (.docx) oder Text', @@ -359,6 +359,16 @@ const I18N = { how2Text: 'Entferntes ist rot durchgestrichen, Neues grün markiert. Jede Änderung können Sie annehmen oder ablehnen.', how3Title: 'Ergebnis sichern, wenn Sie es brauchen', how3Text: 'Als saubere Endfassung (Word im Originalformat oder PDF) oder als Vergleich mit Änderungsverfolgung.', + localTitle: 'Ihre Dokumente bleiben bei Ihnen', + localIntro: 'Online-Vergleichsdienste laden Ihre Dateien auf ihre Server. Doc Diff nicht: Gelesen und verglichen wird nur in Ihrem Browser. Ihre Dokumente erreichen keinen Server, weder unseren noch den eines Dritten. Das macht es geeignet für vertrauliche Verträge und erleichtert den Datenschutz (DSGVO).', + local1Title: 'Kein Upload', + local1Text: 'Ihr Browser sperrt jede Netzwerkverbindung aus der Seite heraus (Content-Security-Policy). Die Dateien liegen nur im Arbeitsspeicher dieses Tabs.', + local2Title: 'Funktioniert offline', + local2Text: 'Die ganze App ist eine einzige HTML-Datei. Herunterladen, Internet trennen, weiterarbeiten.', + local3Title: 'Nichts gespeichert, nichts geteilt', + local3Text: 'Kein Konto, keine Cookies, kein Tracking, kein Speicher im Browser. Schließen Sie den Tab, ist alles weg.', + local4Title: 'Selbst nachprüfbar', + local4Text: 'Der Quellcode ist offen (MIT). Im Reiter „Netzwerk“ der Entwicklerwerkzeuge sehen Sie: Beim Vergleichen geht keine Anfrage hinaus.', scopeTitle: 'Was es kann – und was nicht', scopeCanTitle: 'Kann', scopeCan1: 'PDFs mit Textebene, Word-Dateien (.docx) und reinen Text vergleichen – auch gemischt, etwa PDF mit Word', @@ -392,9 +402,9 @@ const I18N = { faqWordA: `

Ja. Der Export „Word mit Änderungsverfolgung“ erzeugt eine .docx-Datei, in der jeder noch offene Unterschied als nachverfolgte Änderung steht. In Word oder LibreOffice können Sie die Änderungen einzeln annehmen oder ablehnen. Ist die neue Fassung eine Word-Datei, behält der Export deren Formatierung: Formatvorlagen, Nummerierung, Tabellen und Bilder bleiben erhalten. Aus PDF oder Text wird ein neu gesetztes Word-Dokument. Die Endfassung ohne Markierungen gibt es ebenso als Word-Datei.

`, - metaTitle: 'Doc Diff – PDF- und Word-Dokumente vergleichen, ohne Upload', + metaTitle: 'Doc Diff – PDF und Word vergleichen, lokal und ohne Upload', otherPageHint: 'Diese Seite gibt es auch auf Deutsch →', - metaDescription: 'Zwei Fassungen eines Vertrags oder Dokuments vergleichen: PDF, Word oder Text, Wort für Wort markiert. Kostenlos, Open Source, ohne Upload.', + metaDescription: 'Zwei Vertragsfassungen vergleichen, Wort für Wort markiert: PDF, Word oder Text. Läuft lokal im Browser, ohne Upload, auch offline. Kostenlos, Open Source.', ogImageAlt: 'Doc Diff: Zwei Vertragsfassungen nebeneinander, entfernter Text rot durchgestrichen, neuer Text grün markiert.', footerSource: 'Quellcode auf GitHub', githubMenu: 'Quellcode auf GitHub', @@ -741,7 +751,7 @@ const I18N = { loadSample: 'View example', heroTitle: 'Compare documents easily.', heroSub: 'Every change marked word by word. Your files never leave your device.', - trustLine: 'Free and open source (MIT) · No ads, no tracking, no cookies', + trustLine: 'No upload · Works offline · Free and open source (MIT) · No tracking', slotLeftTitle: 'Old version', slotRightTitle: 'New version', slotHint: 'PDF, Word (.docx) or text', @@ -757,6 +767,16 @@ const I18N = { how2Text: 'Removed text is struck through in red, added text is marked green. You can accept or reject each change.', how3Title: 'Save the result if you need it', how3Text: 'As a clean final version (Word in the original format, or PDF) or as a comparison with tracked changes.', + localTitle: 'Your documents stay with you', + localIntro: 'Online comparison services upload your files to their servers. Doc Diff doesn’t: everything is read and compared in your browser. Your documents reach no server, neither ours nor anyone else’s. That makes it suitable for confidential contracts and keeps data protection (GDPR) simple.', + local1Title: 'No upload', + local1Text: 'Your browser blocks every network connection from the page (Content Security Policy). The files only live in the memory of this tab.', + local2Title: 'Works offline', + local2Text: 'The whole app is a single HTML file. Download it, disconnect, keep working.', + local3Title: 'Nothing stored, nothing shared', + local3Text: 'No account, no cookies, no tracking, no browser storage. Close the tab and everything is gone.', + local4Title: 'Check it yourself', + local4Text: 'The source code is open (MIT). The Network tab of your browser’s developer tools shows no request while you compare.', scopeTitle: 'What it can do – and what it can’t', scopeCanTitle: 'Can', scopeCan1: 'Compare PDFs with a text layer, Word files (.docx) and plain text – also mixed, e.g. a PDF against a Word file', @@ -790,9 +810,9 @@ const I18N = { faqWordA: `

Yes. The “Word with tracked changes” export creates a .docx file in which every difference that is still open is a tracked change. In Word or LibreOffice you can accept or reject each change. When the new version is a Word file, the export keeps its formatting: styles, numbering, tables and images stay as they were. From a PDF or text, a newly typeset Word document is created. The final version without marks is available as a Word file, too.

`, - metaTitle: 'Doc Diff – Compare PDF and Word documents without uploading', + metaTitle: 'Doc Diff – Compare PDF and Word files locally, without uploading', otherPageHint: 'This page is also available in English →', - metaDescription: 'Compare two versions of a contract or document: PDF, Word or text, marked word by word. Free, open source, runs in your browser without uploads.', + metaDescription: 'Compare two versions of a contract, marked word by word: PDF, Word or text. Runs locally in your browser, no upload, works offline. Free and open source.', ogImageAlt: 'Doc Diff: two versions of a contract side by side, removed text struck through in red, added text marked green.', footerSource: 'Source code on GitHub', githubMenu: 'Source code on GitHub', diff --git a/src/js/11-session.js b/src/js/11-session.js index da8f5d9..3b6e7e9 100644 --- a/src/js/11-session.js +++ b/src/js/11-session.js @@ -17,7 +17,7 @@ * entry; version 1 files (no review status) still open. */ -const DOCDIFF_APP_VERSION = '1.6.3'; +const DOCDIFF_APP_VERSION = '1.6.4'; const SESSION_FORMAT_ID = 'docdiff-session'; const SESSION_FORMAT_VERSION = 2; const SESSION_FILE_EXT = '.docdiff'; diff --git a/src/styles.css b/src/styles.css index 741ede4..83be513 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1207,6 +1207,42 @@ body.is-dragging-file .drop-slot-btn { font-size: var(--text-ui-sm); font-weight: 700; } +.local-intro { + max-width: 46em; + margin-top: 10px; + font-size: var(--text-doc-lg); + line-height: 1.55; + color: hsl(var(--muted-foreground)); +} +.local-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + margin-top: 18px; +} +.local-card { + padding: 18px 20px; + border-radius: var(--radius-lg); + background: hsl(var(--card)); + box-shadow: inset 0 0 0 1px var(--kante-200); +} +.local-card .icon { + width: 20px; + height: 20px; + color: hsl(var(--success-ink)); +} +.local-card h3 { + margin-top: 10px; + font-size: var(--text-title); + font-weight: 600; + color: hsl(var(--foreground)); +} +.local-card p { + margin-top: 6px; + font-size: var(--text-doc-lg); + line-height: 1.5; + color: hsl(var(--muted-foreground)); +} .scope-grid { display: grid; grid-template-columns: 1fr 1fr; @@ -3410,6 +3446,7 @@ body.list-open .toast-region { padding-top: 24px; } .how-steps, + .local-grid, .scope-grid { grid-template-columns: 1fr; gap: 14px; diff --git a/src/template.html b/src/template.html index d1111fc..6392b00 100644 --- a/src/template.html +++ b/src/template.html @@ -24,6 +24,9 @@ + + __I18N:metaTitle__ @@ -381,6 +384,17 @@

So funktioniert’s

+
+

Ihre Dokumente bleiben bei Ihnen

+

+
+

+

+

+

+
+
+

Was es kann – und was nicht