@jjlmoya/utils-forensic-science 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +69 -0
- package/scripts/crystal-lattice-catalog-translations.mjs +459 -0
- package/scripts/postinstall.mjs +27 -0
- package/scripts/sync-crystal-lattice-i18n.mjs +50 -0
- package/src/category/i18n/de.ts +55 -0
- package/src/category/i18n/en.ts +55 -0
- package/src/category/i18n/es.ts +55 -0
- package/src/category/i18n/fr.ts +55 -0
- package/src/category/i18n/id.ts +55 -0
- package/src/category/i18n/it.ts +55 -0
- package/src/category/i18n/ja.ts +56 -0
- package/src/category/i18n/ko.ts +56 -0
- package/src/category/i18n/nl.ts +55 -0
- package/src/category/i18n/pl.ts +55 -0
- package/src/category/i18n/pt.ts +55 -0
- package/src/category/i18n/ru.ts +55 -0
- package/src/category/i18n/sv.ts +55 -0
- package/src/category/i18n/tr.ts +55 -0
- package/src/category/i18n/zh.ts +56 -0
- package/src/category/index.ts +48 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +10 -0
- package/src/entries.ts +48 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +29 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +162 -0
- package/src/pages/[locale].astro +261 -0
- package/src/pages/index.astro +3 -0
- package/src/tests/diacritics_density.test.ts +140 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +24 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/seo_length.test.ts +46 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +16 -0
- package/src/tests/widmark.test.ts +28 -0
- package/src/tool/forensic-age-estimator/bibliography.astro +14 -0
- package/src/tool/forensic-age-estimator/bibliography.ts +16 -0
- package/src/tool/forensic-age-estimator/component.astro +321 -0
- package/src/tool/forensic-age-estimator/dental-skeletal-third-molar-age-estimator.css +634 -0
- package/src/tool/forensic-age-estimator/entry.ts +32 -0
- package/src/tool/forensic-age-estimator/i18n/de.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/en.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/es.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/fr.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/id.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/it.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ja.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ko.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/nl.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/pl.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/pt.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ru.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/sv.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/tr.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/zh.ts +246 -0
- package/src/tool/forensic-age-estimator/index.ts +11 -0
- package/src/tool/forensic-age-estimator/logic.ts +81 -0
- package/src/tool/forensic-age-estimator/seo.astro +15 -0
- package/src/tool/forensic-blood-test-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-blood-test-simulator/bibliography.ts +12 -0
- package/src/tool/forensic-blood-test-simulator/component.astro +168 -0
- package/src/tool/forensic-blood-test-simulator/dom-utils.ts +40 -0
- package/src/tool/forensic-blood-test-simulator/entry.ts +32 -0
- package/src/tool/forensic-blood-test-simulator/forensic-presumptive-blood-testing-luminol-kastle-meyer-simulator.css +532 -0
- package/src/tool/forensic-blood-test-simulator/helpers.ts +16 -0
- package/src/tool/forensic-blood-test-simulator/i18n/de.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/en.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/es.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/fr.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/id.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/it.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ja.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ko.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/nl.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/pl.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/pt.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ru.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/sv.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/tr.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/zh.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/index.ts +11 -0
- package/src/tool/forensic-blood-test-simulator/logic.ts +174 -0
- package/src/tool/forensic-blood-test-simulator/script.ts +192 -0
- package/src/tool/forensic-blood-test-simulator/seo.astro +15 -0
- package/src/tool/forensic-fiber-comparison-microscope/bibliography.astro +6 -0
- package/src/tool/forensic-fiber-comparison-microscope/bibliography.ts +16 -0
- package/src/tool/forensic-fiber-comparison-microscope/component.astro +146 -0
- package/src/tool/forensic-fiber-comparison-microscope/entry.ts +32 -0
- package/src/tool/forensic-fiber-comparison-microscope/forensic-fiber-comparison-microscope.css +629 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/de.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/en.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/es.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/fr.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/id.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/it.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ja.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ko.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/nl.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/pl.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/pt.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ru.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/sv.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/tr.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/zh.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/index.ts +11 -0
- package/src/tool/forensic-fiber-comparison-microscope/logic.ts +244 -0
- package/src/tool/forensic-fiber-comparison-microscope/render.ts +265 -0
- package/src/tool/forensic-fiber-comparison-microscope/seo.astro +15 -0
- package/src/tool/forensic-fiber-comparison-microscope/view.ts +267 -0
- package/src/tool/forensic-glass-becke-line-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-glass-becke-line-simulator/bibliography.ts +16 -0
- package/src/tool/forensic-glass-becke-line-simulator/component.astro +81 -0
- package/src/tool/forensic-glass-becke-line-simulator/entry.ts +32 -0
- package/src/tool/forensic-glass-becke-line-simulator/forensic-glass-becke-line-simulator.css +392 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/de.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/en.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/es.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/fr.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/id.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/it.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ja.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ko.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/nl.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/pl.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/pt.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ru.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/sv.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/tr.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/zh.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/index.ts +11 -0
- package/src/tool/forensic-glass-becke-line-simulator/logic.ts +100 -0
- package/src/tool/forensic-glass-becke-line-simulator/seo.astro +15 -0
- package/src/tool/forensic-glass-becke-line-simulator/view.ts +281 -0
- package/src/tool/forensic-image-authenticity-analyzer/bibliography.astro +9 -0
- package/src/tool/forensic-image-authenticity-analyzer/bibliography.ts +7 -0
- package/src/tool/forensic-image-authenticity-analyzer/component.astro +250 -0
- package/src/tool/forensic-image-authenticity-analyzer/entry.ts +29 -0
- package/src/tool/forensic-image-authenticity-analyzer/forensic-image-metadata-authenticity-analyzer.css +679 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/de.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/en.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/es.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/fr.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/id.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/it.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ja.ts +72 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ko.ts +72 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/nl.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pl.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pt.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ru.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/sv.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/tr.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/zh.ts +71 -0
- package/src/tool/forensic-image-authenticity-analyzer/index.ts +11 -0
- package/src/tool/forensic-image-authenticity-analyzer/logic.ts +283 -0
- package/src/tool/forensic-image-authenticity-analyzer/seo.astro +10 -0
- package/src/tool/forensic-microcrystal-drug-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-microcrystal-drug-simulator/bibliography.ts +12 -0
- package/src/tool/forensic-microcrystal-drug-simulator/component.astro +240 -0
- package/src/tool/forensic-microcrystal-drug-simulator/entry.ts +32 -0
- package/src/tool/forensic-microcrystal-drug-simulator/forensic-microcrystal-drug-simulator.css +430 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/de.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/en.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/es.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/fr.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/id.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/it.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ja.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ko.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/nl.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/pl.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/pt.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ru.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/sv.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/tr.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/zh.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/index.ts +11 -0
- package/src/tool/forensic-microcrystal-drug-simulator/logic.ts +189 -0
- package/src/tool/forensic-microcrystal-drug-simulator/seo.astro +15 -0
- package/src/tool/forensic-sex-determinator/bibliography.astro +14 -0
- package/src/tool/forensic-sex-determinator/bibliography.ts +12 -0
- package/src/tool/forensic-sex-determinator/component.astro +463 -0
- package/src/tool/forensic-sex-determinator/entry.ts +32 -0
- package/src/tool/forensic-sex-determinator/forensic-sex-determinator.css +413 -0
- package/src/tool/forensic-sex-determinator/i18n/de.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/en.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/es.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/fr.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/id.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/it.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ja.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ko.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/nl.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/pl.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/pt.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ru.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/sv.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/tr.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/zh.ts +211 -0
- package/src/tool/forensic-sex-determinator/index.ts +11 -0
- package/src/tool/forensic-sex-determinator/logic.ts +89 -0
- package/src/tool/forensic-sex-determinator/seo.astro +15 -0
- package/src/tool/forensic-stature-estimator/bibliography.astro +14 -0
- package/src/tool/forensic-stature-estimator/bibliography.ts +12 -0
- package/src/tool/forensic-stature-estimator/component.astro +49 -0
- package/src/tool/forensic-stature-estimator/components/EstimationPanel.astro +65 -0
- package/src/tool/forensic-stature-estimator/components/OsteometricBoard.astro +39 -0
- package/src/tool/forensic-stature-estimator/components/OsteometricSelector.astro +109 -0
- package/src/tool/forensic-stature-estimator/dom-utils.ts +71 -0
- package/src/tool/forensic-stature-estimator/entry.ts +32 -0
- package/src/tool/forensic-stature-estimator/forensic-stature-estimator.css +689 -0
- package/src/tool/forensic-stature-estimator/helpers.ts +51 -0
- package/src/tool/forensic-stature-estimator/i18n/de.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/en.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/es.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/fr.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/id.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/it.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ja.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ko.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/nl.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/pl.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/pt.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ru.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/sv.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/tr.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/zh.ts +196 -0
- package/src/tool/forensic-stature-estimator/index.ts +11 -0
- package/src/tool/forensic-stature-estimator/logic.ts +119 -0
- package/src/tool/forensic-stature-estimator/script.ts +288 -0
- package/src/tool/forensic-stature-estimator/seo.astro +15 -0
- package/src/tool/forensic-tlc-ink-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-tlc-ink-simulator/bibliography.ts +16 -0
- package/src/tool/forensic-tlc-ink-simulator/component.astro +245 -0
- package/src/tool/forensic-tlc-ink-simulator/entry.ts +32 -0
- package/src/tool/forensic-tlc-ink-simulator/forensic-tlc-ink-simulator.css +462 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/de.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/en.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/es.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/fr.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/id.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/it.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ja.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ko.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/nl.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/pl.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/pt.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ru.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/sv.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/tr.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/zh.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/index.ts +11 -0
- package/src/tool/forensic-tlc-ink-simulator/logic.ts +152 -0
- package/src/tool/forensic-tlc-ink-simulator/seo.astro +15 -0
- package/src/tool/gsr-dispersion-calculator/bibliography.astro +6 -0
- package/src/tool/gsr-dispersion-calculator/bibliography.ts +16 -0
- package/src/tool/gsr-dispersion-calculator/component.astro +294 -0
- package/src/tool/gsr-dispersion-calculator/entry.ts +32 -0
- package/src/tool/gsr-dispersion-calculator/gsr-dispersion-calculator.css +305 -0
- package/src/tool/gsr-dispersion-calculator/i18n/de.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/en.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/es.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/fr.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/id.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/it.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ja.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ko.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/nl.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/pl.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/pt.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ru.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/sv.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/tr.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/zh.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/index.ts +11 -0
- package/src/tool/gsr-dispersion-calculator/logic.ts +148 -0
- package/src/tool/gsr-dispersion-calculator/seo.astro +15 -0
- package/src/tool/widmark-alcohol-simulator/bibliography.astro +14 -0
- package/src/tool/widmark-alcohol-simulator/bibliography.ts +12 -0
- package/src/tool/widmark-alcohol-simulator/component.astro +453 -0
- package/src/tool/widmark-alcohol-simulator/entry.ts +32 -0
- package/src/tool/widmark-alcohol-simulator/i18n/de.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/en.ts +206 -0
- package/src/tool/widmark-alcohol-simulator/i18n/es.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/fr.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/id.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/it.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ja.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ko.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/nl.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/pl.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/pt.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ru.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/sv.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/tr.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/zh.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/index.ts +11 -0
- package/src/tool/widmark-alcohol-simulator/logic.ts +97 -0
- package/src/tool/widmark-alcohol-simulator/seo.astro +15 -0
- package/src/tool/widmark-alcohol-simulator/widmark-alcohol-simulator.css +386 -0
- package/src/tools.ts +27 -0
- package/src/types.ts +70 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensischer-bildmetadata-authentizitaets-analysator';
|
|
5
|
+
const title = 'Forensischer Bildmetadata und Authentizitätsanalysator';
|
|
6
|
+
const description = 'Untersuche Bildheader, EXIF-Aufnahmedaten, GPS-Koordinaten, Signaturen von Bearbeitungssoftware und Rohbytes lokal in deinem Browser.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Originalbeweis sichern', text: 'Arbeite mit einer forensischen Kopie und bewahre die Quelldatei sowie ihren kryptografischen Hash außerhalb dieses Browser-Tools auf.' },
|
|
10
|
+
{ name: 'Bild lokal laden', text: 'Ziehe ein JPEG oder PNG hinein oder wähle eine Datei aus. Die Datei wird nur im Browserspeicher gelesen und nicht hochgeladen.' },
|
|
11
|
+
{ name: 'Metadaten und Ort prüfen', text: 'Vergleiche Aufnahmezeit, Kameradaten, Software und GPS-Felder mit der Falldarstellung und den Erfassungsunterlagen.' },
|
|
12
|
+
{ name: 'Integritaetssignale einordnen', text: 'Behandle Editiersignaturen und fehlende Felder als Ermittlungsansaetze, nicht als Beweis fuer Manipulation.' },
|
|
13
|
+
{ name: 'Hex-Vorschau auswerten', text: 'Nutze die markierten Header- und Metadatenbereiche, um die Containerstruktur zu erkennen und Offsets fuer eine tiefere Analyse zu dokumentieren.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Koennen Metadaten beweisen, dass ein Foto echt ist?', answer: 'Nein. Metadaten können entfernt, kopiert oder verändert werden. Eine Authentifizierung erfordert die Kombination aus Dateistruktur, Herkunft, Hashes, visueller Prüfung, Kompressionsanalyse und validierten forensischen Methoden.' },
|
|
18
|
+
{ question: 'Beweist eine Adobe- oder GIMP-Signatur eine boeswillige Bearbeitung?', answer: 'Nein. Sie zeigt nur an, dass eine Software die Datei oder ihre Metadaten geschrieben oder exportiert haben koennte. Auch legitime Farbkorrektur, redaktionelle Verarbeitung oder Beweisaufbereitung können dieselbe Signatur erzeugen.' },
|
|
19
|
+
{ question: 'Wird das Bild hochgeladen?', answer: 'Nein. Die Analyse erfolgt im Arbeitsspeicher des Browsers. Beachte trotzdem die Beweisrichtlinien deiner Organisation, bevor du sensibles Material in irgendeiner Software öffnest.' },
|
|
20
|
+
{ question: 'Warum koennten GPS-Daten fehlen?', answer: 'Die Kamera unterstuetzt möglicherweise kein GPS, die Standortaufzeichnung war deaktiviert, eine Plattform hat Metadaten entfernt oder die Datei wurde neu kodiert.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Nur lokale Binaeranalyse',
|
|
29
|
+
dropTitle: 'Lege ein Bild auf den Beweistisch',
|
|
30
|
+
dropHint: 'Ziehe hier ein JPEG oder PNG hinein oder wähle eine Datei. Es wird nichts hochgeladen.',
|
|
31
|
+
chooseFile: 'Bild auswählen',
|
|
32
|
+
replaceFile: 'Bild ersetzen',
|
|
33
|
+
waiting: 'Warte auf Beweisstueck',
|
|
34
|
+
metadata: 'Aufnahmemetadaten',
|
|
35
|
+
integrity: 'Integritaetssignale',
|
|
36
|
+
location: 'Erfasster Ort',
|
|
37
|
+
hex: 'Hexadezimales Beweisfenster',
|
|
38
|
+
hexHint: 'Erste 512 Bytes - cyanfarbener Header - bernsteinfarbene Metadaten - neutrale Bilddaten',
|
|
39
|
+
noData: 'Kein lesbarer Wert',
|
|
40
|
+
noGps: 'Es wurden keine lesbaren GPS-Koordinaten gefunden.',
|
|
41
|
+
mapLink: 'Koordinaten in OpenStreetMap oeffnen',
|
|
42
|
+
score: 'Heuristische Vertrauensstufe',
|
|
43
|
+
disclaimer: 'Ein hoher Wert belegt keine Authentizitaet. Bewahre das Original auf, berechne kryptografische Hashes und nutze validierte Labor-Workflows fuer Fallbewertungen.',
|
|
44
|
+
fileName: 'Datei',
|
|
45
|
+
fileSize: 'Größe',
|
|
46
|
+
fileType: 'Container',
|
|
47
|
+
camera: 'Kamera',
|
|
48
|
+
captured: 'Aufgenommen',
|
|
49
|
+
software: 'Software',
|
|
50
|
+
coordinates: 'Koordinaten',
|
|
51
|
+
statusNoObvious: 'Keine offensichtlichen Bearbeitungshinweise',
|
|
52
|
+
statusReview: 'Prüfung empfohlen',
|
|
53
|
+
statusEditing: 'Bearbeitungssignatur erkannt',
|
|
54
|
+
processing: 'Binaere Beweisdaten werden gelesen...',
|
|
55
|
+
loadError: 'Die Datei konnte nicht analysiert werden. Waehle ein gueltiges JPEG- oder PNG-Bild aus.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Wie man Bildmetadaten und Authentizitaetssignale analysiert', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Ein forensischer Bildmetadata-Analysator hilft Ermittlern, Journalisten, juristischen Teams, Compliance-Pruefern und Sachverstaendigen bei einer haeufig gesuchten Frage: <strong>Was können Bildmetadaten tatsaechlich über ein Foto verraten?</strong> Metadaten können nuetzliche Hinweise zu Aufnahme, Ort, Softwareverarbeitung und Dateistruktur liefern, sind aber keine eigenstaendige Wahrheitsmaschine. Ihr größter Nutzen liegt im Triage-Prozess. Sie helfen dabei zu erkennen, welche Dateien eine tiefere Analyse verdienen, welche Details die behauptete Geschichte des Bildes stuetzen und welche Widersprueche vor einer belastbaren Authentizitaetsaussage weiter geprueft werden muessen.' },
|
|
60
|
+
{ type: 'paragraph', html: 'Dieses Browser-Tool richtet sich an Nutzer, die mehr wollen als einen rohen EXIF-Dump. Es liest das ausgewaehlte JPEG oder PNG lokal ein und zeigt Kamerafelder, Aufnahmezeitpunkte, Software-Tags, Koordinaten, Containerhinweise und die ersten Bytes der Datei an einem Ort. Damit bedient es Suchintentionen hinter Begriffen wie <em>Foto Authentizitaetsprüfung</em>, <em>EXIF-Metadaten analysieren</em>, <em>woran erkennt man bearbeitete Bilder</em> oder <em>GPS-Metadaten eines Bildes prüfen</em>. Wer danach sucht, moechte in der Regel sowohl Belege als auch Einordnung und nicht nur eine Tag-Liste.' },
|
|
61
|
+
{ type: 'paragraph', html: 'Der wichtigste Grundsatz ist: Das Ergebnis muss als Kontext gelesen werden, nicht als Urteil. Eine Datei kann nuetzliche Metadaten enthalten und trotzdem irreführend sein. Sie kann nur wenige oder gar keine Metadaten enthalten und dennoch echt sein. Eine Softwaresignatur kann auf normales Exportverhalten hindeuten statt auf taeuschende Manipulation. Gute forensische Praxis behandelt Metadaten deshalb als eine Beweisebene, die mit Herkunft, Hashes, Zeugenaussagen, Gerätehistorie und validierten Untersuchungsmethoden abgeglichen werden muss.' },
|
|
62
|
+
{ type: 'title', text: 'Was EXIF sagen kann und was nicht', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'EXIF ist eine TIFF-basierte Metadatenstruktur, die haeufig in JPEG-Dateien eingebettet ist. Sie kann das Aufnahmegeraet, das urspruengliche Datum und die Uhrzeit, die Ausrichtung, Belichtungsparameter und die GPS-Position enthalten. Wenn diese Felder intern stimmig sind und zu den bekannten Umstaenden des Falls passen, können sie eine vorgeschlagene Zeitleiste oder Herkunft stuetzen. Wenn sie der behaupteten Entstehungsgeschichte widersprechen, liefern sie gezielte Fragen fuer die weitere Prüfung.' },
|
|
64
|
+
{ type: 'paragraph', html: 'Einer der größten Irrtuemer hinter Suchanfragen zu Bildmetadaten ist die Annahme, EXIF sei standardmaessig vertrauenswuerdig. Das ist nicht so. Metadaten können bearbeitet, zwischen Dateien kopiert, von sozialen Netzwerken entfernt, beim Export verändert, durch Cloud-Plattformen normalisiert oder bei der Neukodierung teilweise beschaedigt werden. Die bessere Frage lautet daher nicht nur, ob Metadaten vorhanden sind, sondern ob sie technisch kohaerent, kontextuell plausibel und durch unabhaengige Beweise gestuetzt sind.' },
|
|
65
|
+
{ type: 'table', headers: ['Beobachtung', 'Moegliche Bedeutung', 'Erforderliche Vorsicht'], rows: [
|
|
66
|
+
['Kameramarke und -modell vorhanden', 'Die Datei enthaelt Gerätekennungs-Tags.', 'Tags können kopiert oder umgeschrieben werden und identifizieren die physische Kamera nicht allein.'],
|
|
67
|
+
['GPS-Koordinaten vorhanden', 'In den Metadaten wurde ein Ort gespeichert.', 'Pruefe Vorzeichen, Datum, Zeitstempel und Uebereinstimmung mit unabhaengigen Beweisen.'],
|
|
68
|
+
['Software-Tag nennt einen Editor', 'Die genannte Anwendung hat die Datei wahrscheinlich geschrieben oder exportiert.', 'Das beweist keine taeuschende Montage oder inhaltliche Veraenderung.'],
|
|
69
|
+
['Aufnahmedatum fehlt', 'Das relevante Tag fehlt oder ist nicht lesbar.', 'Fehlende Daten können auf Privatsphaere-Einstellungen, Transkodierung oder Metadatenentfernung zurückgehen.'],
|
|
70
|
+
] },
|
|
71
|
+
{ type: 'title', text: 'Was Nutzer meist mit "Ist dieses Foto authentisch?" meinen', level: 3 },
|
|
72
|
+
{ type: 'paragraph', html: 'In der Praxis meinen Menschen, die nach Bildauthentizitaetsprüfungen suchen, oft unterschiedliche Dinge. Sie wollen wissen, ob die Datei direkt aus einer Kamera stammt, ob Bearbeitungssoftware sie beruehrt hat, ob das behauptete Datum oder der Ort plausibel wirken, ob die Dateistruktur normal aussieht oder ob unmittelbare Gruende zum Misstrauen bestehen. Ein nuetzlicher Analysator sollte diese Fragen auseinanderhalten, statt alles in ein vereinfachtes Ja-oder-Nein zu pressen.' },
|
|
73
|
+
{ type: 'paragraph', html: 'Dieses Tool trennt deshalb zwischen <strong>Beobachtungen</strong> und <strong>Heuristiken</strong>. Beobachtungen sind Dinge, die die Datei tatsaechlich zu enthalten scheint, zum Beispiel ein lesbares Softwarefeld oder ein Koordinatenpaar. Heuristiken sind risikoorientierte Einordnungen, etwa ob eine Editor-Signatur überprueft werden sollte. Diese Trennung ist sowohl fuer die Nutzbarkeit als auch fuer SEO wertvoll, weil sie eine reale Nutzerfrage beantwortet: Was sagt die Datei, was schließt das Tool daraus und wo bleibt menschliches Urteil unverzichtbar?' },
|
|
74
|
+
{ type: 'title', text: 'Bearbeitungssoftware-Signaturen richtig deuten', level: 3 },
|
|
75
|
+
{ type: 'paragraph', html: 'Namen wie Adobe Photoshop, Lightroom, GIMP, Snapseed oder ImageMagick können als Klartext in Metadaten oder Anwendungssegmenten erscheinen. Ihre Praesenz ist ein Herkunftshinweis zur Dateiverarbeitung, aber kein Beweis dafuer, dass Pixel boeswillig verändert wurden. Gerade hier liegt eine sehr haeufige Suchintention, weil viele Nutzer annehmen, der Name eines Editors bedeute automatisch Manipulation. Tatsaechlich können auch normales Skalieren, Formatumwandlung, Farbkorrektur, redaktionelle Verarbeitung, Schwaerzung oder Beweisaufbereitung dieselbe Signatur hinterlassen.' },
|
|
76
|
+
{ type: 'paragraph', html: 'Eine bessere Einordnung fragt danach, welche Rolle die genannte Software plausibel gespielt hat. Hat sie das Bild fuer das Web verkleinert? Beim Export Metadaten entfernt? Einen Screenshot gespeichert? Eine Social-Media-Kopie neu kodiert? Ein Farbprofil hinzugefuegt? Dieselbe Zeichenfolge kann je nach Workflow sehr unterschiedliche Geschichten stuetzen. Sachverstaendige sollten die Signatur mit dem erwarteten Verarbeitungsverlauf vergleichen und bei entsprechendem Risiko zu tieferen Methoden wie Quantisierungstabellen-Prüfung, Kompressionshistorien-Analyse, Thumbnail-Vergleich, Sensorpattern-Untersuchung und Pixeltests übergehen.' },
|
|
77
|
+
{ type: 'title', text: 'GPS-Metadaten verantwortungsvoll lesen', level: 3 },
|
|
78
|
+
{ type: 'paragraph', html: 'GPS-Metadaten können sehr wertvoll sein, weil sie ein Bild mit einem Ort verknuepfen können. Gleichzeitig werden sie oft überinterpretiert. Koordinaten sollten auf Hemisphaeren-Vorzeichen, Dezimalpraezision, zeitliche Zuordnung und Stimmigkeit mit dem Rest der Datei geprueft werden. Ein Koordinatenpaar, das praezise aussieht, ist nicht automatisch verlaesslich. Es kann auf alten Gerätestatus, manuelle Bearbeitung, Exportverhalten oder eine gemeinsam geteilte Medienhistorie zurückgehen. Fehlende GPS-Daten bedeuten ebenfalls nicht automatisch Verschleierung, weil viele Kameras nie Standortdaten speichern und viele Plattformen sie standardmaessig entfernen.' },
|
|
79
|
+
{ type: 'paragraph', html: 'Fuer Nutzer, die über Suchanfragen zu Foto-Geolokalisierung oder metadatenbasierter Ortsprüfung kommen, ist Vergleich der verlaesslichste Ansatz. Behandle Koordinaten als einen Hinweis unter mehreren. Vergleiche sie mit Zeugenaussagen, Reiseverlauf, markanten Szenenmerkmalen, Wetter, Netzwerkdaten, Cloud-Backups und Geräteeintraegen, sofern dies rechtlich zulaessig ist. Der eigentliche Wert der Metadaten liegt darin, wie gut sie in das groessere Beweisbild passen.' },
|
|
80
|
+
{ type: 'title', text: 'Warum die hexadezimale Ansicht wichtig ist', level: 3 },
|
|
81
|
+
{ type: 'paragraph', html: 'Ein Hex-Viewer zeigt die tatsaechlichen Bytewerte und Offsets, aus denen die Datei besteht. Das ist wichtig, weil viele Fragen zur Authentizitaet in Wahrheit Strukturfragen sind. JPEG-Dateien beginnen üblicherweise mit dem SOI-Marker FF D8, gefolgt von Segmenten wie APP0 oder APP1. EXIF liegt haeufig in APP1. PNG-Dateien starten mit einer Acht-Byte-Signatur und setzen sich als benannte Chunks fort. Ein Blick auf die ersten Bytes hilft zu prüfen, ob eine Datei zumindest wie der Container aussieht, der sie vorgibt zu sein, und bietet erfahrenen Pruefern eine schnelle Möglichkeit, Offsets fuer spaetere Berichte festzuhalten.' },
|
|
82
|
+
{ type: 'paragraph', html: 'Strukturelle Auffälligkeiten bedeuten nicht automatisch Manipulation, da sich legitime Encoder unterscheiden. Trotzdem ist Byte-Sichtbarkeit wertvoll, wenn eine Datei beschaedigt, falsch bezeichnet, teilweise überschrieben oder mit ihrer Endung unvereinbar erscheint. Viele Nutzer, die nach einem Bildforensik-Tool suchen, moechten Transparenz statt Blackbox. Wenn Header und Metadatenzonen direkt sichtbar sind, wird leichter nachvollziehbar, wo die Interpretation beginnt.' },
|
|
83
|
+
{ type: 'title', text: 'Ein praktischer Workflow fuer die Metadatenprüfung', level: 3 },
|
|
84
|
+
{ type: 'paragraph', html: 'Ein belastbarer Workflow beginnt vor der EXIF-Prüfung. Bewahre die Quelldatei auf, berechne einen kryptografischen Hash und behandle eine im Browser geladene Arbeitskopie niemals als beweisrelevantes Master. Pruefe danach gemeinsam den Container, die Dateieigenschaften, die Aufnahmefelder, die Softwarefelder und die GPS-Koordinaten. Suche zunaechst nach interner Stimmigkeit. Anschliessend vergleichst du, was die Datei erzählt, mit dem, was der Fall erzählt. In vielen Ermittlungen entsteht die nuetzlichste Erkenntnis aus der Abweichung zwischen diesen beiden Geschichten.' },
|
|
85
|
+
{ type: 'paragraph', html: 'Das ist auch fuer die Suchintention wichtig, weil viele Nutzer eben nicht nur eine Tag-Liste wollen. Sie moechten wissen, was sie nach dem Anblick eines Datums, einer Softwarebezeichnung oder eines Koordinatenpaars tun sollen. In den meisten Faellen bedeutet das: Beobachtung dokumentieren, Einschraenkung festhalten und entscheiden, ob die Datei eine tiefere Untersuchung mit laborzugelassenen Methoden benoetigt. Metadatenanalyse ist ein Einstiegsschritt, nicht die ganze Untersuchung.' },
|
|
86
|
+
{ type: 'title', text: 'Checkliste fuer den forensischen Workflow', level: 3 },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Sichern:</strong> Behandle eine im Browser geladene Arbeitskopie niemals als beweisrelevantes Master.',
|
|
89
|
+
'<strong>Hashen:</strong> Erfasse einen kryptografischen Hash bei der Sicherung und nach jeder autorisierten Uebertragung.',
|
|
90
|
+
'<strong>Abgleichen:</strong> Vergleiche Metadaten mit Gerätedaten, Cloud-Eintraegen, Zeugenaussagen und Tatsachen am Tatort.',
|
|
91
|
+
'<strong>Dokumentieren:</strong> Halte Softwareversionen, Einstellungen, Offsets, Beobachtungen und Screenshots fuer die Reproduzierbarkeit fest.',
|
|
92
|
+
'<strong>Validieren:</strong> Nutze laborzugelassene Werkzeuge und Peer Review, bevor du eine formale Authentizitaetsaussage triffst.',
|
|
93
|
+
] },
|
|
94
|
+
{ type: 'title', text: 'Wann Metadatenprüfung nicht ausreicht', level: 3 },
|
|
95
|
+
{ type: 'paragraph', html: 'Manchmal wirken die Metadaten sauber und das Bild ist trotzdem irreführend. Manchmal erscheinen die Metadaten verdaechtig und das Bild ist dennoch authentisch. Deshalb brauchen fortgeschrittene forensische Schlussfolgerungen mehr als Dateitags. Je nach Fallgewicht können Folgeschritte Kompressionsartefakt-Analyse, Quantisierungstabellen-Vergleich, Prüfung inkonsistenter Thumbnails, Pixeluntersuchung, Rekonstruktion der Herkunft und Review der Chain of Custody umfassen. Guter SEO-Inhalt sagt das klar, weil er damit die eigentliche Frage hinter vielen Suchanfragen beantwortet: Was kann dieses Tool leisten und wo beginnen seine Grenzen?' },
|
|
96
|
+
],
|
|
97
|
+
faq,
|
|
98
|
+
bibliography,
|
|
99
|
+
howTo,
|
|
100
|
+
schemas: [
|
|
101
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
102
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
103
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
104
|
+
],
|
|
105
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensic-image-metadata-authenticity-analyzer';
|
|
5
|
+
const title = 'Forensic Image Metadata and Authenticity Analyzer';
|
|
6
|
+
const description = 'Inspect image headers, EXIF capture details, GPS coordinates, editing-software signatures, and raw bytes locally in your browser.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Preserve the original evidence', text: 'Work from a forensic copy and retain the source file and its cryptographic hash outside this browser tool.' },
|
|
10
|
+
{ name: 'Load an image locally', text: 'Drop or select a JPEG or PNG. The file is read in browser memory and is not uploaded by this tool.' },
|
|
11
|
+
{ name: 'Review metadata and location', text: 'Compare capture time, camera identity, software, and GPS fields with the case narrative and acquisition records.' },
|
|
12
|
+
{ name: 'Interpret integrity indicators', text: 'Treat editor signatures and missing fields as investigative leads, not proof of manipulation.' },
|
|
13
|
+
{ name: 'Examine the hexadecimal preview', text: 'Use the highlighted header and metadata zones to identify container structure and document offsets for deeper examination.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Can metadata prove that a photograph is authentic?', answer: 'No. Metadata can be removed, copied, or changed. Authentication requires combining file structure, provenance, hashes, visual examination, compression analysis, and validated forensic methods.' },
|
|
18
|
+
{ question: 'Does an Adobe or GIMP signature prove malicious editing?', answer: 'No. It indicates that software may have written or exported the file. Legitimate color correction, newsroom processing, or evidence preparation can produce the same signature.' },
|
|
19
|
+
{ question: 'Is the image uploaded?', answer: 'No. Analysis is performed in browser memory. Nevertheless, follow your organization\'s evidence-handling policy before opening sensitive material in any software.' },
|
|
20
|
+
{ question: 'Why might GPS data be missing?', answer: 'The camera may not support GPS, location recording may have been disabled, a platform may have stripped metadata, or the file may have been re-encoded.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Local-only binary examination',
|
|
29
|
+
dropTitle: 'Place an image on the evidence table',
|
|
30
|
+
dropHint: 'Drop a JPEG or PNG here, or choose a file. Nothing is uploaded.',
|
|
31
|
+
chooseFile: 'Choose image',
|
|
32
|
+
replaceFile: 'Replace image',
|
|
33
|
+
waiting: 'Awaiting evidence',
|
|
34
|
+
metadata: 'Capture metadata',
|
|
35
|
+
integrity: 'Integrity signals',
|
|
36
|
+
location: 'Recorded location',
|
|
37
|
+
hex: 'Hexadecimal evidence window',
|
|
38
|
+
hexHint: 'First 512 bytes · cyan header · amber metadata · neutral image data',
|
|
39
|
+
noData: 'No readable value',
|
|
40
|
+
noGps: 'No readable GPS coordinates were found.',
|
|
41
|
+
mapLink: 'Open coordinates in OpenStreetMap',
|
|
42
|
+
score: 'Heuristic confidence',
|
|
43
|
+
disclaimer: 'A high score does not establish authenticity. Preserve the original, calculate cryptographic hashes, and use validated laboratory workflows for case conclusions.',
|
|
44
|
+
fileName: 'File',
|
|
45
|
+
fileSize: 'Size',
|
|
46
|
+
fileType: 'Container',
|
|
47
|
+
camera: 'Camera',
|
|
48
|
+
captured: 'Captured',
|
|
49
|
+
software: 'Software',
|
|
50
|
+
coordinates: 'Coordinates',
|
|
51
|
+
statusNoObvious: 'No obvious editing indicators',
|
|
52
|
+
statusReview: 'Review recommended',
|
|
53
|
+
statusEditing: 'Editing signature detected',
|
|
54
|
+
processing: 'Reading binary evidence...',
|
|
55
|
+
loadError: 'The file could not be analyzed. Select a valid JPEG or PNG image.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'How to Analyze Image Metadata and Authenticity Indicators', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'A forensic image metadata analyzer helps investigators, journalists, legal teams, compliance reviewers, and researchers answer a high-intent question: <strong>what can image metadata actually reveal about a photograph?</strong> Metadata can expose useful clues about capture, location, software processing, and file structure, but it does not function as a standalone truth machine. Its greatest value is triage. It helps you identify which files deserve deeper examination, which details support the claimed history of the image, and which contradictions need follow-up before anyone makes a strong authenticity claim.' },
|
|
60
|
+
{ type: 'paragraph', html: 'This browser-based utility is designed for users who want more than a raw EXIF dump. It reads the selected JPEG or PNG locally and surfaces camera fields, capture timestamps, software tags, coordinate fields, container clues, and the opening bytes of the file in one place. That supports common search intent behind phrases such as <em>photo authenticity checker</em>, <em>EXIF metadata analyzer</em>, <em>how to tell if an image was edited</em>, and <em>how to verify image GPS metadata</em>. People searching those terms usually want both evidence and interpretation, not just a list of tags.' },
|
|
61
|
+
{ type: 'paragraph', html: 'The most important principle is that the result should be read as context, not as a verdict. A file may contain useful metadata and still be misleading. A file may contain little or no metadata and still be genuine. A software signature may indicate ordinary export behavior rather than deceptive manipulation. Good forensic practice therefore treats metadata as one layer of evidence that must be compared against provenance, hashes, witness accounts, device history, and validated examination methods.' },
|
|
62
|
+
{ type: 'title', text: 'What EXIF Metadata Can and Cannot Tell You', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'EXIF is a TIFF-based metadata structure commonly embedded in JPEG images. It may record the capture device, original date and time, orientation, exposure settings, and GPS position. When those fields are internally consistent and align with the known circumstances of a case, they can support a proposed timeline or source. When they conflict with the reported history of the image, they can identify precise questions for further review.' },
|
|
64
|
+
{ type: 'paragraph', html: 'However, one of the biggest misconceptions behind image metadata searches is that EXIF is trustworthy by default. It is not. Metadata can be edited, copied between files, stripped by social networks, altered during export, normalized by cloud platforms, or partially damaged by transcoding. The better question is not simply whether metadata exists, but whether it is technically coherent, contextually plausible, and corroborated by independent evidence.' },
|
|
65
|
+
{ type: 'table', headers: ['Observation', 'Possible meaning', 'Required caution'], rows: [
|
|
66
|
+
['Camera make and model present', 'The file contains device-identification tags.', 'Tags can be copied or rewritten and do not identify the physical camera by themselves.'],
|
|
67
|
+
['GPS coordinates present', 'A location was recorded in metadata.', 'Confirm coordinate sign, datum, timestamp, and consistency with independent evidence.'],
|
|
68
|
+
['Software tag names an editor', 'The named application likely wrote metadata or exported the file.', 'This does not prove deceptive compositing or content alteration.'],
|
|
69
|
+
['Capture date missing', 'The relevant tag is absent or unreadable.', 'Absence may result from privacy settings, transcoding, or metadata removal.'],
|
|
70
|
+
] },
|
|
71
|
+
{ type: 'title', text: 'What Users Usually Mean by "Is This Photo Authentic?"', level: 3 },
|
|
72
|
+
{ type: 'paragraph', html: 'In practice, people searching for image authenticity checks often mean different things. They may want to know whether the file came directly from a camera, whether editing software touched it, whether the stated date or location seems credible, whether the file structure looks normal, or whether there are immediate reasons to distrust it. A useful analyzer should help separate those questions instead of collapsing everything into a simplistic yes-or-no judgment.' },
|
|
73
|
+
{ type: 'paragraph', html: 'This tool therefore distinguishes between <strong>observations</strong> and <strong>heuristics</strong>. Observations are things the file appears to contain, such as a readable software field or coordinate pair. Heuristics are risk-oriented interpretations, such as whether an editor signature deserves review. That separation is valuable for both usability and SEO because it answers a real user need: people want to understand what the file says, what the tool infers, and where human judgment still matters.' },
|
|
74
|
+
{ type: 'title', text: 'Interpreting Editing Software Signatures', level: 3 },
|
|
75
|
+
{ type: 'paragraph', html: 'Names such as Adobe Photoshop, Lightroom, GIMP, Snapseed, or ImageMagick can appear as plain text in metadata or application segments. Their presence is an attribution clue about file processing, not proof that pixels were maliciously altered. This is one of the most common search intents around forensic image metadata, because many users assume that seeing an editor name automatically means the image was manipulated. In reality, ordinary resizing, format conversion, color correction, newsroom processing, redaction, or evidence preparation can produce the same signature.' },
|
|
76
|
+
{ type: 'paragraph', html: 'A better interpretation is to ask what role the named software plausibly played. Did it resize the image for the web? Strip metadata during export? Save a screenshot? Re-encode a social media copy? Add a color profile? The same software string can support very different narratives depending on the workflow. Examiners should compare the signature with the expected handling history and, when the stakes justify it, move to deeper methods such as quantization-table review, compression-history analysis, thumbnail comparison, sensor-pattern examination, and pixel-level testing.' },
|
|
77
|
+
{ type: 'title', text: 'How to Read GPS Metadata Responsibly', level: 3 },
|
|
78
|
+
{ type: 'paragraph', html: 'GPS metadata can be highly valuable because it may connect an image to a place, but it is easy to overstate its certainty. Coordinates should be checked for hemisphere sign, decimal precision, timestamp alignment, and consistency with the rest of the file. A coordinate pair that looks precise is not automatically reliable. It may reflect stale device state, manual editing, export behavior, or shared-media history. Missing GPS data also does not imply concealment, because many cameras never record location and many platforms remove it automatically.' },
|
|
79
|
+
{ type: 'paragraph', html: 'For users arriving from searches about photo geolocation or metadata-based location verification, the most reliable approach is comparison. Treat the coordinates as one lead among several. Compare them with testimony, travel history, scene landmarks, weather, network records, cloud backups, and device logs where lawfully available. The real value of the metadata lies in how well it fits the broader evidence picture.' },
|
|
80
|
+
{ type: 'title', text: 'Why the Hexadecimal View Matters', level: 3 },
|
|
81
|
+
{ type: 'paragraph', html: 'A hexadecimal viewer exposes the actual byte values and offsets that form the file. That matters because many authenticity questions are really structure questions. JPEG files normally begin with the SOI marker FF D8, followed by marker segments such as APP0 or APP1; EXIF commonly resides in APP1. PNG files begin with an eight-byte signature and continue as named chunks. Looking at the first bytes helps users confirm that a file at least resembles the container it claims to be and gives experienced examiners a fast way to document offsets for later reporting.' },
|
|
82
|
+
{ type: 'paragraph', html: 'Structural anomalies do not automatically mean tampering, because legitimate encoders differ. Still, byte-level visibility is valuable when a file appears damaged, mislabeled, partially rewritten, or inconsistent with its extension. Many users searching for an image forensic tool want transparency rather than a black box. Showing the header and metadata zones directly makes the tool easier to trust because the user can see where the interpretation begins.' },
|
|
83
|
+
{ type: 'title', text: 'A Practical Workflow for Metadata-Based Image Review', level: 3 },
|
|
84
|
+
{ type: 'paragraph', html: 'A strong workflow starts before the EXIF review. Preserve the source file, compute a cryptographic hash, and avoid treating a browser-loaded working copy as the evidential master. Then review the container, file properties, capture fields, software fields, and GPS coordinates together. Look for internal coherence first. After that, compare what the file says with what the case says. In many investigations, the most useful insight comes from the mismatch between those two stories.' },
|
|
85
|
+
{ type: 'paragraph', html: 'This matters for search intent because many users do not just want a tag list. They want to know what to do after they see a date, a software label, or a coordinate pair. In most cases the answer is to document the observation, record the limitation, and decide whether the file needs deeper examination with laboratory-approved methods. Metadata analysis is a gateway step, not the whole examination.' },
|
|
86
|
+
{ type: 'title', text: 'Forensic Workflow Checklist', level: 3 },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Preserve:</strong> Never treat a browser-loaded working copy as the evidential master.',
|
|
89
|
+
'<strong>Hash:</strong> Record a cryptographic hash at acquisition and after every authorized transfer.',
|
|
90
|
+
'<strong>Corroborate:</strong> Compare metadata with device records, cloud records, testimony, and scene facts.',
|
|
91
|
+
'<strong>Document:</strong> Record software versions, settings, offsets, observations, and screenshots needed for reproducibility.',
|
|
92
|
+
'<strong>Validate:</strong> Use laboratory-approved tools and peer review before expressing a formal authenticity conclusion.',
|
|
93
|
+
] },
|
|
94
|
+
{ type: 'title', text: 'When Metadata Review Is Not Enough', level: 3 },
|
|
95
|
+
{ type: 'paragraph', html: 'Sometimes the metadata looks clean and the image is still misleading. Sometimes the metadata looks suspicious and the image is still authentic. That is why advanced forensic conclusions require more than file tags. Depending on the stakes, follow-up work may include compression artifact analysis, quantization-table comparison, thumbnail inconsistency checks, pixel-level examination, provenance reconstruction, and chain-of-custody review. The right SEO content says this clearly because it answers the real question behind most Google searches: what can this tool do for me, and where do its limits begin?' },
|
|
96
|
+
],
|
|
97
|
+
faq,
|
|
98
|
+
bibliography,
|
|
99
|
+
howTo,
|
|
100
|
+
schemas: [
|
|
101
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
102
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
103
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
104
|
+
],
|
|
105
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'analizador-forense-metadatos-autenticidad-imagenes';
|
|
5
|
+
const title = 'Analizador Forense de Metadatos y Autenticidad de Imágenes';
|
|
6
|
+
const description = 'Inspecciona cabeceras de imagen, detalles EXIF de captura, coordenadas GPS, firmas de software de edición y bytes brutos localmente en tu navegador.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Conserva la evidencia original', text: 'Trabaja sobre una copia forense y conserva el archivo fuente y su hash criptográfico fuera de esta herramienta del navegador.' },
|
|
10
|
+
{ name: 'Carga una imagen localmente', text: 'Arrastra o selecciona un JPEG o PNG. El archivo se lee en la memoria del navegador y esta herramienta no lo sube.' },
|
|
11
|
+
{ name: 'Revisa metadatos y ubicación', text: 'Compara la hora de captura, la identidad de la cámara, el software y los campos GPS con la narrativa del caso y los registros de adquisición.' },
|
|
12
|
+
{ name: 'Interpreta las señales de integridad', text: 'Trata las firmas de edición y los campos ausentes como indicios de investigación, no como prueba de manipulación.' },
|
|
13
|
+
{ name: 'Examina la vista hexadecimal', text: 'Usa las zonas resaltadas de cabecera y metadatos para identificar la estructura del contenedor y documentar offsets para un examen más profundo.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: '¿Pueden los metadatos demostrar que una fotografía es auténtica?', answer: 'No. Los metadatos pueden eliminarse, copiarse o modificarse. La autenticación exige combinar estructura del archivo, procedencia, hashes, examen visual, análisis de compresión y métodos forenses validados.' },
|
|
18
|
+
{ question: '¿Una firma de Adobe o GIMP demuestra edición maliciosa?', answer: 'No. Indica que un software pudo haber escrito los metadatos o exportado el archivo. Una corrección legítima de color, un flujo editorial o la preparación de evidencias pueden producir la misma firma.' },
|
|
19
|
+
{ question: '¿La imagen se sube?', answer: 'No. El análisis se realiza en la memoria del navegador. Aun así, sigue la política de tratamiento de evidencias de tu organización antes de abrir material sensible en cualquier software.' },
|
|
20
|
+
{ question: '¿Por qué pueden faltar datos GPS?', answer: 'La cámara puede no admitir GPS, el registro de ubicación pudo estar desactivado, una plataforma pudo haber eliminado los metadatos o el archivo pudo haber sido recodificado.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Examen binario solo local',
|
|
29
|
+
dropTitle: 'Coloca una imagen en la mesa de evidencia',
|
|
30
|
+
dropHint: 'Suelta aquí un JPEG o PNG, o elige un archivo. No se sube nada.',
|
|
31
|
+
chooseFile: 'Elegir imagen',
|
|
32
|
+
replaceFile: 'Reemplazar imagen',
|
|
33
|
+
waiting: 'Esperando evidencia',
|
|
34
|
+
metadata: 'Metadatos de captura',
|
|
35
|
+
integrity: 'Señales de integridad',
|
|
36
|
+
location: 'Ubicación registrada',
|
|
37
|
+
hex: 'Ventana de evidencia hexadecimal',
|
|
38
|
+
hexHint: 'Primeros 512 bytes · cabecera cian · metadatos ámbar · datos de imagen neutros',
|
|
39
|
+
noData: 'Sin valor legible',
|
|
40
|
+
noGps: 'No se encontraron coordenadas GPS legibles.',
|
|
41
|
+
mapLink: 'Abrir coordenadas en OpenStreetMap',
|
|
42
|
+
score: 'Confianza heurística',
|
|
43
|
+
disclaimer: 'Una puntuación alta no establece autenticidad. Conserva el original, calcula hashes criptográficos y utiliza flujos de trabajo de laboratorio validados para las conclusiones del caso.',
|
|
44
|
+
fileName: 'Archivo',
|
|
45
|
+
fileSize: 'Tamaño',
|
|
46
|
+
fileType: 'Contenedor',
|
|
47
|
+
camera: 'Cámara',
|
|
48
|
+
captured: 'Capturado',
|
|
49
|
+
software: 'Software',
|
|
50
|
+
coordinates: 'Coordenadas',
|
|
51
|
+
statusNoObvious: 'Sin indicios evidentes de edición',
|
|
52
|
+
statusReview: 'Se recomienda revisión',
|
|
53
|
+
statusEditing: 'Firma de edición detectada',
|
|
54
|
+
processing: 'Leyendo evidencia binaria...',
|
|
55
|
+
loadError: 'No se pudo analizar el archivo. Selecciona una imagen JPEG o PNG válida.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Cómo Analizar Metadatos de Imagen e Indicadores de Autenticidad', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Un analizador forense de metadatos de imagen ayuda a investigadores, periodistas, equipos legales, revisores de cumplimiento y peritos a responder una pregunta de alta intención: <strong>¿qué pueden revelar realmente los metadatos de una fotografía?</strong> Los metadatos pueden exponer pistas útiles sobre captura, ubicación, procesamiento por software y estructura del archivo, pero no funcionan como una máquina autónoma de verdad. Su mayor valor está en el triaje. Ayudan a identificar qué archivos merecen un examen más profundo, qué detalles respaldan la historia declarada de la imagen y qué contradicciones requieren seguimiento antes de formular una afirmación fuerte sobre su autenticidad.' },
|
|
60
|
+
{ type: 'paragraph', html: 'Esta utilidad basada en navegador está pensada para usuarios que quieren algo más que un volcado EXIF bruto. Lee localmente el JPEG o PNG seleccionado y muestra en un solo lugar campos de cámara, marcas temporales de captura, etiquetas de software, coordenadas, pistas del contenedor y los bytes iniciales del archivo. Eso responde a intenciones de búsqueda frecuentes detrás de expresiones como <em>comprobador de autenticidad de fotos</em>, <em>analizador de metadatos EXIF</em>, <em>cómo saber si una imagen fue editada</em> o <em>cómo verificar metadatos GPS de una imagen</em>. Quien busca esos términos normalmente quiere tanto evidencia como interpretación, no solo una lista de etiquetas.' },
|
|
61
|
+
{ type: 'paragraph', html: 'El principio más importante es que el resultado debe leerse como contexto, no como veredicto. Un archivo puede contener metadatos útiles y seguir siendo engañoso. Un archivo puede contener pocos o ningún metadato y seguir siendo genuino. Una firma de software puede indicar un comportamiento de exportación ordinario en lugar de una manipulación engañosa. Por eso, una buena práctica forense trata los metadatos como una capa de evidencia que debe compararse con procedencia, hashes, testimonios, historial del dispositivo y métodos de examen validados.' },
|
|
62
|
+
{ type: 'title', text: 'Qué Puede y Qué No Puede Decirte el EXIF', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'EXIF es una estructura de metadatos basada en TIFF que suele incrustarse en imágenes JPEG. Puede registrar el dispositivo de captura, la fecha y hora originales, la orientación, los ajustes de exposición y la posición GPS. Cuando esos campos son internamente coherentes y encajan con las circunstancias conocidas del caso, pueden respaldar una cronología o un origen propuesto. Cuando entran en conflicto con la historia declarada de la imagen, pueden señalar preguntas concretas para una revisión posterior.' },
|
|
64
|
+
{ type: 'paragraph', html: 'Sin embargo, uno de los mayores malentendidos detrás de las búsquedas sobre metadatos de imágenes es pensar que el EXIF es fiable por defecto. No lo es. Los metadatos pueden editarse, copiarse entre archivos, eliminarse por redes sociales, alterarse durante la exportación, normalizarse por plataformas en la nube o quedar parcialmente dañados por recodificación. La mejor pregunta no es simplemente si existen metadatos, sino si son técnicamente coherentes, contextualmente plausibles y están corroborados por evidencia independiente.' },
|
|
65
|
+
{ type: 'table', headers: ['Observación', 'Significado posible', 'Precaución necesaria'], rows: [
|
|
66
|
+
['Hay marca y modelo de cámara', 'El archivo contiene etiquetas de identificación del dispositivo.', 'Las etiquetas pueden copiarse o reescribirse y no identifican por sí solas la cámara física.'],
|
|
67
|
+
['Hay coordenadas GPS', 'Se registró una ubicación en los metadatos.', 'Confirma signo de coordenadas, datum, marca temporal y coherencia con evidencia independiente.'],
|
|
68
|
+
['La etiqueta de software nombra un editor', 'La aplicación indicada probablemente escribió metadatos o exportó el archivo.', 'Esto no demuestra composición engañosa ni alteración del contenido.'],
|
|
69
|
+
['Falta la fecha de captura', 'La etiqueta relevante está ausente o no es legible.', 'La ausencia puede deberse a ajustes de privacidad, transcodificación o eliminación de metadatos.'],
|
|
70
|
+
] },
|
|
71
|
+
{ type: 'title', text: 'Qué Suele Querer Decir la Gente con "¿Es Auténtica Esta Foto?"', level: 3 },
|
|
72
|
+
{ type: 'paragraph', html: 'En la práctica, las personas que buscan verificaciones de autenticidad de imágenes suelen referirse a cosas distintas. Pueden querer saber si el archivo salió directamente de una cámara, si un software de edición lo tocó, si la fecha o ubicación declaradas parecen creíbles, si la estructura del archivo parece normal o si existen razones inmediatas para desconfiar. Un analizador útil debe ayudar a separar esas preguntas en lugar de reducirlo todo a un juicio simplista de sí o no.' },
|
|
73
|
+
{ type: 'paragraph', html: 'Por eso esta herramienta distingue entre <strong>observaciones</strong> y <strong>heurísticas</strong>. Las observaciones son cosas que el archivo parece contener, como un campo de software legible o un par de coordenadas. Las heurísticas son interpretaciones orientadas al riesgo, como si una firma de edición merece revisión. Esa separación es valiosa tanto para la usabilidad como para el SEO, porque responde a una necesidad real del usuario: entender qué dice el archivo, qué infiere la herramienta y dónde sigue siendo imprescindible el juicio humano.' },
|
|
74
|
+
{ type: 'title', text: 'Cómo Interpretar las Firmas de Software de Edición', level: 3 },
|
|
75
|
+
{ type: 'paragraph', html: 'Nombres como Adobe Photoshop, Lightroom, GIMP, Snapseed o ImageMagick pueden aparecer como texto plano en metadatos o en segmentos de aplicación. Su presencia es una pista de atribución sobre el procesamiento del archivo, no una prueba de que los píxeles se alteraran de forma maliciosa. Esta es una de las intenciones de búsqueda más comunes en torno a los metadatos forenses de imagen, porque muchos usuarios asumen que ver el nombre de un editor significa automáticamente que la imagen fue manipulada. En realidad, un redimensionado ordinario, una conversión de formato, una corrección de color, un flujo editorial, una redacción o la preparación de evidencias pueden producir la misma firma.' },
|
|
76
|
+
{ type: 'paragraph', html: 'Una interpretación mejor consiste en preguntarse qué papel desempeñó plausiblemente el software indicado. ¿Redimensionó la imagen para la web? ¿Eliminó metadatos durante la exportación? ¿Guardó una captura de pantalla? ¿Recodificó una copia de redes sociales? ¿Añadió un perfil de color? La misma cadena de software puede sostener narrativas muy distintas según el flujo de trabajo. Los examinadores deberían comparar la firma con el historial esperado de manipulación y, cuando la relevancia del caso lo justifique, pasar a métodos más profundos como revisión de tablas de cuantización, análisis del historial de compresión, comparación de miniaturas, examen de patrones de sensor y pruebas a nivel de píxel.' },
|
|
77
|
+
{ type: 'title', text: 'Cómo Leer los Metadatos GPS con Responsabilidad', level: 3 },
|
|
78
|
+
{ type: 'paragraph', html: 'Los metadatos GPS pueden ser muy valiosos porque pueden conectar una imagen con un lugar, pero es fácil exagerar su certeza. Las coordenadas deben revisarse en cuanto al signo de hemisferio, la precisión decimal, la alineación temporal y la coherencia con el resto del archivo. Un par de coordenadas que parece preciso no es automáticamente fiable. Puede reflejar un estado antiguo del dispositivo, edición manual, comportamiento de exportación o historial de medios compartidos. La ausencia de GPS tampoco implica ocultación, porque muchas cámaras nunca registran ubicación y muchas plataformas la eliminan automáticamente.' },
|
|
79
|
+
{ type: 'paragraph', html: 'Para usuarios que llegan desde búsquedas sobre geolocalización fotográfica o verificación de ubicación basada en metadatos, el enfoque más sólido es la comparación. Trata las coordenadas como una pista entre varias. Compáralas con testimonios, historial de viajes, hitos de la escena, meteorología, registros de red, copias en la nube y logs del dispositivo cuando sea legalmente posible. El valor real de los metadatos reside en lo bien que encajan en el panorama probatorio más amplio.' },
|
|
80
|
+
{ type: 'title', text: 'Por Qué Importa la Vista Hexadecimal', level: 3 },
|
|
81
|
+
{ type: 'paragraph', html: 'Un visor hexadecimal expone los valores reales de bytes y offsets que forman el archivo. Eso importa porque muchas preguntas sobre autenticidad son, en realidad, preguntas sobre estructura. Los archivos JPEG suelen comenzar con el marcador SOI FF D8, seguido de segmentos como APP0 o APP1; el EXIF suele residir en APP1. Los archivos PNG comienzan con una firma de ocho bytes y continúan como chunks con nombre. Mirar los primeros bytes ayuda a confirmar que un archivo al menos se parece al contenedor que dice ser y ofrece a los examinadores experimentados una forma rápida de documentar offsets para informes posteriores.' },
|
|
82
|
+
{ type: 'paragraph', html: 'Las anomalías estructurales no significan automáticamente manipulación, porque los codificadores legítimos difieren entre sí. Aun así, la visibilidad a nivel de bytes es valiosa cuando un archivo parece dañado, mal etiquetado, parcialmente reescrito o inconsistente con su extensión. Muchos usuarios que buscan una herramienta forense de imágenes quieren transparencia y no una caja negra. Mostrar directamente la cabecera y las zonas de metadatos hace que la herramienta sea más confiable porque el usuario puede ver dónde empieza la interpretación.' },
|
|
83
|
+
{ type: 'title', text: 'Un Flujo Práctico para Revisar Imágenes con Metadatos', level: 3 },
|
|
84
|
+
{ type: 'paragraph', html: 'Un flujo sólido empieza antes de revisar el EXIF. Conserva el archivo fuente, calcula un hash criptográfico y evita tratar una copia de trabajo cargada en navegador como si fuera el máster evidencial. Después revisa conjuntamente el contenedor, las propiedades del archivo, los campos de captura, los campos de software y las coordenadas GPS. Busca primero coherencia interna. A continuación, compara lo que dice el archivo con lo que dice el caso. En muchas investigaciones, la observación más útil surge del desajuste entre esas dos historias.' },
|
|
85
|
+
{ type: 'paragraph', html: 'Esto importa para la intención de búsqueda porque muchos usuarios no quieren solo una lista de etiquetas. Quieren saber qué hacer después de ver una fecha, una etiqueta de software o un par de coordenadas. En la mayoría de los casos, la respuesta es documentar la observación, registrar la limitación y decidir si el archivo requiere un examen más profundo con métodos aprobados por laboratorio. El análisis de metadatos es una puerta de entrada, no el examen completo.' },
|
|
86
|
+
{ type: 'title', text: 'Lista de Verificación del Flujo Forense', level: 3 },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Conservar:</strong> Nunca trates una copia de trabajo cargada en navegador como máster evidencial.',
|
|
89
|
+
'<strong>Hashear:</strong> Registra un hash criptográfico en la adquisición y tras cada transferencia autorizada.',
|
|
90
|
+
'<strong>Corroborar:</strong> Compara los metadatos con registros del dispositivo, registros en la nube, testimonios y hechos de la escena.',
|
|
91
|
+
'<strong>Documentar:</strong> Registra versiones de software, ajustes, offsets, observaciones y capturas necesarias para la reproducibilidad.',
|
|
92
|
+
'<strong>Validar:</strong> Utiliza herramientas aprobadas por laboratorio y revisión por pares antes de expresar una conclusión formal de autenticidad.',
|
|
93
|
+
] },
|
|
94
|
+
{ type: 'title', text: 'Cuándo No Basta con Revisar Metadatos', level: 3 },
|
|
95
|
+
{ type: 'paragraph', html: 'A veces los metadatos parecen limpios y la imagen sigue siendo engañosa. A veces los metadatos parecen sospechosos y la imagen sigue siendo auténtica. Por eso las conclusiones forenses avanzadas requieren algo más que etiquetas de archivo. Según la relevancia del caso, el trabajo posterior puede incluir análisis de artefactos de compresión, comparación de tablas de cuantización, comprobación de incoherencias en miniaturas, examen a nivel de píxel, reconstrucción de procedencia y revisión de cadena de custodia. El contenido SEO correcto debe decirlo con claridad porque responde a la pregunta real detrás de la mayoría de búsquedas en Google: qué puede hacer esta herramienta por mí y dónde empiezan sus límites.' },
|
|
96
|
+
],
|
|
97
|
+
faq,
|
|
98
|
+
bibliography,
|
|
99
|
+
howTo,
|
|
100
|
+
schemas: [
|
|
101
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
102
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
103
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
104
|
+
],
|
|
105
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'analyseur-medico-legal-metadonnees-authenticite-image';
|
|
5
|
+
const title = 'Analyseur Médicolégal des Métadonnées et de l\'Authenticité des Images';
|
|
6
|
+
const description = 'Inspectez les en-têtes d\'image, les détails EXIF de prise de vue, les coordonnées GPS, les signatures de logiciels d\'édition et les octets bruts localement dans votre navigateur.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Préserver la preuve originale', text: 'Travaillez à partir d\'une copie médico-légale et conservez le fichier source ainsi que son hash cryptographique en dehors de cet outil navigateur.' },
|
|
10
|
+
{ name: 'Charger une image localement', text: 'Glissez-déposez ou sélectionnez un JPEG ou un PNG. Le fichier est lu dans la mémoire du navigateur et n\'est pas téléversé.' },
|
|
11
|
+
{ name: 'Examiner les métadonnées et la localisation', text: 'Comparez l\'heure de capture, l\'identité de l\'appareil, le logiciel et les champs GPS avec le récit du dossier et les registres d\'acquisition.' },
|
|
12
|
+
{ name: 'Interpréter les signaux d\'intégrité', text: 'Considérez les signatures d\'édition et les champs manquants comme des pistes d\'enquête, pas comme une preuve de manipulation.' },
|
|
13
|
+
{ name: 'Examiner l\'aperçu hexadécimal', text: 'Utilisez les zones mises en évidence de l\'en-tête et des métadonnées pour identifier la structure du conteneur et documenter les offsets pour une analyse plus approfondie.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Les métadonnées peuvent-elles prouver qu\'une photo est authentique ?', answer: 'Non. Les métadonnées peuvent être supprimées, copiées ou modifiées. L\'authentification exige de combiner la structure du fichier, la provenance, les hashes, l\'examen visuel, l\'analyse de compression et des méthodes médico-légales validées.' },
|
|
18
|
+
{ question: 'Une signature Adobe ou GIMP prouve-t-elle une retouche malveillante ?', answer: 'Non. Elle indique qu\'un logiciel a pu écrire les métadonnées ou exporter le fichier. Une correction colorimétrique légitime, un flux éditorial ou la préparation d\'éléments de preuve peuvent produire la même signature.' },
|
|
19
|
+
{ question: 'L\'image est-elle téléversée ?', answer: 'Non. L\'analyse s\'effectue dans la mémoire du navigateur. Respectez néanmoins la politique de traitement des preuves de votre organisation avant d\'ouvrir un document sensible dans un logiciel quelconque.' },
|
|
20
|
+
{ question: 'Pourquoi les données GPS peuvent-elles être absentes ?', answer: 'L\'appareil peut ne pas prendre en charge le GPS, l\'enregistrement de la position a pu être désactivé, une plateforme a pu supprimer les métadonnées, ou le fichier a pu être réencodé.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Examen binaire local uniquement',
|
|
29
|
+
dropTitle: 'Déposez une image sur la table de preuve',
|
|
30
|
+
dropHint: 'Déposez ici un JPEG ou un PNG, ou choisissez un fichier. Rien n\'est téléversé.',
|
|
31
|
+
chooseFile: 'Choisir une image',
|
|
32
|
+
replaceFile: 'Remplacer l\'image',
|
|
33
|
+
waiting: 'En attente d\'une pièce',
|
|
34
|
+
metadata: 'Métadonnées de capture',
|
|
35
|
+
integrity: 'Signaux d\'intégrité',
|
|
36
|
+
location: 'Localisation enregistrée',
|
|
37
|
+
hex: 'Fenêtre de preuve hexadécimale',
|
|
38
|
+
hexHint: '512 premiers octets · en-tête cyan · métadonnées ambre · données image neutres',
|
|
39
|
+
noData: 'Aucune valeur lisible',
|
|
40
|
+
noGps: 'Aucune coordonnée GPS lisible n\'a été trouvée.',
|
|
41
|
+
mapLink: 'Ouvrir les coordonnées dans OpenStreetMap',
|
|
42
|
+
score: 'Confiance heuristique',
|
|
43
|
+
disclaimer: 'Un score élevé n\'établit pas l\'authenticité. Conservez l\'original, calculez des hashes cryptographiques et utilisez des workflows de laboratoire validés pour les conclusions du dossier.',
|
|
44
|
+
fileName: 'Fichier',
|
|
45
|
+
fileSize: 'Taille',
|
|
46
|
+
fileType: 'Conteneur',
|
|
47
|
+
camera: 'Appareil',
|
|
48
|
+
captured: 'Capturé',
|
|
49
|
+
software: 'Logiciel',
|
|
50
|
+
coordinates: 'Coordonnées',
|
|
51
|
+
statusNoObvious: 'Aucun indice évident de retouche',
|
|
52
|
+
statusReview: 'Révision recommandée',
|
|
53
|
+
statusEditing: 'Signature d\'édition détectée',
|
|
54
|
+
processing: 'Lecture des preuves binaires...',
|
|
55
|
+
loadError: 'Le fichier n\'a pas pu être analysé. Sélectionnez une image JPEG ou PNG valide.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Comment analyser les métadonnées d\'image et les indices d\'authenticité', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Un analyseur médico-légal de métadonnées d\'image aide les enquêteurs, journalistes, juristes, équipes conformité et experts à répondre à une question à forte intention: <strong>que peuvent réellement révéler les métadonnées d\'une photographie ?</strong> Les métadonnées peuvent fournir des indices utiles sur la capture, la localisation, le traitement logiciel et la structure du fichier, mais elles ne constituent pas une machine autonome à dire le vrai. Leur principale valeur réside dans le triage. Elles permettent d\'identifier les fichiers qui méritent un examen plus approfondi, les détails qui soutiennent l\'histoire revendiquée de l\'image et les contradictions qui nécessitent un suivi avant toute conclusion forte sur l\'authenticité.' },
|
|
60
|
+
{ type: 'paragraph', html: 'Cet outil navigateur s\'adresse aux utilisateurs qui veulent plus qu\'un simple dump EXIF brut. Il lit localement le JPEG ou le PNG sélectionné et réunit en un seul endroit les champs de l\'appareil, les horodatages de capture, les étiquettes logicielles, les coordonnées, les indices de conteneur et les premiers octets du fichier. Il répond ainsi à des intentions de recherche fréquentes derrière des requêtes comme <em>vérifier l\'authenticité d\'une photo</em>, <em>analyser les métadonnées EXIF</em>, <em>comment savoir si une image a été retouchée</em> ou <em>comment vérifier les métadonnées GPS d\'une image</em>. Les utilisateurs qui formulent ces recherches veulent généralement à la fois des éléments factuels et de l\'interprétation.' },
|
|
61
|
+
{ type: 'paragraph', html: 'Le principe essentiel est que le résultat doit être lu comme du contexte, pas comme un verdict. Un fichier peut contenir des métadonnées utiles et rester trompeur. Il peut contenir peu ou pas de métadonnées et demeurer authentique. Une signature logicielle peut indiquer un comportement normal d\'export plutôt qu\'une manipulation trompeuse. Une bonne pratique médico-légale traite donc les métadonnées comme une couche de preuve à comparer avec la provenance, les hashes, les témoignages, l\'historique de l\'appareil et des méthodes d\'examen validées.' },
|
|
62
|
+
{ type: 'title', text: 'Ce que l\'EXIF peut dire et ne peut pas dire', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'EXIF est une structure de métadonnées fondée sur TIFF couramment intégrée aux images JPEG. Elle peut enregistrer l\'appareil de prise de vue, la date et l\'heure originales, l\'orientation, les paramètres d\'exposition et la position GPS. Lorsque ces champs sont cohérents entre eux et compatibles avec les circonstances connues de l\'affaire, ils peuvent soutenir une chronologie ou une origine proposées. Lorsqu\'ils contredisent l\'histoire annoncée de l\'image, ils orientent l\'examinateur vers des questions précises.' },
|
|
64
|
+
{ type: 'paragraph', html: 'L\'une des plus grandes idées reçues derrière les recherches sur les métadonnées d\'image consiste à croire que l\'EXIF est fiable par défaut. Ce n\'est pas le cas. Les métadonnées peuvent être modifiées, copiées entre fichiers, supprimées par les réseaux sociaux, altérées lors de l\'export, normalisées par des plateformes cloud ou partiellement endommagées par réencodage. La bonne question n\'est donc pas seulement de savoir si des métadonnées existent, mais si elles sont techniquement cohérentes, contextuellement plausibles et corroborées par des éléments indépendants.' },
|
|
65
|
+
{ type: 'table', headers: ['Observation', 'Sens possible', 'Prudence requise'], rows: [
|
|
66
|
+
['Marque et modèle d\'appareil présents', 'Le fichier contient des balises d\'identification du dispositif.', 'Les balises peuvent être copiées ou réécrites et n\'identifient pas à elles seules l\'appareil physique.'],
|
|
67
|
+
['Coordonnées GPS présentes', 'Une localisation a été enregistrée dans les métadonnées.', 'Vérifiez le signe, le datum, l\'horodatage et la cohérence avec des preuves indépendantes.'],
|
|
68
|
+
['Le champ logiciel nomme un éditeur', 'L\'application indiquée a probablement écrit les métadonnées ou exporté le fichier.', 'Cela ne prouve pas un photomontage trompeur ni une altération du contenu.'],
|
|
69
|
+
['Date de capture absente', 'La balise concernée est absente ou illisible.', 'L\'absence peut provenir d\'un réglage de confidentialité, d\'une transcodification ou d\'une suppression de métadonnées.'],
|
|
70
|
+
] },
|
|
71
|
+
{ type: 'title', text: 'Ce que les utilisateurs veulent souvent dire par " cette photo est-elle authentique ? "', level: 3 },
|
|
72
|
+
{ type: 'paragraph', html: 'En pratique, les personnes qui recherchent une vérification d\'authenticité d\'image visent souvent des questions différentes. Elles veulent savoir si le fichier provient directement d\'un appareil photo, si un logiciel d\'édition l\'a touché, si la date ou le lieu revendiqués semblent crédibles, si la structure du fichier paraît normale ou s\'il existe des raisons immédiates de s\'en méfier. Un bon analyseur doit aider à séparer ces questions au lieu de tout réduire à un simple oui ou non.' },
|
|
73
|
+
{ type: 'paragraph', html: 'Cet outil distingue donc les <strong>observations</strong> des <strong>heuristiques</strong>. Les observations correspondent à ce que le fichier semble effectivement contenir, comme un champ logiciel lisible ou une paire de coordonnées. Les heuristiques sont des interprétations orientées risque, par exemple le fait qu\'une signature d\'édition mérite une revue. Cette distinction améliore à la fois l\'utilisabilité et la pertinence SEO, car elle répond à une vraie attente: comprendre ce que dit le fichier, ce que l\'outil infère et où le jugement humain reste indispensable.' },
|
|
74
|
+
{ type: 'title', text: 'Comment interpréter les signatures de logiciels d\'édition', level: 3 },
|
|
75
|
+
{ type: 'paragraph', html: 'Des noms comme Adobe Photoshop, Lightroom, GIMP, Snapseed ou ImageMagick peuvent apparaître en clair dans les métadonnées ou les segments applicatifs. Leur présence constitue un indice d\'attribution sur le traitement du fichier, pas une preuve que les pixels ont été modifiés de manière malveillante. C\'est l\'une des intentions de recherche les plus fréquentes autour des métadonnées médico-légales d\'image, car beaucoup d\'utilisateurs supposent que la présence d\'un éditeur signifie automatiquement manipulation. En réalité, un redimensionnement ordinaire, une conversion de format, une correction colorimétrique, un traitement éditorial, une rédaction ou une préparation probatoire peuvent laisser la même signature.' },
|
|
76
|
+
{ type: 'paragraph', html: 'Une meilleure lecture consiste à se demander quel rôle le logiciel indiqué a vraisemblablement joué. A-t-il redimensionné l\'image pour le web ? Supprimé des métadonnées à l\'export ? Enregistré une capture d\'écran ? Réencodé une copie issue des réseaux sociaux ? Ajouté un profil colorimétrique ? La même chaîne logicielle peut soutenir des récits très différents selon le workflow. Les examinateurs devraient comparer cette signature avec l\'historique de traitement attendu et, si l\'enjeu le justifie, recourir à des méthodes plus profondes comme l\'examen des tables de quantification, l\'analyse de l\'historique de compression, la comparaison des miniatures, l\'étude de motifs de capteur et les tests pixel par pixel.' },
|
|
77
|
+
{ type: 'title', text: 'Lire les métadonnées GPS avec prudence', level: 3 },
|
|
78
|
+
{ type: 'paragraph', html: 'Les métadonnées GPS peuvent être très utiles parce qu\'elles relient potentiellement une image à un lieu, mais il est facile de surévaluer leur certitude. Les coordonnées doivent être vérifiées au regard du signe d\'hémisphère, de la précision décimale, de la cohérence temporelle et de l\'ensemble du fichier. Une paire de coordonnées qui paraît précise n\'est pas automatiquement fiable. Elle peut refléter un ancien état du dispositif, une édition manuelle, un comportement d\'export ou un historique de média partagé. L\'absence de GPS ne signifie pas non plus forcément dissimulation, car beaucoup d\'appareils n\'enregistrent jamais la position et de nombreuses plateformes la suppriment automatiquement.' },
|
|
79
|
+
{ type: 'paragraph', html: 'Pour les utilisateurs arrivant via des recherches sur la géolocalisation photo ou la vérification d\'emplacement à partir des métadonnées, la méthode la plus fiable est la comparaison. Considérez les coordonnées comme une piste parmi d\'autres. Comparez-les avec les témoignages, l\'historique de déplacement, les repères de la scène, la météo, les journaux réseau, les sauvegardes cloud et les logs de l\'appareil lorsque cela est légalement possible. La vraie valeur des métadonnées réside dans leur capacité à s\'insérer de manière cohérente dans un tableau probatoire plus large.' },
|
|
80
|
+
{ type: 'title', text: 'Pourquoi la vue hexadécimale est importante', level: 3 },
|
|
81
|
+
{ type: 'paragraph', html: 'Un visualiseur hexadécimal expose les valeurs d\'octets et les offsets réels qui composent le fichier. C\'est important parce que beaucoup de questions d\'authenticité sont en réalité des questions de structure. Les fichiers JPEG commencent normalement par le marqueur SOI FF D8, suivi de segments comme APP0 ou APP1 ; l\'EXIF se trouve fréquemment dans APP1. Les fichiers PNG commencent par une signature de huit octets et se poursuivent sous forme de chunks nommés. Regarder les premiers octets aide à confirmer qu\'un fichier ressemble au conteneur qu\'il prétend être et donne aux examinateurs expérimentés un moyen rapide de documenter des offsets pour les rapports.' },
|
|
82
|
+
{ type: 'paragraph', html: 'Les anomalies structurelles ne signifient pas automatiquement manipulation, car les encodeurs légitimes diffèrent. Toutefois, la visibilité au niveau des octets est précieuse lorsqu\'un fichier semble endommagé, mal étiqueté, partiellement réécrit ou incohérent avec son extension. De nombreux utilisateurs qui recherchent un outil de criminalistique de l\'image veulent de la transparence plutôt qu\'une boîte noire. Montrer directement l\'en-tête et les zones de métadonnées aide à comprendre où commence l\'interprétation.' },
|
|
83
|
+
{ type: 'title', text: 'Un workflow pratique pour l\'examen des métadonnées', level: 3 },
|
|
84
|
+
{ type: 'paragraph', html: 'Un workflow solide commence avant même l\'examen EXIF. Conservez le fichier source, calculez un hash cryptographique et ne considérez jamais une copie de travail chargée dans le navigateur comme le maître probatoire. Examinez ensuite ensemble le conteneur, les propriétés du fichier, les champs de capture, les champs logiciels et les coordonnées GPS. Recherchez d\'abord la cohérence interne. Ensuite, comparez ce que dit le fichier avec ce que dit le dossier. Dans de nombreuses enquêtes, l\'idée la plus utile naît de l\'écart entre ces deux récits.' },
|
|
85
|
+
{ type: 'paragraph', html: 'Cela compte aussi pour l\'intention de recherche, car beaucoup d\'utilisateurs ne veulent pas seulement une liste de balises. Ils veulent savoir quoi faire après avoir vu une date, un nom de logiciel ou une paire de coordonnées. Dans la plupart des cas, cela signifie documenter l\'observation, consigner la limite et décider si le fichier nécessite une analyse plus poussée avec des méthodes approuvées en laboratoire. L\'analyse des métadonnées est une étape d\'entrée, pas l\'examen complet.' },
|
|
86
|
+
{ type: 'title', text: 'Checklist du workflow médico-légal', level: 3 },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Préserver :</strong> ne traitez jamais une copie de travail chargée dans le navigateur comme un maître probatoire.',
|
|
89
|
+
'<strong>Hasher :</strong> enregistrez un hash cryptographique lors de l\'acquisition et après chaque transfert autorisé.',
|
|
90
|
+
'<strong>Corroborer :</strong> comparez les métadonnées avec les traces de l\'appareil, les données cloud, les témoignages et les faits de la scène.',
|
|
91
|
+
'<strong>Documenter :</strong> consignez versions logicielles, réglages, offsets, observations et captures nécessaires à la reproductibilité.',
|
|
92
|
+
'<strong>Valider :</strong> utilisez des outils approuvés en laboratoire et une revue par les pairs avant de formuler une conclusion formelle sur l\'authenticité.',
|
|
93
|
+
] },
|
|
94
|
+
{ type: 'title', text: 'Quand l\'examen des métadonnées ne suffit pas', level: 3 },
|
|
95
|
+
{ type: 'paragraph', html: 'Parfois, les métadonnées paraissent propres alors que l\'image reste trompeuse. Parfois, elles semblent suspectes alors que l\'image est authentique. C\'est pourquoi les conclusions médico-légales avancées exigent plus que de simples balises de fichier. Selon les enjeux du dossier, les étapes suivantes peuvent inclure l\'analyse d\'artefacts de compression, la comparaison de tables de quantification, la vérification d\'incohérences de miniatures, l\'examen au niveau du pixel, la reconstruction de provenance et la revue de la chaîne de conservation. Un bon contenu SEO doit l\'énoncer clairement, car cela répond à la vraie question derrière la plupart des recherches Google: que peut faire cet outil pour moi et où commencent ses limites ?' },
|
|
96
|
+
],
|
|
97
|
+
faq,
|
|
98
|
+
bibliography,
|
|
99
|
+
howTo,
|
|
100
|
+
schemas: [
|
|
101
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
102
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
103
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
104
|
+
],
|
|
105
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'penganalisis-forensik-metadata-dan-keaslian-gambar';
|
|
5
|
+
const title = 'Penganalisis Forensik Metadata dan Keaslian Gambar';
|
|
6
|
+
const description = 'Periksa header gambar, detail EXIF pengambilan, koordinat GPS, jejak perangkat lunak edit, dan byte mentah secara lokal di browser Anda.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Pertahankan bukti asli', text: 'Bekerjalah dari salinan forensik dan simpan berkas sumber beserta hash kriptografinya di luar alat browser ini.' },
|
|
10
|
+
{ name: 'Muat gambar secara lokal', text: 'Seret atau pilih JPEG atau PNG. Berkas dibaca di memori browser dan tidak diunggah.' },
|
|
11
|
+
{ name: 'Tinjau metadata dan lokasi', text: 'Bandingkan waktu pengambilan, identitas kamera, perangkat lunak, dan kolom GPS dengan narasi kasus serta catatan akuisisi.' },
|
|
12
|
+
{ name: 'Tafsirkan sinyal integritas', text: 'Perlakukan tanda perangkat lunak edit dan kolom yang hilang sebagai petunjuk investigatif, bukan bukti manipulasi.' },
|
|
13
|
+
{ name: 'Periksa pratinjau heksadesimal', text: 'Gunakan area header dan metadata yang disorot untuk mengenali struktur kontainer dan mencatat offset untuk pemeriksaan lanjutan.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Apakah metadata dapat membuktikan bahwa sebuah foto autentik?', answer: 'Tidak. Metadata dapat dihapus, disalin, atau diubah. Autentikasi memerlukan kombinasi struktur berkas, asal-usul, hash, pemeriksaan visual, analisis kompresi, dan metode forensik yang tervalidasi.' },
|
|
18
|
+
{ question: 'Apakah tanda Adobe atau GIMP membuktikan pengeditan berbahaya?', answer: 'Tidak. Itu hanya menunjukkan bahwa perangkat lunak mungkin menulis metadata atau mengekspor berkas. Koreksi warna yang sah, pemrosesan editorial, atau persiapan bukti dapat menghasilkan tanda yang sama.' },
|
|
19
|
+
{ question: 'Apakah gambar diunggah?', answer: 'Tidak. Analisis dilakukan di memori browser. Meski begitu, ikuti kebijakan penanganan barang bukti organisasi Anda sebelum membuka materi sensitif di perangkat lunak apa pun.' },
|
|
20
|
+
{ question: 'Mengapa data GPS bisa hilang?', answer: 'Kamera mungkin tidak mendukung GPS, perekaman lokasi mungkin dimatikan, platform mungkin menghapus metadata, atau berkas mungkin telah dikode ulang.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Pemeriksaan biner hanya lokal',
|
|
29
|
+
dropTitle: 'Tempatkan gambar di meja bukti',
|
|
30
|
+
dropHint: 'Jatuhkan JPEG atau PNG di sini, atau pilih berkas. Tidak ada yang diunggah.',
|
|
31
|
+
chooseFile: 'Pilih gambar',
|
|
32
|
+
replaceFile: 'Ganti gambar',
|
|
33
|
+
waiting: 'Menunggu bukti',
|
|
34
|
+
metadata: 'Metadata pengambilan',
|
|
35
|
+
integrity: 'Sinyal integritas',
|
|
36
|
+
location: 'Lokasi terekam',
|
|
37
|
+
hex: 'Jendela bukti heksadesimal',
|
|
38
|
+
hexHint: '512 byte pertama · header sian · metadata amber · data gambar netral',
|
|
39
|
+
noData: 'Tidak ada nilai yang terbaca',
|
|
40
|
+
noGps: 'Koordinat GPS yang terbaca tidak ditemukan.',
|
|
41
|
+
mapLink: 'Buka koordinat di OpenStreetMap',
|
|
42
|
+
score: 'Keyakinan heuristik',
|
|
43
|
+
disclaimer: 'Skor tinggi tidak menetapkan keaslian. Simpan berkas asli, hitung hash kriptografis, dan gunakan alur kerja laboratorium tervalidasi untuk kesimpulan kasus.',
|
|
44
|
+
fileName: 'Berkas',
|
|
45
|
+
fileSize: 'Ukuran',
|
|
46
|
+
fileType: 'Kontainer',
|
|
47
|
+
camera: 'Kamera',
|
|
48
|
+
captured: 'Diambil',
|
|
49
|
+
software: 'Perangkat lunak',
|
|
50
|
+
coordinates: 'Koordinat',
|
|
51
|
+
statusNoObvious: 'Tidak ada indikator edit yang jelas',
|
|
52
|
+
statusReview: 'Peninjauan disarankan',
|
|
53
|
+
statusEditing: 'Tanda pengeditan terdeteksi',
|
|
54
|
+
processing: 'Membaca bukti biner...',
|
|
55
|
+
loadError: 'Berkas tidak dapat dianalisis. Pilih gambar JPEG atau PNG yang valid.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Cara menganalisis metadata gambar dan indikator keaslian', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Penganalisis metadata gambar forensik membantu penyidik, jurnalis, tim hukum, peninjau kepatuhan, dan peneliti menjawab pertanyaan berniat tinggi: <strong>apa yang sebenarnya dapat diungkap metadata gambar tentang sebuah foto?</strong> Metadata dapat memberi petunjuk tentang pengambilan, lokasi, pemrosesan perangkat lunak, dan struktur berkas, tetapi tidak berfungsi sebagai mesin kebenaran yang berdiri sendiri. Nilai terbesarnya ada pada triase: membantu mengidentifikasi berkas mana yang layak diperiksa lebih dalam dan kontradiksi mana yang memerlukan tindak lanjut.' },
|
|
60
|
+
{ type: 'paragraph', html: 'Alat berbasis browser ini dirancang untuk pengguna yang menginginkan lebih dari sekadar dump EXIF mentah. Alat ini membaca JPEG atau PNG yang dipilih secara lokal dan menampilkan bidang kamera, cap waktu pengambilan, tag perangkat lunak, koordinat, petunjuk kontainer, dan byte awal berkas di satu tempat. Ini sesuai dengan niat pencarian umum seperti <em>pemeriksa keaslian foto</em>, <em>analisis metadata EXIF</em>, atau <em>cara mengetahui apakah gambar diedit</em>.' },
|
|
61
|
+
{ type: 'paragraph', html: 'Prinsip utamanya adalah hasil harus dibaca sebagai konteks, bukan vonis. Berkas dapat memiliki metadata berguna dan tetap menyesatkan. Berkas juga dapat memiliki metadata sangat sedikit dan tetap autentik. Karena itu, praktik forensik yang baik memperlakukan metadata sebagai satu lapisan bukti yang harus dibandingkan dengan asal-usul, hash, keterangan saksi, riwayat perangkat, dan metode pemeriksaan tervalidasi.' },
|
|
62
|
+
{ type: 'title', text: 'Apa yang Bisa dan Tidak Bisa Dikatakan oleh EXIF', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'Data EXIF dapat memberi tahu merek dan model kamera, tanggal dan waktu pengambilan, panjang fokus, bukaan, kecepatan rana, ISO, apakah lampu kilat menyala, orientasi kamera, dan koordinat GPS jika perangkat merekamnya. Informasi ini sangat berguna untuk memverifikasi keterangan saksi, menyusun linimasa peristiwa, atau mengidentifikasi perangkat yang digunakan. Namun, EXIF tidak dapat membuktikan siapa yang membidikkan kamera, apakah subjek foto direkayasa, atau apakah gambar telah diedit sebelum dimasukkan ke dalam proses hukum. Metadata dapat dihapus dengan alat sederhana, disalin dari berkas lain, atau dimodifikasi dengan maksud menipu. Karena itu, bidang EXIF harus diperlakukan sebagai petunjuk awal, bukan putusan akhir.' },
|
|
64
|
+
{ type: 'title', text: 'Cara Membaca Metadata GPS dengan Bijak', level: 3 },
|
|
65
|
+
{ type: 'paragraph', html: 'Koordinat GPS yang tertanam dalam metadata dapat memberikan bukti lokasi yang kuat, tetapi hanya jika diperiksa secara kritis. Pertama, periksa presisi koordinat: format derajat desimal dengan enam angka desimal menunjukkan akurasi hingga sekitar sepuluh sentimeter, sementara data yang lebih kasar mungkin berasal dari IP geolokasi, bukan penerima GPS sungguhan. Kedua, bandingkan zona waktu dan arah hadap kamera dengan catatan akuisisi resmi. Ketiga, waspadai foto yang diunduh dari media sosial; platform seperti Facebook, Twitter, dan WhatsApp sering menghapus data lokasi, sehingga koordinat yang bertahan bisa menandakan gambar dibagikan sebelum diunggah alih-alih diambil di tempat tersebut. Akhirnya, gunakan alat eksternal seperti OpenStreetMap atau citra satelit untuk melakukan referensi silang visual antara koordinat dan deklarasi lokasi dalam berkas.' },
|
|
66
|
+
],
|
|
67
|
+
faq,
|
|
68
|
+
bibliography,
|
|
69
|
+
howTo,
|
|
70
|
+
schemas: [
|
|
71
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
72
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
73
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
74
|
+
],
|
|
75
|
+
};
|
|
76
|
+
|