@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 = 'analizzatore-forense-metadati-autenticita-immagini';
|
|
5
|
+
const title = 'Analizzatore Forense di Metadati e Autenticità delle Immagini';
|
|
6
|
+
const description = 'Ispeziona intestazioni immagine, dettagli EXIF di acquisizione, coordinate GPS, firme di software di editing e byte grezzi localmente nel browser.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Preserva la prova originale', text: 'Lavora su una copia forense e conserva il file sorgente e il suo hash crittografico al di fuori di questo strumento nel browser.' },
|
|
10
|
+
{ name: 'Carica un\'immagine localmente', text: 'Trascina o seleziona un JPEG o PNG. Il file viene letto nella memoria del browser e non viene caricato online.' },
|
|
11
|
+
{ name: 'Esamina metadati e posizione', text: 'Confronta ora di acquisizione, identità della fotocamera, software e campi GPS con la narrazione del caso e con i registri di acquisizione.' },
|
|
12
|
+
{ name: 'Interpreta i segnali di integrità', text: 'Considera le firme di editing e i campi mancanti come piste investigative, non come prova di manipolazione.' },
|
|
13
|
+
{ name: 'Esamina l\'anteprima esadecimale', text: 'Usa le zone evidenziate di intestazione e metadati per identificare la struttura del contenitore e documentare gli offset per un\'analisi più approfondita.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'I metadati possono dimostrare che una fotografia è autentica?', answer: 'No. I metadati possono essere rimossi, copiati o modificati. L\'autenticazione richiede di combinare struttura del file, provenienza, hash, esame visivo, analisi della compressione e metodi forensi validati.' },
|
|
18
|
+
{ question: 'Una firma Adobe o GIMP prova un editing malevolo?', answer: 'No. Indica che un software potrebbe aver scritto i metadati o esportato il file. Correzione colore legittima, flussi editoriali o preparazione della prova possono produrre la stessa firma.' },
|
|
19
|
+
{ question: 'L\'immagine viene caricata online?', answer: 'No. L\'analisi avviene nella memoria del browser. Segui comunque la politica della tua organizzazione sul trattamento delle prove prima di aprire materiale sensibile in qualunque software.' },
|
|
20
|
+
{ question: 'Perché potrebbero mancare i dati GPS?', answer: 'La fotocamera potrebbe non supportare il GPS, la registrazione della posizione potrebbe essere stata disattivata, una piattaforma potrebbe aver rimosso i metadati oppure il file potrebbe essere stato ricodificato.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Esame binario solo locale',
|
|
29
|
+
dropTitle: 'Posiziona un\'immagine sul tavolo delle prove',
|
|
30
|
+
dropHint: 'Rilascia qui un JPEG o PNG oppure scegli un file. Nulla viene caricato.',
|
|
31
|
+
chooseFile: 'Scegli immagine',
|
|
32
|
+
replaceFile: 'Sostituisci immagine',
|
|
33
|
+
waiting: 'In attesa della prova',
|
|
34
|
+
metadata: 'Metadati di acquisizione',
|
|
35
|
+
integrity: 'Segnali di integrità',
|
|
36
|
+
location: 'Posizione registrata',
|
|
37
|
+
hex: 'Finestra di evidenza esadecimale',
|
|
38
|
+
hexHint: 'Primi 512 byte · header ciano · metadati ambra · dati immagine neutri',
|
|
39
|
+
noData: 'Nessun valore leggibile',
|
|
40
|
+
noGps: 'Non sono state trovate coordinate GPS leggibili.',
|
|
41
|
+
mapLink: 'Apri le coordinate in OpenStreetMap',
|
|
42
|
+
score: 'Confidenza euristica',
|
|
43
|
+
disclaimer: 'Un punteggio elevato non stabilisce l\'autenticità. Conserva l\'originale, calcola hash crittografici e usa workflow di laboratorio validati per le conclusioni del caso.',
|
|
44
|
+
fileName: 'File',
|
|
45
|
+
fileSize: 'Dimensione',
|
|
46
|
+
fileType: 'Contenitore',
|
|
47
|
+
camera: 'Fotocamera',
|
|
48
|
+
captured: 'Acquisito',
|
|
49
|
+
software: 'Software',
|
|
50
|
+
coordinates: 'Coordinate',
|
|
51
|
+
statusNoObvious: 'Nessun indicatore evidente di editing',
|
|
52
|
+
statusReview: 'Revisione consigliata',
|
|
53
|
+
statusEditing: 'Firma di editing rilevata',
|
|
54
|
+
processing: 'Lettura delle evidenze binarie...',
|
|
55
|
+
loadError: 'Il file non può essere analizzato. Seleziona un\'immagine JPEG o PNG valida.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Come analizzare i metadati di un\'immagine e gli indicatori di autenticità', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Un analizzatore forense dei metadati delle immagini aiuta investigatori, giornalisti, team legali, revisori di conformità e consulenti a rispondere a una domanda ad alta intenzione: <strong>che cosa possono realmente rivelare i metadati di una fotografia?</strong> I metadati possono offrire indizi utili su acquisizione, posizione, elaborazione software e struttura del file, ma non sono una macchina autonoma della verità. Il loro valore maggiore è nel triage. Aiutano a capire quali file meritano un\'analisi più profonda, quali dettagli supportano la storia dichiarata dell\'immagine e quali contraddizioni richiedono ulteriori verifiche prima di formulare un giudizio forte sull\'autenticità.' },
|
|
60
|
+
{ type: 'paragraph', html: 'Questa utility browser è progettata per chi vuole più di un semplice dump EXIF grezzo. Legge localmente il JPEG o PNG selezionato e mostra in un unico punto campi della fotocamera, timestamp di acquisizione, tag software, coordinate, indizi sul contenitore e i byte iniziali del file. Così risponde a comuni intenzioni di ricerca dietro frasi come <em>verifica autenticità foto</em>, <em>analizzatore metadati EXIF</em>, <em>come capire se un\'immagine è stata modificata</em> o <em>come verificare i metadati GPS di un\'immagine</em>. Chi cerca questi termini di solito vuole sia evidenza sia interpretazione.' },
|
|
61
|
+
{ type: 'paragraph', html: 'Il principio più importante è che il risultato deve essere letto come contesto, non come verdetto. Un file può contenere metadati utili ed essere comunque fuorviante. Può contenere pochi o nessun metadato ed essere comunque autentico. Una firma software può indicare un normale comportamento di esportazione invece di una manipolazione ingannevole. Una buona prassi forense tratta quindi i metadati come uno strato di evidenza da confrontare con provenienza, hash, testimonianze, storia del dispositivo e metodi d\'esame validati.' },
|
|
62
|
+
{ type: 'title', text: 'Cosa EXIF può dire e cosa non può dire', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'EXIF è una struttura di metadati basata su TIFF comunemente incorporata nelle immagini JPEG. Può registrare il dispositivo di acquisizione, la data e l\'ora originali, l\'orientamento, le impostazioni di esposizione e la posizione GPS. Quando questi campi sono internamente coerenti e allineati con le circostanze note del caso, possono supportare una cronologia o un\'origine proposta. Quando contrastano con la storia dichiarata dell\'immagine, evidenziano domande precise per un esame ulteriore.' },
|
|
64
|
+
{ type: 'paragraph', html: 'Uno dei malintesi più comuni dietro le ricerche sui metadati delle immagini è l\'idea che EXIF sia affidabile per impostazione predefinita. Non è così. I metadati possono essere modificati, copiati tra file, rimossi dai social network, alterati in fase di export, normalizzati dalle piattaforme cloud o parzialmente danneggiati durante la ricodifica. La domanda migliore non è solo se i metadati esistono, ma se sono tecnicamente coerenti, contestualmente plausibili e corroborati da prove indipendenti.' },
|
|
65
|
+
{ type: 'table', headers: ['Osservazione', 'Possibile significato', 'Cautela necessaria'], rows: [
|
|
66
|
+
['Marca e modello della fotocamera presenti', 'Il file contiene tag di identificazione del dispositivo.', 'I tag possono essere copiati o riscritti e non identificano da soli la fotocamera fisica.'],
|
|
67
|
+
['Coordinate GPS presenti', 'È stata registrata una posizione nei metadati.', 'Verifica segno, datum, timestamp e coerenza con prove indipendenti.'],
|
|
68
|
+
['Il tag software nomina un editor', 'L\'applicazione indicata ha probabilmente scritto metadati o esportato il file.', 'Questo non dimostra un compositing ingannevole o un\'alterazione del contenuto.'],
|
|
69
|
+
['Data di acquisizione assente', 'Il tag rilevante è assente o illeggibile.', 'L\'assenza può dipendere da impostazioni privacy, transcodifica o rimozione dei metadati.'],
|
|
70
|
+
] },
|
|
71
|
+
{ type: 'title', text: 'Cosa intendono di solito gli utenti con "questa foto è autentica?"', level: 3 },
|
|
72
|
+
{ type: 'paragraph', html: 'Nella pratica, chi cerca controlli di autenticità delle immagini spesso intende cose diverse. Può voler sapere se il file proviene direttamente da una fotocamera, se un software di editing lo ha toccato, se la data o il luogo dichiarati sembrano credibili, se la struttura del file appare normale o se esistono ragioni immediate per diffidarne. Un buon analizzatore dovrebbe aiutare a separare queste domande invece di schiacciarle in un sì o no semplicistico.' },
|
|
73
|
+
{ type: 'paragraph', html: 'Per questo lo strumento distingue tra <strong>osservazioni</strong> e <strong>euristiche</strong>. Le osservazioni sono cose che il file sembra effettivamente contenere, come un campo software leggibile o una coppia di coordinate. Le euristiche sono interpretazioni orientate al rischio, ad esempio se una firma di editing merita revisione. Questa separazione è utile sia dal punto di vista dell\'usabilità sia da quello SEO, perché risponde a un bisogno reale: capire cosa dice il file, cosa inferisce lo strumento e dove il giudizio umano resta decisivo.' },
|
|
74
|
+
{ type: 'title', text: 'Come interpretare le firme dei software di editing', level: 3 },
|
|
75
|
+
{ type: 'paragraph', html: 'Nomi come Adobe Photoshop, Lightroom, GIMP, Snapseed o ImageMagick possono apparire in chiaro nei metadati o nei segmenti applicativi. La loro presenza è un indizio di attribuzione sul trattamento del file, non una prova che i pixel siano stati alterati in modo malevolo. Questa è una delle intenzioni di ricerca più comuni nel campo dei metadati forensi, perché molti utenti presumono che vedere il nome di un editor significhi automaticamente manipolazione. In realtà, ridimensionamento ordinario, conversione di formato, correzione colore, lavorazione editoriale, redazione o preparazione probatoria possono lasciare la stessa firma.' },
|
|
76
|
+
{ type: 'paragraph', html: 'Un\'interpretazione migliore consiste nel chiedersi quale ruolo abbia plausibilmente avuto il software indicato. Ha ridimensionato l\'immagine per il web? Ha rimosso metadati in esportazione? Ha salvato uno screenshot? Ha ricodificato una copia social? Ha aggiunto un profilo colore? La stessa stringa software può sostenere narrazioni molto diverse a seconda del workflow. Gli esaminatori dovrebbero confrontare la firma con la storia di trattamento attesa e, quando la posta in gioco lo richiede, passare a metodi più profondi come revisione delle tabelle di quantizzazione, analisi della storia di compressione, confronto delle miniature, esame dei pattern del sensore e test a livello di pixel.' },
|
|
77
|
+
{ type: 'title', text: 'Come leggere con responsabilità i metadati GPS', level: 3 },
|
|
78
|
+
{ type: 'paragraph', html: 'I metadati GPS possono essere molto preziosi perché possono collegare un\'immagine a un luogo, ma è facile sopravvalutarne la certezza. Le coordinate vanno controllate per segno dell\'emisfero, precisione decimale, allineamento temporale e coerenza con il resto del file. Una coppia di coordinate che sembra precisa non è automaticamente affidabile. Può riflettere uno stato precedente del dispositivo, modifica manuale, comportamento di esportazione o cronologia di media condivisi. Anche l\'assenza del GPS non implica necessariamente occultamento, perché molte fotocamere non registrano mai la posizione e molte piattaforme la rimuovono automaticamente.' },
|
|
79
|
+
{ type: 'paragraph', html: 'Per gli utenti che arrivano da ricerche sulla geolocalizzazione di foto o sulla verifica del luogo basata sui metadati, l\'approccio più affidabile è il confronto. Tratta le coordinate come una pista tra molte. Confrontale con testimonianze, cronologia degli spostamenti, punti di riferimento della scena, meteo, registri di rete, backup cloud e log del dispositivo ove legalmente disponibili. Il vero valore dei metadati sta nel modo in cui si inseriscono nel quadro probatorio complessivo.' },
|
|
80
|
+
{ type: 'title', text: 'Perché la vista esadecimale è importante', level: 3 },
|
|
81
|
+
{ type: 'paragraph', html: 'Un visualizzatore esadecimale espone i valori di byte e gli offset reali che formano il file. Questo conta perché molte domande sull\'autenticità sono in realtà domande sulla struttura. I file JPEG iniziano normalmente con il marker SOI FF D8, seguito da segmenti come APP0 o APP1; EXIF risiede spesso in APP1. I file PNG iniziano con una firma di otto byte e proseguono come chunk nominati. Guardare i primi byte aiuta a verificare che un file assomigli almeno al contenitore che dichiara di essere e offre agli esaminatori esperti un modo rapido per documentare offset utili ai report.' },
|
|
82
|
+
{ type: 'paragraph', html: 'Le anomalie strutturali non significano automaticamente manipolazione, perché gli encoder legittimi differiscono tra loro. Tuttavia la visibilità a livello di byte è preziosa quando un file appare danneggiato, etichettato in modo errato, parzialmente riscritto o incoerente con la sua estensione. Molti utenti che cercano uno strumento di image forensics vogliono trasparenza, non una scatola nera. Mostrare direttamente l\'header e le zone di metadati aiuta a capire dove comincia l\'interpretazione.' },
|
|
83
|
+
{ type: 'title', text: 'Un workflow pratico per la revisione dei metadati', level: 3 },
|
|
84
|
+
{ type: 'paragraph', html: 'Un workflow solido inizia prima dell\'esame EXIF. Conserva il file sorgente, calcola un hash crittografico ed evita di trattare una copia di lavoro caricata nel browser come se fosse il master probatorio. Poi esamina insieme contenitore, proprietà del file, campi di acquisizione, campi software e coordinate GPS. Cerca prima la coerenza interna. Successivamente confronta ciò che dice il file con ciò che dice il caso. In molte indagini, l\'osservazione più utile nasce dal disallineamento fra queste due storie.' },
|
|
85
|
+
{ type: 'paragraph', html: 'Questo è importante anche per l\'intento di ricerca, perché molti utenti non vogliono solo una lista di tag. Vogliono sapere cosa fare dopo aver visto una data, un\'etichetta software o una coppia di coordinate. Nella maggior parte dei casi la risposta è documentare l\'osservazione, annotarne il limite e decidere se il file richiede un esame più profondo con metodi approvati dal laboratorio. L\'analisi dei metadati è una fase di ingresso, non l\'esame completo.' },
|
|
86
|
+
{ type: 'title', text: 'Checklist del workflow forense', level: 3 },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Preserva:</strong> non trattare mai una copia di lavoro caricata nel browser come master probatorio.',
|
|
89
|
+
'<strong>Hash:</strong> registra un hash crittografico all\'acquisizione e dopo ogni trasferimento autorizzato.',
|
|
90
|
+
'<strong>Corrobora:</strong> confronta i metadati con registri del dispositivo, dati cloud, testimonianze e fatti della scena.',
|
|
91
|
+
'<strong>Documenta:</strong> registra versioni software, impostazioni, offset, osservazioni e schermate necessarie alla riproducibilità.',
|
|
92
|
+
'<strong>Valida:</strong> usa strumenti approvati dal laboratorio e revisione tra pari prima di esprimere una conclusione formale di autenticità.',
|
|
93
|
+
] },
|
|
94
|
+
{ type: 'title', text: 'Quando la revisione dei metadati non basta', level: 3 },
|
|
95
|
+
{ type: 'paragraph', html: 'A volte i metadati sembrano puliti e l\'immagine è comunque fuorviante. A volte i metadati sembrano sospetti e l\'immagine è comunque autentica. Per questo le conclusioni forensi avanzate richiedono più di semplici tag di file. A seconda della rilevanza del caso, i passaggi successivi possono includere analisi degli artefatti di compressione, confronto delle tabelle di quantizzazione, verifica di incoerenze nelle miniature, esame a livello di pixel, ricostruzione della provenienza e revisione della catena di custodia. Un buon contenuto SEO deve dirlo chiaramente, perché risponde alla vera domanda dietro molte ricerche su Google: che cosa può fare questo strumento per me e dove iniziano i suoi limiti?' },
|
|
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,72 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensic-image-metadata-authenticity-analyzer';
|
|
5
|
+
const title = '画像メタデータと真正性の法科学アナライザー';
|
|
6
|
+
const description = '画像ヘッダー、EXIF撮影情報、GPS座標、編集ソフトの痕跡、先頭バイト列をブラウザ上でローカル解析します。';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: '原本証拠を保全する', text: '法科学コピーを用いて作業し、元ファイルとその暗号学的ハッシュはこのブラウザツールの外で保管してください。' },
|
|
10
|
+
{ name: '画像をローカルで読み込む', text: 'JPEG または PNG をドラッグするか選択します。ファイルはブラウザメモリ内で読み込まれ、アップロードされません。' },
|
|
11
|
+
{ name: 'メタデータと位置情報を確認する', text: '撮影時刻、カメラ情報、ソフトウェア、GPS フィールドを、事案記録や取得記録と照合してください。' },
|
|
12
|
+
{ name: '完全性シグナルを解釈する', text: '編集ソフトの署名や欠落フィールドは、改ざんの証明ではなく調査の手掛かりとして扱ってください。' },
|
|
13
|
+
{ name: '16進プレビューを確認する', text: '強調表示されたヘッダー領域とメタデータ領域を使ってコンテナ構造を把握し、詳細調査用のオフセットを記録してください。' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'メタデータだけで写真の真正性を証明できますか?', answer: 'いいえ。メタデータは削除、複製、改変が可能です。真正性評価には、ファイル構造、来歴、ハッシュ、視覚検査、圧縮解析、検証済みの法科学手法を組み合わせる必要があります。' },
|
|
18
|
+
{ question: 'Adobe や GIMP の痕跡は悪意ある編集の証拠ですか?', answer: 'いいえ。ソフトウェアがメタデータを書き込んだ、またはファイルを書き出した可能性を示すだけです。正当な色補正、編集部での処理、証拠資料化でも同じ痕跡が残ることがあります。' },
|
|
19
|
+
{ question: '画像はアップロードされますか?', answer: 'いいえ。解析はブラウザメモリ内で行われます。ただし、機微な資料を開く前に、所属組織の証拠取扱方針に従ってください。' },
|
|
20
|
+
{ question: 'GPS データがないのはなぜですか?', answer: 'カメラが GPS に対応していない、位置記録が無効だった、プラットフォームがメタデータを削除した、あるいは再エンコードされた可能性があります。' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'ローカル限定のバイナリ検査',
|
|
29
|
+
dropTitle: '画像を証拠テーブルに置く',
|
|
30
|
+
dropHint: 'JPEG または PNG をここにドロップするか、ファイルを選択してください。アップロードは行われません。',
|
|
31
|
+
chooseFile: '画像を選択',
|
|
32
|
+
replaceFile: '画像を差し替え',
|
|
33
|
+
waiting: '証拠待機中',
|
|
34
|
+
metadata: '撮影メタデータ',
|
|
35
|
+
integrity: '完全性シグナル',
|
|
36
|
+
location: '記録された位置',
|
|
37
|
+
hex: '16進証拠ウィンドウ',
|
|
38
|
+
hexHint: '先頭 512 バイト · シアンのヘッダー · アンバーのメタデータ · 中立的な画像データ',
|
|
39
|
+
noData: '読み取れる値なし',
|
|
40
|
+
noGps: '読み取れる GPS 座標は見つかりませんでした。',
|
|
41
|
+
mapLink: '座標を OpenStreetMap で開く',
|
|
42
|
+
score: 'ヒューリスティック信頼度',
|
|
43
|
+
disclaimer: '高いスコアは真正性を証明しません。原本を保全し、暗号学的ハッシュを計算し、事案判断には検証済みのラボ手順を用いてください。',
|
|
44
|
+
fileName: 'ファイル',
|
|
45
|
+
fileSize: 'サイズ',
|
|
46
|
+
fileType: 'コンテナ',
|
|
47
|
+
camera: 'カメラ',
|
|
48
|
+
captured: '撮影',
|
|
49
|
+
software: 'ソフトウェア',
|
|
50
|
+
coordinates: '座標',
|
|
51
|
+
statusNoObvious: '明白な編集兆候なし',
|
|
52
|
+
statusReview: '再確認を推奨',
|
|
53
|
+
statusEditing: '編集署名を検出',
|
|
54
|
+
processing: 'バイナリ証拠を読み取り中...',
|
|
55
|
+
loadError: 'ファイルを解析できませんでした。有効な JPEG または PNG 画像を選択してください。',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: '画像メタデータと真正性シグナルを分析する方法', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: '画像メタデータの法科学アナライザーは、捜査官、記者、法務担当、コンプライアンス担当、研究者が、<strong>画像メタデータは写真について何を本当に示せるのか</strong>という高意図の問いに答えるのを助けます。メタデータは撮影、位置、ソフトウェア処理、ファイル構造に関する手掛かりを与えますが、それ自体が真実判定機ではありません。最大の価値はトリアージにあり、どのファイルをより深く調べるべきかを示します。' },
|
|
60
|
+
{ type: 'paragraph', html: 'このブラウザツールは単なる EXIF ダンプ以上のものを求めるユーザー向けです。選択した JPEG / PNG をローカルで読み取り、カメラ項目、撮影時刻、ソフトウェアタグ、座標、コンテナ手掛かり、先頭バイトをまとめて表示します。これは <em>写真の真正性チェック</em>、<em>EXIF メタデータ解析</em>、<em>画像が編集されたか確認する方法</em> といった検索意図に対応します。' },
|
|
61
|
+
{ type: 'paragraph', html: '最も重要な原則は、結果を評決ではなく文脈として読むことです。メタデータが有用でも画像が誤解を招く場合がありますし、メタデータが少なくても画像が真正である場合もあります。そのため、メタデータは来歴、ハッシュ、証言、デバイス履歴、検証済み手法と照合すべき一つの証拠層として扱う必要があります。' },
|
|
62
|
+
],
|
|
63
|
+
faq,
|
|
64
|
+
bibliography,
|
|
65
|
+
howTo,
|
|
66
|
+
schemas: [
|
|
67
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
68
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
69
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensic-image-metadata-authenticity-analyzer';
|
|
5
|
+
const title = '이미지 메타데이터 및 진위성 포렌식 분석기';
|
|
6
|
+
const description = '이미지 헤더, EXIF 촬영 정보, GPS 좌표, 편집 소프트웨어 흔적, 원시 바이트를 브라우저에서 로컬로 점검합니다.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: '원본 증거 보존', text: '포렌식 사본으로 작업하고 원본 파일과 암호학적 해시는 이 브라우저 도구 외부에 보관하세요.' },
|
|
10
|
+
{ name: '이미지 로컬 불러오기', text: 'JPEG 또는 PNG를 드래그하거나 선택하세요. 파일은 브라우저 메모리에서만 읽히며 업로드되지 않습니다.' },
|
|
11
|
+
{ name: '메타데이터와 위치 확인', text: '촬영 시각, 카메라 정보, 소프트웨어, GPS 필드를 사건 서술 및 수집 기록과 비교하세요.' },
|
|
12
|
+
{ name: '무결성 신호 해석', text: '편집 흔적과 누락 필드는 조작의 증거가 아니라 조사 단서로 취급하세요.' },
|
|
13
|
+
{ name: '16진 미리보기 확인', text: '강조된 헤더 및 메타데이터 영역을 사용해 컨테이너 구조를 파악하고 심화 분석용 오프셋을 기록하세요.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: '메타데이터만으로 사진의 진위를 입증할 수 있나요?', answer: '아니요. 메타데이터는 제거, 복사, 수정될 수 있습니다. 진위성 판단에는 파일 구조, 출처, 해시, 시각적 검사, 압축 분석, 검증된 포렌식 방법을 함께 사용해야 합니다.' },
|
|
18
|
+
{ question: 'Adobe 또는 GIMP 흔적은 악의적 편집의 증거인가요?', answer: '아니요. 소프트웨어가 메타데이터를 기록했거나 파일을 내보냈을 가능성을 보여줄 뿐입니다. 정당한 색보정, 편집부 처리, 증거 준비 과정에서도 같은 흔적이 남을 수 있습니다.' },
|
|
19
|
+
{ question: '이미지가 업로드되나요?', answer: '아니요. 분석은 브라우저 메모리에서 수행됩니다. 그래도 민감한 자료를 어떤 소프트웨어에서든 열기 전에 조직의 증거 취급 정책을 따르세요.' },
|
|
20
|
+
{ question: 'GPS 데이터가 없을 수 있는 이유는 무엇인가요?', answer: '카메라가 GPS를 지원하지 않거나, 위치 기록이 꺼져 있거나, 플랫폼이 메타데이터를 제거했거나, 파일이 재인코딩되었을 수 있습니다.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: '로컬 전용 바이너리 검사',
|
|
29
|
+
dropTitle: '증거 테이블에 이미지를 올리세요',
|
|
30
|
+
dropHint: '여기에 JPEG 또는 PNG를 놓거나 파일을 선택하세요. 업로드는 이루어지지 않습니다.',
|
|
31
|
+
chooseFile: '이미지 선택',
|
|
32
|
+
replaceFile: '이미지 교체',
|
|
33
|
+
waiting: '증거 대기 중',
|
|
34
|
+
metadata: '촬영 메타데이터',
|
|
35
|
+
integrity: '무결성 신호',
|
|
36
|
+
location: '기록된 위치',
|
|
37
|
+
hex: '16진 증거 창',
|
|
38
|
+
hexHint: '처음 512바이트 · 시안 헤더 · 호박색 메타데이터 · 중립 이미지 데이터',
|
|
39
|
+
noData: '읽을 수 있는 값 없음',
|
|
40
|
+
noGps: '읽을 수 있는 GPS 좌표를 찾지 못했습니다.',
|
|
41
|
+
mapLink: 'OpenStreetMap에서 좌표 열기',
|
|
42
|
+
score: '휴리스틱 신뢰도',
|
|
43
|
+
disclaimer: '높은 점수는 진위를 입증하지 않습니다. 원본을 보존하고 암호학적 해시를 계산하며, 사건 결론에는 검증된 실험실 절차를 사용하세요.',
|
|
44
|
+
fileName: '파일',
|
|
45
|
+
fileSize: '크기',
|
|
46
|
+
fileType: '컨테이너',
|
|
47
|
+
camera: '카메라',
|
|
48
|
+
captured: '촬영됨',
|
|
49
|
+
software: '소프트웨어',
|
|
50
|
+
coordinates: '좌표',
|
|
51
|
+
statusNoObvious: '명백한 편집 징후 없음',
|
|
52
|
+
statusReview: '재검토 권장',
|
|
53
|
+
statusEditing: '편집 서명 감지',
|
|
54
|
+
processing: '바이너리 증거 읽는 중...',
|
|
55
|
+
loadError: '파일을 분석할 수 없습니다. 유효한 JPEG 또는 PNG 이미지를 선택하세요.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: '이미지 메타데이터와 진위성 신호를 분석하는 방법', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: '이미지 메타데이터 포렌식 분석기는 수사관, 기자, 법무팀, 컴플라이언스 검토자, 연구자가 <strong>이미지 메타데이터가 사진에 대해 실제로 무엇을 말해 줄 수 있는가</strong>라는 높은 의도의 질문에 답하도록 돕습니다. 메타데이터는 촬영, 위치, 소프트웨어 처리, 파일 구조에 대한 유용한 단서를 줄 수 있지만 독립적인 진실 판정 기계는 아닙니다. 가장 큰 가치는 트리아지에 있습니다.' },
|
|
60
|
+
{ type: 'paragraph', html: '이 브라우저 기반 도구는 단순한 EXIF 덤프 이상을 원하는 사용자를 위해 설계되었습니다. 선택한 JPEG 또는 PNG를 로컬에서 읽고 카메라 필드, 촬영 시각, 소프트웨어 태그, 좌표, 컨테이너 단서, 초기 바이트를 한곳에 보여줍니다. 이는 <em>사진 진위 확인</em>, <em>EXIF 메타데이터 분석</em>, <em>이미지가 편집되었는지 확인하는 방법</em> 같은 검색 의도를 지원합니다.' },
|
|
61
|
+
{ type: 'paragraph', html: '핵심 원칙은 결과를 판결이 아니라 맥락으로 읽어야 한다는 점입니다. 메타데이터가 유용해도 이미지가 오해를 부를 수 있고, 메타데이터가 거의 없어도 이미지가 진짜일 수 있습니다. 따라서 메타데이터는 출처, 해시, 증언, 기기 이력, 검증된 검사법과 대조해야 하는 하나의 증거 층으로 다뤄야 합니다.' },
|
|
62
|
+
],
|
|
63
|
+
faq,
|
|
64
|
+
bibliography,
|
|
65
|
+
howTo,
|
|
66
|
+
schemas: [
|
|
67
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
68
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
69
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensische-afbeelding-metadata-authenticiteits-analyzer';
|
|
5
|
+
const title = 'Forensische Analyzer voor Beeldmetadata en Authenticiteit';
|
|
6
|
+
const description = 'Inspecteer afbeeldingsheaders, EXIF-opnamegegevens, GPS-coördinaten, sporen van bewerkingssoftware en ruwe bytes lokaal in je browser.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Bewaar het originele bewijsmateriaal', text: 'Werk vanuit een forensische kopie en bewaar het bronbestand en de cryptografische hash buiten deze browsertool.' },
|
|
10
|
+
{ name: 'Laad een afbeelding lokaal', text: 'Sleep een JPEG of PNG naar binnen of kies een bestand. Het bestand wordt alleen in het browsergeheugen gelezen en niet geüpload.' },
|
|
11
|
+
{ name: 'Controleer metadata en locatie', text: 'Vergelijk opnametijd, camera-identiteit, software en GPS-velden met het dossierverhaal en de acquisitieregistratie.' },
|
|
12
|
+
{ name: 'Interpreteer integriteitssignalen', text: 'Behandel bewerkingssignaturen en ontbrekende velden als onderzoekssporen, niet als bewijs van manipulatie.' },
|
|
13
|
+
{ name: 'Bekijk de hexadecimale preview', text: 'Gebruik de gemarkeerde header- en metadatazones om de containerstructuur te herkennen en offsets voor nader onderzoek vast te leggen.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Kan metadata bewijzen dat een foto authentiek is?', answer: 'Nee. Metadata kan worden verwijderd, gekopieerd of aangepast. Authenticatie vereist een combinatie van bestandsstructuur, herkomst, hashes, visuele beoordeling, compressieanalyse en gevalideerde forensische methoden.' },
|
|
18
|
+
{ question: 'Bewijst een Adobe- of GIMP-signatuur kwaadaardige bewerking?', answer: 'Nee. Het betekent alleen dat software de metadata of export van het bestand kan hebben geschreven. Legitieme kleurcorrectie, redactionele verwerking of voorbereiding van bewijs kan dezelfde signatuur opleveren.' },
|
|
19
|
+
{ question: 'Wordt de afbeelding geüpload?', answer: 'Nee. De analyse gebeurt in het browsergeheugen. Volg desondanks het bewijsbeleid van je organisatie voordat je gevoelig materiaal in welke software dan ook opent.' },
|
|
20
|
+
{ question: 'Waarom kunnen GPS-gegevens ontbreken?', answer: 'De camera ondersteunt mogelijk geen GPS, locatie-opname kan zijn uitgeschakeld, een platform kan metadata hebben verwijderd of het bestand kan opnieuw zijn gecodeerd.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Alleen lokale binaire inspectie',
|
|
29
|
+
dropTitle: 'Plaats een afbeelding op de bewijstafel',
|
|
30
|
+
dropHint: 'Sleep hier een JPEG of PNG naartoe of kies een bestand. Er wordt niets geüpload.',
|
|
31
|
+
chooseFile: 'Afbeelding kiezen',
|
|
32
|
+
replaceFile: 'Afbeelding vervangen',
|
|
33
|
+
waiting: 'Wachten op bewijsmateriaal',
|
|
34
|
+
metadata: 'Opnamemetadata',
|
|
35
|
+
integrity: 'Integriteitssignalen',
|
|
36
|
+
location: 'Geregistreerde locatie',
|
|
37
|
+
hex: 'Hexadecimaal bewijsvenster',
|
|
38
|
+
hexHint: 'Eerste 512 bytes · cyaankleurige header · amberkleurige metadata · neutrale afbeeldingsdata',
|
|
39
|
+
noData: 'Geen leesbare waarde',
|
|
40
|
+
noGps: 'Er zijn geen leesbare GPS-coördinaten gevonden.',
|
|
41
|
+
mapLink: 'Coördinaten openen in OpenStreetMap',
|
|
42
|
+
score: 'Heuristisch vertrouwen',
|
|
43
|
+
disclaimer: 'Een hoge score bewijst geen authenticiteit. Bewaar het origineel, bereken cryptografische hashes en gebruik gevalideerde laboratoriumworkflows voor dossierconclusies.',
|
|
44
|
+
fileName: 'Bestand',
|
|
45
|
+
fileSize: 'Grootte',
|
|
46
|
+
fileType: 'Container',
|
|
47
|
+
camera: 'Camera',
|
|
48
|
+
captured: 'Vastgelegd',
|
|
49
|
+
software: 'Software',
|
|
50
|
+
coordinates: 'Coördinaten',
|
|
51
|
+
statusNoObvious: 'Geen duidelijke aanwijzingen voor bewerking',
|
|
52
|
+
statusReview: 'Herbeoordeling aanbevolen',
|
|
53
|
+
statusEditing: 'Bewerkingssignatuur gedetecteerd',
|
|
54
|
+
processing: 'Binaire bewijzen worden gelezen...',
|
|
55
|
+
loadError: 'Het bestand kon niet worden geanalyseerd. Selecteer een geldige JPEG- of PNG-afbeelding.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Hoe je beeldmetadata en authenticiteitsindicatoren analyseert', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Een forensische analyzer voor beeldmetadata helpt onderzoekers, journalisten, juridische teams, compliance-reviewers en deskundigen bij een vraag met hoge zoekintentie: <strong>wat kunnen metadata van een afbeelding werkelijk onthullen?</strong> Metadata kan nuttige aanwijzingen geven over opname, locatie, softwareverwerking en bestandsstructuur, maar vormt geen zelfstandige waarheidsmachine. De grootste waarde ligt in triage. Het helpt je bepalen welke bestanden nader onderzoek verdienen, welke details het geclaimde verhaal van de afbeelding ondersteunen en welke tegenstrijdigheden opvolging vereisen voordat iemand een sterke authenticiteitsclaim maakt.' },
|
|
60
|
+
{ type: 'paragraph', html: 'Deze browsertool is bedoeld voor gebruikers die meer willen dan een ruwe EXIF-dump. Hij leest de gekozen JPEG of PNG lokaal en toont cameravelden, opnametijdstempels, softwaretags, coördinaten, containeraanwijzingen en de eerste bytes van het bestand op één plek. Daarmee sluit hij aan op zoekintenties achter termen als <em>foto authenticiteit controleren</em>, <em>EXIF metadata analyseren</em>, <em>hoe zie je of een afbeelding is bewerkt</em> en <em>GPS-metadata van een afbeelding verifiëren</em>. Gebruikers die daarop zoeken willen meestal zowel bewijs als interpretatie.' },
|
|
61
|
+
{ type: 'paragraph', html: 'Het belangrijkste uitgangspunt is dat het resultaat als context moet worden gelezen, niet als oordeel. Een bestand kan nuttige metadata bevatten en toch misleidend zijn. Het kan weinig of geen metadata bevatten en toch authentiek zijn. Een softwaresignatuur kan wijzen op normaal exportgedrag in plaats van misleidende manipulatie. Goede forensische praktijk behandelt metadata daarom als één bewijslaag die moet worden vergeleken met herkomst, hashes, getuigenverklaringen, apparaathistorie en gevalideerde onderzoeksmethoden.' },
|
|
62
|
+
{ type: 'title', text: 'Wat EXIF wel en niet kan vertellen', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'EXIF-metadata (Exchangeable Image File Format) wordt door camera\u2019s en smartphones automatisch aan elk JPEG- en PNG-bestand toegevoegd. Het vertelt je de gebruikte camera of telefoon, het diafragma, de sluitertijd, ISO-waarde, flitserinstelling, opnamedatum en -tijd en of software van Adobe, GIMP, Apple of een andere editor het bestand heeft opgeslagen. Wat het je niet kan vertellen is wie er achter de camera stond, of de gemeten GPS-positie overeenkomt met de werkelijke opnamelocatie, of de tijdzone in de embedded timestamp correct is of of er tussen opname en export met opzet metadata is verwijderd. Dat onderscheid is cruciaal voor de interpretatie van digitaal bewijsmateriaal.' },
|
|
64
|
+
{ type: 'title', text: 'Hoe GPS-metadata verantwoord te lezen', level: 3 },
|
|
65
|
+
{ type: 'paragraph', html: 'GPS-coördinaten in EXIF geven een breedtegraad, lengtegraad, hoogte en de richting waarin de camera stond. Deze gegevens kunnen overeenkomen met de werkelijke opnamelocatie, maar ze kunnen ook ontbreken, onnauwkeurig zijn of afkomstig zijn van een eerder punt in de keten. Een verantwoorde lezing begint met het vergelijken van de coördinaten met de plaats delict, de werklocatie of de geclaimde gebeurtenis. Daarna controleer je of de GPS-tijd overeenkomt met de EXIF-opnametijd. Als de camera geen GPS-chip heeft, als de locatievoorziening was uitgeschakeld of als het bestand opnieuw is gecomprimeerd, kunnen coördinaten afwezig of inconsistent zijn. Een ontbrekende of afwijkende locatie is op zichzelf geen bewijs van manipulatie, maar een reden om het bestand in een breder forensisch onderzoek te plaatsen.' },
|
|
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
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensyczny-analizator-metadanych-i-autentycznosci-obrazu';
|
|
5
|
+
const title = 'Forensyczny Analizator Metadanych i Autentyczności Obrazu';
|
|
6
|
+
const description = 'Sprawdzaj nagłówki obrazów, dane EXIF z rejestracji, współrzędne GPS, ślady oprogramowania edycyjnego i surowe bajty lokalnie w przeglądarce.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Zachowaj oryginalny materiał dowodowy', text: 'Pracuj na kopii kryminalistycznej i przechowuj plik źródłowy oraz jego skrót kryptograficzny poza tym narzędziem przeglądarkowym.' },
|
|
10
|
+
{ name: 'Załaduj obraz lokalnie', text: 'Przeciągnij lub wybierz plik JPEG albo PNG. Plik jest odczytywany tylko w pamięci przeglądarki i nie jest wysyłany.' },
|
|
11
|
+
{ name: 'Przeanalizuj metadane i lokalizację', text: 'Porównaj czas wykonania, tożsamość aparatu, oprogramowanie i pola GPS z opisem sprawy oraz dokumentacją pozyskania.' },
|
|
12
|
+
{ name: 'Interpretuj sygnały integralności', text: 'Traktuj podpisy edycyjne i brakujące pola jako tropy dochodzeniowe, a nie dowód manipulacji.' },
|
|
13
|
+
{ name: 'Sprawdź podgląd szesnastkowy', text: 'Wykorzystaj podświetlone strefy nagłówka i metadanych do rozpoznania struktury kontenera oraz udokumentowania offsetów do dalszej analizy.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Czy metadane mogą dowieść, że fotografia jest autentyczna?', answer: 'Nie. Metadane można usunąć, skopiować albo zmienić. Uwierzytelnienie wymaga połączenia struktury pliku, pochodzenia, hashy, oględzin wizualnych, analizy kompresji i zwalidowanych metod kryminalistycznych.' },
|
|
18
|
+
{ question: 'Czy podpis Adobe lub GIMP dowodzi złośliwej edycji?', answer: 'Nie. Oznacza jedynie, że oprogramowanie mogło zapisać metadane lub wyeksportować plik. Legalna korekcja barwna, obróbka redakcyjna lub przygotowanie materiału dowodowego mogą pozostawić ten sam ślad.' },
|
|
19
|
+
{ question: 'Czy obraz jest wysyłany?', answer: 'Nie. Analiza odbywa się w pamięci przeglądarki. Mimo to przed otwarciem wrażliwego materiału w dowolnym oprogramowaniu stosuj politykę obchodzenia się z dowodami obowiązującą w twojej organizacji.' },
|
|
20
|
+
{ question: 'Dlaczego dane GPS mogą być nieobecne?', answer: 'Aparat mógł nie obsługiwać GPS, rejestrowanie lokalizacji mogło być wyłączone, platforma mogła usunąć metadane albo plik mógł zostać ponownie zakodowany.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Wyłącznie lokalne badanie binarne',
|
|
29
|
+
dropTitle: 'Umieść obraz na stole dowodowym',
|
|
30
|
+
dropHint: 'Upuść tutaj plik JPEG lub PNG albo wybierz plik. Nic nie jest wysyłane.',
|
|
31
|
+
chooseFile: 'Wybierz obraz',
|
|
32
|
+
replaceFile: 'Zastąp obraz',
|
|
33
|
+
waiting: 'Oczekiwanie na dowód',
|
|
34
|
+
metadata: 'Metadane rejestracji',
|
|
35
|
+
integrity: 'Sygnały integralności',
|
|
36
|
+
location: 'Zarejestrowana lokalizacja',
|
|
37
|
+
hex: 'Szesnastkowe okno dowodowe',
|
|
38
|
+
hexHint: 'Pierwsze 512 bajtów · nagłówek w kolorze cyjan · metadane bursztynowe · neutralne dane obrazu',
|
|
39
|
+
noData: 'Brak czytelnej wartości',
|
|
40
|
+
noGps: 'Nie znaleziono czytelnych współrzędnych GPS.',
|
|
41
|
+
mapLink: 'Otwórz współrzędne w OpenStreetMap',
|
|
42
|
+
score: 'Zaufanie heurystyczne',
|
|
43
|
+
disclaimer: 'Wysoki wynik nie ustanawia autentyczności. Zachowaj oryginał, oblicz hashe kryptograficzne i korzystaj ze zwalidowanych procedur laboratoryjnych przy formułowaniu wniosków w sprawie.',
|
|
44
|
+
fileName: 'Plik',
|
|
45
|
+
fileSize: 'Rozmiar',
|
|
46
|
+
fileType: 'Kontener',
|
|
47
|
+
camera: 'Aparat',
|
|
48
|
+
captured: 'Zarejestrowano',
|
|
49
|
+
software: 'Oprogramowanie',
|
|
50
|
+
coordinates: 'Współrzędne',
|
|
51
|
+
statusNoObvious: 'Brak oczywistych oznak edycji',
|
|
52
|
+
statusReview: 'Zalecana weryfikacja',
|
|
53
|
+
statusEditing: 'Wykryto podpis edycyjny',
|
|
54
|
+
processing: 'Odczyt danych binarnych...',
|
|
55
|
+
loadError: 'Nie udało się przeanalizować pliku. Wybierz prawidłowy obraz JPEG lub PNG.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Jak analizować metadane obrazu i wskaźniki autentyczności', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Forensyczny analizator metadanych obrazu pomaga śledczym, dziennikarzom, zespołom prawnym, audytorom zgodności i biegłym odpowiedzieć na pytanie o wysokiej intencji wyszukiwania: <strong>co metadane obrazu mogą naprawdę ujawnić o fotografii?</strong> Metadane mogą dostarczać użytecznych wskazówek o rejestracji, lokalizacji, przetwarzaniu programowym i strukturze pliku, ale nie są samodzielną maszyną prawdy. Największą wartość mają na etapie triage. Pomagają wskazać pliki wymagające głębszej analizy, szczegóły wspierające deklarowaną historię obrazu oraz sprzeczności wymagające dalszego sprawdzenia.' },
|
|
60
|
+
{ type: 'paragraph', html: 'To narzędzie przeglądarkowe jest przeznaczone dla użytkowników, którzy chcą czegoś więcej niż surowego dumpu EXIF. Lokalnie odczytuje wybrany plik JPEG lub PNG i pokazuje w jednym miejscu pola aparatu, znaczniki czasu, tagi oprogramowania, współrzędne, wskazówki o kontenerze i początkowe bajty pliku. Odpowiada to częstym intencjom wyszukiwania stojącym za frazami takimi jak <em>sprawdzanie autentyczności zdjęcia</em>, <em>analiza metadanych EXIF</em>, <em>jak rozpoznać, czy obraz był edytowany</em> lub <em>jak zweryfikować metadane GPS obrazu</em>.' },
|
|
61
|
+
{ type: 'paragraph', html: 'Najważniejsza zasada brzmi: wynik należy czytać jako kontekst, a nie werdykt. Plik może zawierać użyteczne metadane i nadal wprowadzać w błąd. Może też zawierać niewiele metadanych albo nie zawierać ich wcale, a mimo to być autentyczny. Podpis oprogramowania może wskazywać na zwykły eksport, a nie na oszukańczą manipulację. Dobra praktyka kryminalistyczna traktuje więc metadane jako jedną warstwę dowodową, którą trzeba zestawiać z pochodzeniem, hashami, zeznaniami, historią urządzenia i zwalidowanymi metodami badawczymi.' },
|
|
62
|
+
{ type: 'title', text: 'Co EXIF mo\u017ce powiedzie\u0107, a czego nie', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'Standard EXIF przechowuje kilkadziesi\u0105t p\u00f3l opisuj\u0105cych okoliczno\u015bci wykonania zdj\u0119cia. Do najbardziej warto\u015bciowych nale\u017c\u0105: model i producent aparatu, data i czas wykonania, przys\u0142ona, czas na\u015bwietlania, ogniskowa, czu\u0142o\u015b\u0107 ISO, orientacja, balans bieli, tryb pomiaru \u015bwiat\u0142a i flash. Te dane s\u0105 pomocne w ocenie sp\u00f3jno\u015bci ze zdarzeniem dowodowym. EXIF nie potrafi jednak stwierdzi\u0107, kto nacisn\u0105\u0142 spust migawki, jaki by\u0142 rzeczywisty przebieg wydarzenia ani czy obraz by\u0142 p\u00f3\u017aniej modyfikowany \u2013 o ile edytor nie zmieni\u0142 oryginalnych tag\u00f3w. Co wi\u0119cej, niekt\u00f3re pola s\u0105 opcjonalne, a inne \u2013 jak znaczniki czasu \u2013 pochodz\u0105 wy\u0142\u0105cznie z osobnego zegara aparatu, kt\u00f3ry mo\u017ce by\u0107 \u017ale ustawiony lub celowo zmieniony. Najwi\u0119kszym ryzykiem interpretacyjnym pozostaje mo\u017cliwo\u015b\u0107 ca\u0142kowitego skopiowania EXIF z jednego zdj\u0119cia na drugie za pomoc\u0105 narz\u0119dzi takich jak ExifTool, co podwa\u017ca warto\u015b\u0107 dowodow\u0105 metadanych w izolacji.' },
|
|
64
|
+
{ type: 'title', text: 'Jak odpowiedzialnie czyta\u0107 metadane GPS', level: 3 },
|
|
65
|
+
{ type: 'paragraph', html: 'Wsp\u00f3\u0142rz\u0119dne GPS zapisane w metadanych obrazu mog\u0105 pom\u00f3c w odtworzeniu geografii zdarzenia dowodowego, ale nale\u017cy do nich podchodzi\u0107 z ostro\u017cno\u015bci\u0105. Lokalizacj\u0119 rejestruje wbudowany odbiornik aparatu lub telefonu, jednak jej dok\u0142adno\u015b\u0107 zale\u017cy od warunk\u00f3w odbioru satelitarnego, czasu synchronizacji i ustawie\u0144 urz\u0105dzenia. W praktyce oznacza to mo\u017cliwe odchylenia od kilku do kilkudziesi\u0119ciu metr\u00f3w, a w trudnym terenie nawet wi\u0119cej. Ponadto u\u017cytkownik mo\u017ce wy\u0142\u0105czy\u0107 zapis GPS, a niekt\u00f3re platformy automatycznie usuwaj\u0105 lub zaokr\u0105glaj\u0105 wsp\u00f3\u0142rz\u0119dne. Podczas analizy kryminalistycznej nie wolno polega\u0107 na samych wsp\u00f3\u0142rz\u0119dnych \u2013 trzeba je zestawi\u0107 z dokumentacj\u0105 pozyskania obrazu, zeznaniami, danymi o zasi\u0119gu sieci kom\u00f3rkowej oraz innymi \u017ar\u00f3d\u0142ami ustalaj\u0105cymi czas i miejsce. W\u0142a\u015bciwa praktyka polega na traktowaniu GPS jako poszlaki wymagaj\u0105cej potwierdzenia innymi metodami.' },
|
|
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
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'analisador-forense-metadados-autenticidade-imagens';
|
|
5
|
+
const title = 'Analisador Forense de Metadados e Autenticidade de Imagens';
|
|
6
|
+
const description = 'Inspecione cabeçalhos de imagem, detalhes EXIF de captura, coordenadas GPS, assinaturas de software de edição e bytes brutos localmente no seu navegador.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Preserve a evidência original', text: 'Trabalhe a partir de uma cópia forense e mantenha o ficheiro original e o respetivo hash criptográfico fora desta ferramenta de navegador.' },
|
|
10
|
+
{ name: 'Carregue uma imagem localmente', text: 'Arraste ou selecione um JPEG ou PNG. O ficheiro é lido na memória do navegador e não é enviado.' },
|
|
11
|
+
{ name: 'Revise metadados e localização', text: 'Compare a hora de captura, a identidade da câmara, o software e os campos GPS com a narrativa do caso e os registos de aquisição.' },
|
|
12
|
+
{ name: 'Interprete os sinais de integridade', text: 'Trate assinaturas de edição e campos em falta como pistas de investigação, não como prova de manipulação.' },
|
|
13
|
+
{ name: 'Examine a pré-visualização hexadecimal', text: 'Use as zonas destacadas de cabeçalho e metadados para identificar a estrutura do contentor e documentar offsets para análise mais profunda.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Os metadados podem provar que uma fotografia é autêntica?', answer: 'Não. Os metadados podem ser removidos, copiados ou alterados. A autenticação exige combinar estrutura do ficheiro, proveniência, hashes, exame visual, análise de compressão e métodos forenses validados.' },
|
|
18
|
+
{ question: 'Uma assinatura do Adobe ou do GIMP prova edição maliciosa?', answer: 'Não. Indica que um software pode ter escrito os metadados ou exportado o ficheiro. Correção de cor legítima, processamento editorial ou preparação de prova podem produzir a mesma assinatura.' },
|
|
19
|
+
{ question: 'A imagem é enviada?', answer: 'Não. A análise é realizada na memória do navegador. Ainda assim, siga a política de tratamento de evidências da sua organização antes de abrir material sensível em qualquer software.' },
|
|
20
|
+
{ question: 'Porque podem faltar dados GPS?', answer: 'A câmara pode não suportar GPS, o registo de localização pode ter sido desativado, uma plataforma pode ter removido os metadados ou o ficheiro pode ter sido recodificado.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Exame binário apenas local',
|
|
29
|
+
dropTitle: 'Coloque uma imagem na mesa de evidência',
|
|
30
|
+
dropHint: 'Largue aqui um JPEG ou PNG, ou escolha um ficheiro. Nada é enviado.',
|
|
31
|
+
chooseFile: 'Escolher imagem',
|
|
32
|
+
replaceFile: 'Substituir imagem',
|
|
33
|
+
waiting: 'À espera de evidência',
|
|
34
|
+
metadata: 'Metadados de captura',
|
|
35
|
+
integrity: 'Sinais de integridade',
|
|
36
|
+
location: 'Localização registada',
|
|
37
|
+
hex: 'Janela de evidência hexadecimal',
|
|
38
|
+
hexHint: 'Primeiros 512 bytes · cabeçalho ciano · metadados âmbar · dados de imagem neutros',
|
|
39
|
+
noData: 'Sem valor legível',
|
|
40
|
+
noGps: 'Não foram encontradas coordenadas GPS legíveis.',
|
|
41
|
+
mapLink: 'Abrir coordenadas no OpenStreetMap',
|
|
42
|
+
score: 'Confiança heurística',
|
|
43
|
+
disclaimer: 'Uma pontuação elevada não estabelece autenticidade. Preserve o original, calcule hashes criptográficos e utilize fluxos laboratoriais validados para conclusões do caso.',
|
|
44
|
+
fileName: 'Ficheiro',
|
|
45
|
+
fileSize: 'Tamanho',
|
|
46
|
+
fileType: 'Contentor',
|
|
47
|
+
camera: 'Câmara',
|
|
48
|
+
captured: 'Capturado',
|
|
49
|
+
software: 'Software',
|
|
50
|
+
coordinates: 'Coordenadas',
|
|
51
|
+
statusNoObvious: 'Sem indicadores óbvios de edição',
|
|
52
|
+
statusReview: 'Revisão recomendada',
|
|
53
|
+
statusEditing: 'Assinatura de edição detetada',
|
|
54
|
+
processing: 'A ler evidência binária...',
|
|
55
|
+
loadError: 'Não foi possível analisar o ficheiro. Selecione uma imagem JPEG ou PNG válida.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Como analisar metadados de imagem e indicadores de autenticidade', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Um analisador forense de metadados de imagem ajuda investigadores, jornalistas, equipas jurídicas, revisores de conformidade e peritos a responder a uma pergunta de alta intenção: <strong>o que é que os metadados de uma fotografia podem realmente revelar?</strong> Os metadados podem expor pistas úteis sobre captura, localização, processamento por software e estrutura do ficheiro, mas não funcionam como uma máquina autónoma da verdade. O seu maior valor está na triagem. Ajudam a identificar quais os ficheiros que merecem análise mais profunda, quais os detalhes que sustentam a história declarada da imagem e quais as contradições que exigem seguimento antes de qualquer conclusão forte sobre autenticidade.' },
|
|
60
|
+
{ type: 'paragraph', html: 'Esta utilidade baseada em navegador foi desenhada para utilizadores que querem mais do que um dump EXIF bruto. Lê localmente o JPEG ou PNG selecionado e apresenta num único local campos da câmara, marcas temporais de captura, etiquetas de software, coordenadas, pistas do contentor e os primeiros bytes do ficheiro. Isso responde a intenções de pesquisa comuns por trás de expressões como <em>verificador de autenticidade de fotos</em>, <em>analisador de metadados EXIF</em>, <em>como saber se uma imagem foi editada</em> ou <em>como verificar metadados GPS de uma imagem</em>. Quem pesquisa esses termos geralmente quer tanto evidência como interpretação.' },
|
|
61
|
+
{ type: 'paragraph', html: 'O princípio mais importante é que o resultado deve ser lido como contexto, e não como veredito. Um ficheiro pode conter metadados úteis e ainda assim ser enganador. Pode conter poucos ou nenhuns metadados e continuar genuíno. Uma assinatura de software pode indicar comportamento normal de exportação em vez de manipulação enganosa. Uma boa prática forense trata, portanto, os metadados como uma camada de evidência que tem de ser comparada com proveniência, hashes, testemunhos, histórico do dispositivo e métodos de exame validados.' },
|
|
62
|
+
{ type: 'title', text: 'O que o EXIF pode dizer e o que não pode', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'EXIF é uma estrutura de metadados baseada em TIFF normalmente embutida em imagens JPEG. Pode registar o dispositivo de captura, a data e hora originais, a orientação, os parâmetros de exposição e a posição GPS. Quando esses campos são internamente coerentes e coincidem com as circunstâncias conhecidas do caso, podem apoiar uma cronologia ou origem proposta. Quando entram em conflito com a história declarada da imagem, identificam perguntas específicas para revisão posterior.' },
|
|
64
|
+
{ type: 'paragraph', html: 'Um dos maiores equívocos por trás das pesquisas sobre metadados de imagem é pensar que EXIF é fiável por defeito. Não é. Os metadados podem ser editados, copiados entre ficheiros, removidos por redes sociais, alterados durante a exportação, normalizados por plataformas cloud ou parcialmente danificados por recodificação. A melhor pergunta não é apenas se os metadados existem, mas se são tecnicamente coerentes, contextualmente plausíveis e corroborados por evidência independente.' },
|
|
65
|
+
{ type: 'table', headers: ['Observação', 'Possível significado', 'Cautela necessária'], rows: [
|
|
66
|
+
['Marca e modelo de câmara presentes', 'O ficheiro contém etiquetas de identificação do dispositivo.', 'As etiquetas podem ser copiadas ou reescritas e não identificam a câmara física por si só.'],
|
|
67
|
+
['Coordenadas GPS presentes', 'Foi registada uma localização nos metadados.', 'Confirme sinal, datum, carimbo temporal e consistência com evidência independente.'],
|
|
68
|
+
['A etiqueta de software nomeia um editor', 'A aplicação indicada provavelmente escreveu metadados ou exportou o ficheiro.', 'Isto não prova composição enganosa nem alteração do conteúdo.'],
|
|
69
|
+
['Data de captura em falta', 'A etiqueta relevante está ausente ou ilegível.', 'A ausência pode resultar de definições de privacidade, transcodificação ou remoção de metadados.'],
|
|
70
|
+
] },
|
|
71
|
+
{ type: 'title', text: 'O que os utilizadores normalmente querem dizer com "esta foto é autêntica?"', level: 3 },
|
|
72
|
+
{ type: 'paragraph', html: 'Na prática, as pessoas que procuram verificações de autenticidade de imagem costumam estar a perguntar coisas diferentes. Podem querer saber se o ficheiro veio diretamente de uma câmara, se um software de edição o tocou, se a data ou o local declarados parecem credíveis, se a estrutura do ficheiro parece normal ou se existem razões imediatas para desconfiar. Um bom analisador deve ajudar a separar essas perguntas em vez de as reduzir a um simples sim ou não.' },
|
|
73
|
+
{ type: 'paragraph', html: 'Por isso esta ferramenta distingue entre <strong>observações</strong> e <strong>heurísticas</strong>. Observações são coisas que o ficheiro parece efetivamente conter, como um campo de software legível ou um par de coordenadas. Heurísticas são interpretações orientadas para risco, como saber se uma assinatura de edição merece revisão. Esta separação é valiosa tanto para a usabilidade como para o SEO, porque responde a uma necessidade real do utilizador: perceber o que o ficheiro diz, o que a ferramenta infere e onde o juízo humano continua a ser essencial.' },
|
|
74
|
+
{ type: 'title', text: 'Como interpretar assinaturas de software de edição', level: 3 },
|
|
75
|
+
{ type: 'paragraph', html: 'Nomes como Adobe Photoshop, Lightroom, GIMP, Snapseed ou ImageMagick podem aparecer como texto simples em metadados ou segmentos de aplicação. A sua presença é uma pista de atribuição sobre o processamento do ficheiro, não prova de que os píxeis foram alterados maliciosamente. Esta é uma das intenções de pesquisa mais comuns neste tema, porque muitos utilizadores assumem que ver o nome de um editor significa automaticamente manipulação. Na realidade, redimensionamento normal, conversão de formato, correção de cor, processamento editorial, redação ou preparação probatória podem produzir a mesma assinatura.' },
|
|
76
|
+
{ type: 'paragraph', html: 'Uma interpretação melhor é perguntar que papel o software indicado terá desempenhado. Redimensionou a imagem para a web? Removeu metadados na exportação? Guardou uma captura de ecrã? Recodificou uma cópia das redes sociais? Adicionou um perfil de cor? A mesma cadeia de software pode sustentar narrativas muito diferentes consoante o workflow. Os examinadores devem comparar a assinatura com o histórico de tratamento esperado e, quando a gravidade do caso o justificar, avançar para métodos mais profundos como revisão de tabelas de quantização, análise de histórico de compressão, comparação de miniaturas, exame de padrão de sensor e testes ao nível do píxel.' },
|
|
77
|
+
{ type: 'title', text: 'Como ler metadados GPS com responsabilidade', level: 3 },
|
|
78
|
+
{ type: 'paragraph', html: 'Os metadados GPS podem ser muito valiosos porque podem ligar uma imagem a um lugar, mas é fácil exagerar a sua certeza. As coordenadas devem ser verificadas quanto ao sinal do hemisfério, precisão decimal, alinhamento temporal e consistência com o resto do ficheiro. Um par de coordenadas que parece preciso não é automaticamente fiável. Pode refletir um estado antigo do dispositivo, edição manual, comportamento de exportação ou histórico de media partilhado. A ausência de GPS também não implica ocultação, porque muitas câmaras nunca registam localização e muitas plataformas removem-na automaticamente.' },
|
|
79
|
+
{ type: 'paragraph', html: 'Para utilizadores que chegam por pesquisas sobre geolocalização de fotos ou verificação de localização baseada em metadados, a abordagem mais fiável é a comparação. Trate as coordenadas como uma pista entre várias. Compare-as com testemunhos, histórico de deslocações, pontos de referência da cena, meteorologia, registos de rede, backups cloud e logs do dispositivo quando legalmente disponível. O verdadeiro valor dos metadados está em quão bem se encaixam no panorama probatório mais amplo.' },
|
|
80
|
+
{ type: 'title', text: 'Porque a vista hexadecimal é importante', level: 3 },
|
|
81
|
+
{ type: 'paragraph', html: 'Um visualizador hexadecimal expõe os valores reais de byte e offsets que formam o ficheiro. Isto importa porque muitas perguntas sobre autenticidade são, na realidade, perguntas sobre estrutura. Os ficheiros JPEG começam normalmente com o marcador SOI FF D8, seguido de segmentos como APP0 ou APP1; o EXIF costuma residir em APP1. Os ficheiros PNG começam com uma assinatura de oito bytes e continuam como chunks nomeados. Observar os primeiros bytes ajuda a confirmar que um ficheiro pelo menos se parece com o contentor que afirma ser e dá aos examinadores experientes uma forma rápida de documentar offsets para relatórios posteriores.' },
|
|
82
|
+
{ type: 'paragraph', html: 'Anomalias estruturais não significam automaticamente manipulação, porque os codificadores legítimos diferem. Ainda assim, a visibilidade ao nível dos bytes é valiosa quando um ficheiro parece danificado, mal rotulado, parcialmente reescrito ou inconsistente com a sua extensão. Muitos utilizadores que procuram uma ferramenta de forense de imagem querem transparência e não uma caixa negra. Mostrar diretamente o cabeçalho e as zonas de metadados ajuda a perceber onde começa a interpretação.' },
|
|
83
|
+
{ type: 'title', text: 'Um workflow prático para revisão baseada em metadados', level: 3 },
|
|
84
|
+
{ type: 'paragraph', html: 'Um workflow robusto começa antes da revisão EXIF. Preserve o ficheiro de origem, calcule um hash criptográfico e evite tratar uma cópia de trabalho carregada no navegador como se fosse o original probatório. Depois examine em conjunto o contentor, as propriedades do ficheiro, os campos de captura, os campos de software e as coordenadas GPS. Procure primeiro coerência interna. Em seguida compare o que o ficheiro diz com o que o caso diz. Em muitas investigações, a observação mais útil surge do desencontro entre essas duas histórias.' },
|
|
85
|
+
{ type: 'paragraph', html: 'Isto importa para a intenção de pesquisa porque muitos utilizadores não querem apenas uma lista de tags. Querem saber o que fazer depois de ver uma data, um rótulo de software ou um par de coordenadas. Na maioria dos casos, a resposta é documentar a observação, registar a limitação e decidir se o ficheiro necessita de análise mais profunda com métodos aprovados por laboratório. A análise de metadados é uma etapa de entrada, não o exame completo.' },
|
|
86
|
+
{ type: 'title', text: 'Checklist do workflow forense', level: 3 },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Preservar:</strong> nunca trate uma cópia de trabalho carregada no navegador como original probatório.',
|
|
89
|
+
'<strong>Hash:</strong> registe um hash criptográfico na aquisição e após cada transferência autorizada.',
|
|
90
|
+
'<strong>Corroborar:</strong> compare metadados com registos do dispositivo, dados cloud, testemunhos e factos da cena.',
|
|
91
|
+
'<strong>Documentar:</strong> registe versões de software, definições, offsets, observações e capturas necessárias para reprodutibilidade.',
|
|
92
|
+
'<strong>Validar:</strong> utilize ferramentas aprovadas em laboratório e revisão por pares antes de expressar uma conclusão formal sobre autenticidade.',
|
|
93
|
+
] },
|
|
94
|
+
{ type: 'title', text: 'Quando a revisão de metadados não é suficiente', level: 3 },
|
|
95
|
+
{ type: 'paragraph', html: 'Por vezes os metadados parecem limpos e a imagem continua enganadora. Noutras, os metadados parecem suspeitos e a imagem continua autêntica. Por isso conclusões forenses avançadas exigem mais do que simples etiquetas de ficheiro. Dependendo do peso do caso, os passos seguintes podem incluir análise de artefactos de compressão, comparação de tabelas de quantização, verificação de incoerências em miniaturas, exame ao nível do píxel, reconstrução de proveniência e revisão da cadeia de custódia. Um bom conteúdo SEO deve dizê-lo claramente, porque responde à verdadeira pergunta por trás de muitas pesquisas no Google: o que esta ferramenta pode fazer por mim e onde começam os seus 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
|
+
};
|