<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Eurovision News Spotlight | Fact-Checking & OSINT Network: OSINT Tutorials]]></title><description><![CDATA[The OSINT Tutorials section of Eurovision News Spotlight provides technical "how-to" guides and step-by-step digital forensics frameworks for investigative journalists. These resources cover a wide range of advanced topics, including tracing beneficial ownership, unmasking botnets, and mastering geolocation and video verification techniques.]]></description><link>https://spotlight.ebu.ch/s/osint-tutorials</link><image><url>https://substackcdn.com/image/fetch/$s_!8Acp!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91084e1a-a179-4577-ab93-e794e882c0ad_1024x1024.png</url><title>Eurovision News Spotlight | Fact-Checking &amp; OSINT Network: OSINT Tutorials</title><link>https://spotlight.ebu.ch/s/osint-tutorials</link></image><generator>Substack</generator><lastBuildDate>Sat, 11 Apr 2026 04:33:37 GMT</lastBuildDate><atom:link href="https://spotlight.ebu.ch/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[European Broadcasting Union]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[ebuspotlight@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[ebuspotlight@substack.com]]></itunes:email><itunes:name><![CDATA[Venon_2]]></itunes:name></itunes:owner><itunes:author><![CDATA[Venon_2]]></itunes:author><googleplay:owner><![CDATA[ebuspotlight@substack.com]]></googleplay:owner><googleplay:email><![CDATA[ebuspotlight@substack.com]]></googleplay:email><googleplay:author><![CDATA[Venon_2]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Advanced geospatial intelligence (GEOINT) with satellite imagery]]></title><description><![CDATA[Master advanced GEOINT techniques. Learn to use satellite imagery, historical archives, and multispectral data for investigative journalism.]]></description><link>https://spotlight.ebu.ch/p/advanced-geoint-satellite-imagery-guide</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/advanced-geoint-satellite-imagery-guide</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 03 Feb 2026 09:02:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/64d81bea-21c1-43a6-9842-9342675f1edc_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BfKy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BfKy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BfKy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BfKy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BfKy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BfKy!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg" width="1200" height="799.4505494505495" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:18051519,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/186608548?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BfKy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg 424w, https://substackcdn.com/image/fetch/$s_!BfKy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg 848w, https://substackcdn.com/image/fetch/$s_!BfKy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!BfKy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215f97ec-e64d-4d56-b2d6-99f5fccb3448_4600x3066.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>1. Introduction and context</h3><p>Satellite imagery has become one of the most powerful tools in any investigative journalist&#8217;s arsenal. Whether documenting the expansion of illegal mining in the Amazon, tracking the growth of detention camps, or verifying the destruction of civilian infrastructure in conflict zones, geospatial intelligence (<a href="https://en.wikipedia.org/wiki/Geospatial_intelligence">GEOINT</a>) provides an empirical eye in the sky that is difficult for governments or corporations to refute.</p><h4>&#128269; 1.1. The investigative need</h4><p>Traditional reporting often relies on witness testimony or leaked documents, both of which can be challenged. Satellite imagery provides objective, time-stamped physical evidence. It allows journalists to monitor remote or hostile locations where ground access is impossible, providing a longitudinal view of change that reveals patterns of intent and impact over months or years.</p><h4>1.2. Learning outcomes</h4><ul><li><p><strong>Master multi-platform integration:</strong> Combine Google Earth Pro&#8217;s historical archives with Sentinel Hub&#8217;s multispectral data.</p></li><li><p><strong>Conduct temporal analysis:</strong> Identify and document physical changes over specific timeframes.</p></li><li><p><strong>Verify ground truth:</strong> Cross-reference satellite visual data with OpenStreetMap (OSM) vector data for naming and functional identification.</p></li><li><p><strong>Maintain evidentiary standards:</strong> Create a verifiable audit trail of geospatial findings for publication.</p></li></ul><h4>1.3. Case study hook</h4><p>Imagine investigating an industrial &#8220;buffer zone&#8221; where residents claim a factory is encroaching on protected wetlands. By layering 2015 imagery over 2025 data, a journalist can calculate the exact square footage of lost vegetation and pinpoint the date construction began, even if official records are missing or altered.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong>Optical vs. multispectral imagery:</strong> Optical imagery is what the human eye sees (RGB); multispectral imagery captures wavelengths such as infrared, useful for detecting healthy vegetation or heat signatures.</p></li><li><p><strong>Spatial resolution:</strong> The detail level (e.g., 30cm/pixel in high-res vs. 10m/pixel in <a href="https://www.sentinel-hub.com/explore/eobrowser/">Sentinel</a>).</p></li><li><p><strong>Temporal resolution:</strong> How often a satellite captures an image of the same spot.</p></li><li><p><strong>Orthorectification:</strong> The process of removing geometric distortions caused by terrain and camera tilt to ensure the map is &#8220;flat&#8221; and measurable.</p></li></ul><h4>&#9878;&#65039; 2.2. Ethical and legal boundaries</h4><h4>2.2.1. Consent &amp; privacy</h4><p>While satellite imagery captures public spaces, journalists should exercise caution when zooming into private residences. The &#8220;stop at the login&#8221; rule in GEOINT applies to attempts to access private, non-commercial surveillance feeds or other hacked footage. Stick to commercially available or public-domain orbital data.</p><h4>2.2.2. Legal considerations</h4><p>Publicly disseminating high-resolution imagery of sensitive military installations may violate national security laws in certain jurisdictions.</p><blockquote><p><strong>&#128721; Disclaimer:</strong> This tutorial is for educational purposes. Always consult with your newsroom&#8217;s legal department before publishing imagery that could be deemed &#8220;classified&#8221; by a nation or when navigating copyright licenses of commercial imagery providers like <a href="https://vantor.com/?utm_source=COMM&amp;utm_medium=paid_search&amp;gad_source=1&amp;gad_campaignid=23080757205&amp;gbraid=0AAAAAC8TtNpaZUOuW3o5UgtQLLYTG6F6S&amp;gclid=CjwKCAiAs4HMBhBJEiwACrfNZf_KVKi5nfnsjZnxtUhRYEwuZSryhGES8XPy4g2Iq17rlNSqIRJg1hoC9rAQAvD_BwE">Vantor (formerly Maxar)</a> or <a href="https://www.planet.com/">Planet</a>.</p></blockquote><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ul><li><p><strong><a href="https://www.google.com/earth/about/versions/#download-pro">Google Earth Pro (Desktop)</a>:</strong> Essential for its &#8220;Historical Imagery&#8221; slider.</p></li><li><p><strong><a href="https://apps.sentinel-hub.com/eo-browser/">Sentinel Hub/EO Browser</a>:</strong> For free, weekly updates at lower resolution but high spectral variety.</p></li><li><p><strong><a href="https://www.openstreetmap.org/#map=8/46.825/8.224">OpenStreetMap (OSM)</a>:</strong> To identify buildings, roads, and land use designations.</p></li><li><p><strong><a href="https://qgis.org/">QGIS (Optional)</a>:</strong> For advanced layering and professional cartography.</p></li></ul><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;How&#8221;)</h4><h4>Scenario 1: Auditing illegal land clearing</h4><ol><li><p><strong>Locate the target:</strong> Enter coordinates into <a href="https://www.google.com/earth/about/versions/#download-pro">Google Earth Pro</a>.</p></li><li><p><strong>Activate history:</strong> Click the &#8220;Clock&#8221; icon in the top toolbar to reveal the timeline slider.</p></li><li><p><strong>Compare eras:</strong> Move the slider to the earliest available high-res date (e.g., 2010) and the most recent (2024).</p></li><li><p><strong>Spectral verification:</strong> Open <a href="https://apps.sentinel-hub.com/eo-browser/">Sentinel Hub EO Browser</a> for the same coordinates to check the <a href="https://www.earthdata.nasa.gov/topics/land-surface/normalized-difference-vegetation-index-ndvi">NDVI (Normalized Difference Vegetation Index)</a>. A drop in NDVI confirms the &#8220;green&#8221; seen in old photos is gone, ruling out seasonal changes.</p></li></ol><p><strong>Investigative query table</strong></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/n1FcP/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c543d4e-de68-45b6-9256-9bbc9b48549b_1220x792.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d5caece-e167-4c7c-8eac-2e6b69053845_1220x792.png&quot;,&quot;height&quot;:386,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/n1FcP/1/" width="730" height="386" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#128190; 3.3. Data preservation and chain of custody</h4><p>To ensure your evidence holds up in court or a formal rebuttal:</p><ol><li><p><strong>Capture metadata:</strong> Always take a screenshot of the entire interface, including the coordinates, capture date, and satellite provider (e.g., &#8220;Image &#169; 2024 Airbus&#8221;).</p></li><li><p><strong>Log the source:</strong> Record the exact URL and sensor ID (e.g., Sentinel-2 L2A).</p></li><li><p><strong>Hash the files:</strong> Once you save your final comparison image, generate a SHA-256 hash immediately.</p><ul><li><p><code>Command (Mac/Linux): shasum -a 256 image.png</code></p></li><li><p><code>Windows: CertUtil -hashfile image.png SHA256</code></p></li></ul></li><li><p><strong>Archive:</strong> Save the original files in a &#8220;Write-Once&#8221; environment or a secured cloud drive with version history.</p></li></ol><div><hr></div><h3>&#129504; 4. Verification and analysis for reporting</h3><h4>4.1. Corroboration strategy</h4><p>Never rely on a single image. Cross-reference your satellite findings with:</p><ul><li><p><strong>Ground-level imagery:</strong> Use <a href="https://www.mapillary.com/">Mapillary</a> or <a href="https://www.google.com/streetview/">Google Street View</a> to see if the &#8220;white box&#8221; on the satellite is indeed a warehouse.</p></li><li><p><strong>Social media geolocated posts:</strong> Search for Instagram or TikTok posts from that coordinate to find video evidence from eyewitnesses.</p></li></ul><h4>4.2. Linking data to narrative</h4><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/Eh23f/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a500714c-2565-484b-a093-c2266c0319b6_1220x494.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77eba5be-bbd1-4fc9-8709-98e043c1b223_1220x494.png&quot;,&quot;height&quot;:237,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/Eh23f/1/" width="730" height="237" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; 4.3. AI assistance in analysis</h4><p>Journalists can use AI/LLMs to parse large amounts of metadata or caption text associated with imagery:</p><ul><li><p><strong>Entity extraction:</strong> Use AI to cluster and identify key dates and infrastructure types across dozens of imagery logs.</p></li><li><p><strong>Multimodal analysis:</strong> For more advanced workflows, refer to the framework in <a href="https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image">The OSINT prompt for AI-powered image geolocation</a> by Spotlight, which details how to structure prompts to assist in place identification while maintaining investigative diligence.</p></li></ul><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;693345f7-63e0-4112-9210-b9269c1fa7aa&quot;,&quot;caption&quot;:&quot;As a journalist, verifying the who, what, where, when and why of an image is paramount. Determining an image&#8217;s exact geolocation is a critical OSINT skill and forms one of the three pillars of social newsgathering verification.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The OSINT prompt for AI-powered image geolocation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:153302285,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire &amp; Eurovision News Spotlight | Journalist working in OSINT, fact-checking and verification. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15742f32-a64f-456e-8a0c-300e896bf686_3072x3072.jpeg&quot;,&quot;is_guest&quot;:true,&quot;bestseller_tier&quot;:null,&quot;primaryPublicationSubscribeUrl&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;primaryPublicationUrl&quot;:&quot;https://spotlight.ebu.ch&quot;,&quot;primaryPublicationName&quot;:&quot;Eurovision News Spotlight | Fact-Checking &amp; OSINT Network&quot;,&quot;primaryPublicationId&quot;:1601478}],&quot;post_date&quot;:&quot;2025-10-10T10:06:33.376Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd17a26e-5311-45b0-a6b4-0e2d7394ffc7_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image&quot;,&quot;section_name&quot;:&quot;OSINT Tutorials&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:175776074,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight | Fact-Checking &amp; OSINT Network&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!8Acp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91084e1a-a179-4577-ab93-e794e882c0ad_1024x1024.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><ul><li><p><strong>Translation:</strong> Use LLMs to translate local land-use permits or planning documents obtained from foreign government portals.</p></li></ul><blockquote><p><strong>&#9888;&#65039; Warning:</strong> AI can &#8220;hallucinate&#8221; geographical facts. Never ask an LLM to &#8220;tell you what is in this satellite image&#8221; and use the result as your primary fact. AI may misidentify a shadow as a building or a cloud as a smoke plume. Human verification of every pixel is vital.</p></blockquote><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p><strong>The challenge:</strong> Locate the &#8220;Tesla Gigafactory Berlin-Brandenburg&#8221; in <a href="https://www.google.com/earth/about/versions/#download-pro">Google Earth Pro</a>. Use the historical slider to find the exact month that major forest clearing began. Use <a href="https://www.openstreetmap.org/#map=8/46.825/8.224">OpenStreetMap</a> to identify which water bodies may have been affected by the nearby construction.</p><h4>5.2. Advanced resources</h4><ul><li><p><strong><a href="https://www.globalforestwatch.org/">Global Forest Watch</a>:</strong> An essential tool for monitoring real-time deforestation alerts and historical tree cover loss using Landsat and Sentinel data.</p></li><li><p><strong><a href="https://skytruth.org/">SkyTruth</a>:</strong> Specializes in using satellite imagery to track environmental incidents, such as oil spills and illegal mining, often providing expert-verified datasets.</p></li><li><p><strong><a href="https://earthengine.google.com">Google Earth Engine</a>:</strong> For large-scale planetary data analysis and processing of multi-petabyte geospatial datasets.</p></li><li><p><strong><a href="https://apps.sentinel-hub.com/eo-browser/">Sentinel Hub EO Browser</a>:</strong> Free access to multispectral satellite data with pre-built visualization scripts (NDVI, False Color, etc.).</p></li><li><p><strong><a href="https://vantor.com/">Vantor</a>:</strong> A professional geospatial platform for advanced asset monitoring and risk assessment, useful for enterprise-level investigative tracking.</p></li><li><p><strong><a href="https://spotlight.ebu.ch/s/osint-tutorials">Spotlight tutorials</a>:</strong> Repository for the latest AI-assisted OSINT techniques and prompt engineering for journalists.</p></li></ul><div><hr></div><h3>&#9989; 6. Key takeaways and investigative principles</h3><ul><li><p><strong>Context is king:</strong> A change in the landscape is only an investigation if you can link it to a person, company, or policy.</p></li><li><p><strong>Trust but verify:</strong> Use multispectral data (such as infrared) to confirm what your eyes see in RGB.</p></li><li><p><strong>Historical depth:</strong> Always look back at least 5-10 years to understand the land's natural state.</p></li><li><p><strong>Chain of custody:</strong> An image without a timestamp, coordinate, and hash is just a picture, not evidence.</p></li><li><p><strong>Resolution awareness:</strong> Understand the limits of your data; don&#8217;t over-interpret a blurry pixel.</p></li></ul><div><hr></div><h3>&#128065;&#65039; Coming next week&#8230;</h3><p><strong>Tracking aviation and maritime assets</strong></p><p>Using open-source trackers (e.g., FlightRadar24, MarineTraffic) to track aircraft and ships. Cross-referencing live transponder data with ownership registries to expose the movement and identity of global aviation and maritime assets.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Build your investigative toolkit, one week at a time.</strong> By subscribing to Spotlight, you&#8217;ll receive a new, field-tested OSINT tutorial every week.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Mastering automated fact-checking: APIs and ClaimReview for investigative journalists]]></title><description><![CDATA[Learn how to automate fact-checking using Google APIs, ClaimReview, and MediaReview schema to accelerate digital investigations and OSINT workflows]]></description><link>https://spotlight.ebu.ch/p/automated-fact-checking-osint-api-guide</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/automated-fact-checking-osint-api-guide</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 27 Jan 2026 09:02:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c0dcc311-10d8-49ce-9dcc-663efe73d7f4_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lwg6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lwg6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lwg6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lwg6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lwg6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lwg6!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:4626851,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/185418171?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lwg6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!lwg6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!lwg6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!lwg6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F757b236b-6bae-405a-af07-5a9692c2ab70_4500x3000.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>1. Introduction and context</h3><p>The speed of disinformation campaigns often outpaces traditional reporting cycles. For investigative journalists, the ability to rapidly identify whether a viral claim has already been debunked or to ensure their own investigations are discoverable by global fact-checking databases is becoming increasingly important. Automated fact-checking tools act as a &#8220;force multiplier,&#8221; allowing newsrooms to scan thousands of claims against verified databases in seconds.</p><h4>&#128269; 1.1. The investigative need</h4><p>In the early stages of breaking news, recycled misinformation is a primary trap. Journalists need automated systems to:</p><ul><li><p><strong>Prevent redundant work:</strong> Avoid spending time debunking a video or image that has already been proven to be from a different year, location, or generated by AI by other news or fact-checking organisations, including members of the <a href="https://spotlight.ebu.ch/about">Eurovision News Spotlight Fact-Checking and OSINT Network</a><strong>.</strong></p></li><li><p><strong>Monitor narrative trends:</strong> Track how a specific false claim evolves across different regions and languages.</p></li><li><p><strong>Enhance digital authority:</strong> By using structured data like <a href="https://www.claimreviewproject.com/">ClaimReview</a>, newsrooms can ensure their verified findings are prioritized by search engines, and now by AI assistants.</p></li></ul><h4>1.2. Learning outcomes</h4><ul><li><p><strong>Query</strong> the <a href="https://developers.google.com/fact-check/tools/api">Google Fact Check Explorer API</a> to automate claim verification.</p></li><li><p><strong>Implement</strong> <a href="https://www.claimreviewproject.com/">ClaimReview</a> and <a href="https://www.claimreviewproject.com/mediareview/home">MediaReview</a> schema to make investigations machine-readable.</p></li><li><p><strong>Integrate</strong> third-party fact-checking APIs and collaborative networks into OSINT workflows.</p></li><li><p><strong>Establish</strong> a secure chain of custody for digital debunks.</p></li></ul><h4>1.3. Case study hook</h4><p>Imagine a viral photo circulating on social media appearing to show a high-ranking official in an incriminating or highly unusual situation. Before launching a deep-dive forensic analysis, an automated query across global fact-checking databases and reverse-image search reveals that the exact image was identified as &#8220;AI-Generated/Deepfake&#8221; by a news agency in a different region weeks ago.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong><a href="https://www.claimreviewproject.com/">ClaimReview</a>:</strong> A standardized schema (tags) used to identify a fact-check article for search engines.</p></li><li><p><strong><a href="https://www.claimreviewproject.com/mediareview/home">MediaReview</a>:</strong> An emerging schema specifically for tagging manipulated or misrepresented images and videos.</p></li><li><p><strong><a href="https://en.wikipedia.org/wiki/API">API (Application Programming Interface)</a>:</strong> A bridge that allows your software to &#8220;talk&#8221; to a database of fact-checks directly.</p></li></ul><h4>&#9888;&#65039; 2.2. Ethical and legal boundaries</h4><h4>2.2.1. Consent &amp; privacy</h4><ul><li><p><strong>The &#8220;stop at the login&#8221; rule:</strong> Automated tools must only access public-facing APIs. Never use automated scripts to bypass paywalls or private group settings (e.g., closed Telegram channels) without explicit legal and ethical clearance.</p></li><li><p><strong>Sensitivity:</strong> Fact-checking private individuals requires a higher threshold of public interest than checking public figures.</p></li></ul><h4>2.2.2. Legal considerations</h4><blockquote><p><strong>&#128721; Disclaimer:</strong> This tutorial does not constitute legal advice. Investigative techniques involving automated data retrieval may intersect with <a href="https://www.justice.gov/jm/jm-9-48000-computer-fraud">Computer Fraud and Abuse Acts (CFAA)</a> or <a href="https://gdpr-info.eu/">GDPR</a>. Always consult your organization&#8217;s legal department before deploying large-scale automated scrapers or API integrations.</p></blockquote><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ul><li><p><strong><a href="http://console.cloud.google.com">Google Cloud Console Account</a>:</strong> To generate an API key for Fact Check tools.</p></li><li><p><strong><a href="https://www.python.org/">Python</a> (Optional) or <a href="https://www.postman.com/">Postman</a>:</strong> For making API requests.</p></li><li><p><strong><a href="https://toolbox.google.com/factcheck/markuptool">Fact Check Markup Tool</a>:</strong> To generate ClaimReview code without manual programming.</p></li><li><p><strong>Collaborative Access:</strong> Membership in networks like Eurovision News Spotlight for verified information.</p></li></ul><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;How&#8221;)</h4><h4>Scenario A: Automated auditing of viral claims</h4><p>To check a list of suspicious keywords or entities against global debunks, use the Google FactCheck Claim Search API.</p><p><strong>Table 1: API Query Parameters for Investigative Value</strong></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/uKnAM/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3077cefa-eabb-494a-bfe6-936a8b63173d_1220x758.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5978cc80-f65d-4279-a155-dab52efe55d9_1220x758.png&quot;,&quot;height&quot;:353,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/uKnAM/1/" width="730" height="353" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>Scenario B: Implementing ClaimReview for your investigation</h4><p>When publishing a debunk, you must &#8220;tag&#8221; it so automated systems can find it.</p><ol><li><p><strong>Access the Markup Tool:</strong> Go to the <a href="https://toolbox.google.com/factcheck/markuptool">Google Fact Check Markup Tool</a>.</p></li><li><p><strong>Enter Claim Details:</strong> Input the specific claim, the author of the claim (e.g., a specific politician), and your rating (False, Misleading, etc.).</p></li><li><p><strong>Embed JSON-LD:</strong> Copy the generated code into the <code>&lt;head&gt;</code> of your article.</p></li></ol><h4>&#128190; 3.3. Data preservation and chain of custody</h4><p>Automated results disappear or change. You must:</p><ol><li><p><strong>Archive the API Response:</strong> Save the raw JSON output of your API query.</p></li><li><p><strong>Snapshot the Source:</strong> Use <a href="https://hunch.ly/">Hunchly</a> or <a href="https://archive.ph/">Archive.today</a> to capture the original claim <em>and</em> the debunking article.</p></li><li><p><strong>Hash the Evidence:</strong> Generate a SHA-256 hash for any images or documents you are debunking.</p></li></ol><div><hr></div><h3>&#129504; 4. Verification and analysis for reporting</h3><h3>4.1. Corroboration strategy</h3><p>Never rely on a single automated debunk. Cross-reference an API finding with:</p><ol><li><p><strong>Primary-source audit:</strong>&nbsp;If the API says a video is from 2018, find the original from 2018.</p></li><li><p><strong>Metadata verification:</strong> Use <a href="https://www.invid-project.eu/tools-and-services/invid-verification-plugin/">InVID/WeVerify</a> to check if the video&#8217;s upload date aligns with the fact-check.</p></li></ol><h3>4.2. Linking data to narrative</h3><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/nc5kb/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f685f87-49b3-4822-9f5c-04b1edf49adb_1220x494.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26e41547-06cd-4207-bdb4-135be8a1a07f_1220x494.png&quot;,&quot;height&quot;:237,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/nc5kb/1/" width="730" height="237" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; 4.3. AI assistance in analysis</h4><p>Journalists can use LLMs to process large volumes of fact-check data:</p><ul><li><p><strong>Clustering:</strong> Upload a CSV of 500 API results and ask the AI to &#8220;Identify the top 3 recurring narratives and the most frequent sources of these claims.&#8221;</p></li><li><p><strong>Summarization:</strong> Use AI to summarize foreign-language debunks found via the API.</p></li></ul><blockquote><p><strong>&#9888;&#65039; Warning:</strong> AI can hallucinate fact-check ratings. Always click the source link provided in the API response to verify the actual rating. Do not upload confidential source documents or whistleblower data to public AI models as this data is used for training and voids source protection.</p></blockquote><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><ol><li><p>Go to the <a href="https://toolbox.google.com/factcheck/explorer">Fact Check Explorer</a>.</p></li><li><p>Search for a current viral topic (e.g., &#8220;Climate change 15 minute cities&#8221;).</p></li><li><p>Identify a debunk from a country other than your own.</p></li><li><p>Find the original &#8220;Claim Appearance&#8221; URL mentioned in that debunk and use a reverse image search to see if it is still active on other platforms.</p></li></ol><h4>5.2. Advanced resources</h4><ul><li><p><strong><a href="https://spotlight.ebu.ch/">Eurovision News Spotlight</a>:</strong> A collaborative EBU network providing forensic OSINT analysis, Field Notes, and technical tutorials for public service media, investigative journalists and the public.</p></li><li><p><strong><a href="https://developers.google.com/fact-check/tools/api">Google Fact Check API Docs</a>:</strong> Full technical documentation for developers.</p></li><li><p><strong><a href="https://schema.org/ClaimReview">Schema.org ClaimReview</a>:</strong> The official technical definition of the markup.</p></li><li><p><strong><a href="https://reporterslab.org/fact-checking/">Duke Reporters&#8217; Lab</a>:</strong> A global database of active fact-checking organizations.</p></li></ul><div><hr></div><h3>&#9989; 6. Key takeaways and investigative principles</h3><ul><li><p><strong>Automate early:</strong> Run API queries at the start of an investigation to avoid redundant effort.</p></li><li><p><strong>Trust verified networks:</strong> Leverage the expertise of the Eurovision News Spotlight network for complex cross-border claims.</p></li><li><p><strong>Machine-readability is key:</strong> Use ClaimReview so your hard work is indexed by algorithms.</p></li><li><p><strong>Context is king:</strong> An automated rating doesn&#8217;t explain the &#8220;why&#8221;.</p></li><li><p><strong>Human-in-the-loop:</strong> Always fact-check the automated fact-checkers.</p></li></ul><div><hr></div><h3>&#128065;&#65039; Coming next week&#8230;</h3><p><strong>Advanced GEOINT: Satellite imagery &amp; temporal analysis</strong> <br>Master the forensic fusion of Google Earth, Sentinel Hub, and OSM to detect, map, and verify environmental and infrastructural change over time.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Build your investigative toolkit, one week at a time.</strong> By subscribing to Spotlight, you&#8217;ll receive a new, field-tested OSINT tutorial every week.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[The SIFT method: A step-by-step guide to investigative verification]]></title><description><![CDATA[Master the four-step SIFT methodology. Learn investigative lateral reading to vet sources, find better coverage, and trace original media for digital OSINT.]]></description><link>https://spotlight.ebu.ch/p/sift-method-investigative-verification-guide</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/sift-method-investigative-verification-guide</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 20 Jan 2026 09:01:26 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/786b9708-6e34-4808-8fd3-037b6ae0bf54_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!de90!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!de90!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!de90!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!de90!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!de90!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!de90!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:9965438,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/183386613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!de90!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!de90!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!de90!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!de90!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ba3f478-af58-455d-bc11-ffdfe5e4e0e5_4500x3000.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>1. Introduction and context</h2><h4>&#128269; 1.1. The investigative need</h4><p>In an era of coordinated disinformation and &#8220;pink slime&#8221; news sites, journalists cannot take digital content at face value. Traditional vertical reading (staying within a website to judge its credibility) is easily gamed by professional UI/UX design. Investigative OSINT requires lateral reading: moving away from a source to see what the rest of the web says about it. This skill is the &#8220;first responder&#8221; phase of any investigation, preventing the spread of falsehoods before they enter the reporting stream.</p><h4>1.2. Learning outcomes</h4><ul><li><p><strong>Implement</strong> the four-step SIFT methodology to classify incoming digital leads.</p></li><li><p><strong>Execute</strong> lateral reading techniques using advanced search operators to bypass a source&#8217;s self-presentation.</p></li><li><p><strong>Evaluate</strong> the institutional &#8220;reputation trail&#8221; of unfamiliar organizations or individuals.</p></li><li><p><strong>Trace</strong> original reporting or media assets back to their primary context to identify manipulation.</p></li></ul><h4>&#128203; 1.3. Case study hook</h4><p>Imagine receiving a leaked &#8220;scientific study&#8221; from a think tank you&#8217;ve never heard of, claiming a specific chemical in a local river is harmless. Before analyzing the data, you must determine if the think tank is a neutral academic body or a front for the chemical corporation&#8212;a task that requires looking around the site, not just at it.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong>Lateral reading:</strong> The practice of opening multiple tabs to research the source, author, and claims of a piece of content while ignoring the content itself initially.</p></li><li><p><strong>Vertical reading:</strong> Analyzing a single webpage from top to bottom (looking at &#8220;About&#8221; pages, logos, and aesthetics), which is often misleading in OSINT.</p></li><li><p><strong>SIFT (The four moves):</strong> A mnemonic (memory aid) for:</p><ul><li><p><strong>S</strong>top</p></li><li><p><strong>I</strong>nvestigate the source</p></li><li><p><strong>F</strong>ind better coverage </p></li><li><p><strong>T</strong>race claims back to the original context</p></li></ul></li><li><p><strong>Circular reporting:</strong> When source A publishes misinformation, source B parrots it, and source A then cites source B as &#8220;corroboration&#8221;.</p></li></ul><h4>&#9888;&#65039; 2.2. Ethical and legal boundaries</h4><h4>2.2.1. Consent &amp; privacy</h4><p>Verification often involves investigating individuals. Journalists must distinguish between public interest (verifying a public official&#8217;s claim) and harassment. Never use verification tools to dox private citizens who have no bearing on the public interest.</p><h4>2.2.2. Legal considerations</h4><p>While lateral reading involves public searches, stay within the &#8220;stop at the login&#8221; rule. Using unauthorized access to private databases to verify a source can lead to legal liability and the &#8220;fruit of the poisonous tree&#8221; doctrine, making the evidence unusable. </p><p><strong>&#128721; </strong><em><strong>Disclaimer: Always consult your newsroom&#8217;s legal department regarding the use of leaked materials.</strong></em></p><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ul><li><p><strong>Multi-tab browser environment:</strong> A dedicated browser profile (e.g., on Firefox or Brave) to prevent cookie contamination.</p></li><li><p><strong>Search operators:</strong> Mastery of Google/DuckDuckGo dorks.</p></li><li><p><strong>Archiving tools:</strong> <a href="https://archive.is/">Archive.today</a> or the <a href="https://chromewebstore.google.com/detail/wayback-machine/fpnmgdkabkmnadcjpehmlllkndpkmiak?pli=1">Wayback Machine extension</a>.</p></li><li><p><strong>Whois Lookup:</strong> <a href="https://www.domaintools.com/">DomainTools</a> or <a href="https://lookup.icann.org/">ICANN Lookup</a>.</p></li></ul><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;How&#8221;)</h4><h4>Move 1: Stop (The classification)</h4><p>When you feel a strong emotional reaction (outrage, validation) to a source, <strong>stop</strong>. Do not share or cite it. Ask: &#8220;Do I know this source? Is it reputable?&#8221;</p><h4>Move 2: Investigate the source (Lateral reading)</h4><p>Do not click the &#8220;About Us&#8221; page. Instead, use these queries to see what others say:</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/U8tti/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83c2e536-5272-49a8-a71b-13eb42d7e232_1220x888.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7b97f46-e193-473c-bdb5-dacc828e6009_1220x888.png&quot;,&quot;height&quot;:434,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/U8tti/1/" width="730" height="434" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>Move 3: Find better coverage</h4><p>Search for the core claim, not the source&#8217;s headline. Look for &#8220;consensus&#8221; or reporting from established news wires (AP, Reuters, AFP).</p><h4>Move 4: Trace claims to the original context</h4><p>If a post quotes a document, find the full PDF. If a video shows a &#8220;clash,&#8221; use Reverse Image Search (<a href="https://lens.google/">Google Lens</a>/<a href="https://yandex.com/images/">Yandex</a>) to find the full-length video and verify the date/location.</p><h4>&#128190; 3.3. Data preservation and chain of custody</h4><p>Every step of the verification process should be documented.</p><ol><li><p><strong>Archiving:</strong> Use <a href="https://archive.ph/">Archive.today</a> to create a permanent snapshot of the source and the lateral evidence you found.</p></li><li><p><strong>Hashing:</strong> For downloaded documents, generate a SHA-256 hash immediately.</p><p><em>Terminal Command:</em> <code>shasum -a 256 document.pdf</code></p></li><li><p><strong>Logging:</strong> Keep a simple spreadsheet log: <code>[Timestamp] | [Action] | [URL] | [Outcome/Result]</code>.</p></li></ol><div><hr></div><h3>&#129504; 4. Verification and analysis for reporting</h3><h4>4.1. Corroboration strategy</h4><p>A finding is only &#8220;verified&#8221; if it passes the <strong>Rule of Three</strong>:</p><ol><li><p><strong>Technical evidence:</strong> (e.g., <a href="https://who.is/">Whois</a> data shows the site was created yesterday).</p></li><li><p><strong>Lateral evidence:</strong> (e.g., A media watchdog identifies the owner as a known operative).</p></li><li><p><strong>Primary context:</strong> (e.g., The original video source proves the clip was filmed in 2019, not today).</p></li></ol><h4>4.2. Linking data to narrative</h4><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/2jcNz/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51faab26-499d-47bc-aff6-03543b15c690_1220x420.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5719b902-b617-4208-a560-f1b06e15a4f9_1220x420.png&quot;,&quot;height&quot;:200,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/2jcNz/1/" width="730" height="200" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; 4.3. AI assistance in analysis</h4><p>AI can speed up the &#8220;Find Better Coverage&#8221; phase:</p><ul><li><p><strong>Summarization:</strong> Feed long, complex reports into a local LLM to extract the primary claims.</p></li><li><p><strong>Entity extraction:</strong> Use AI to list all organizations mentioned in a series of leaked emails.</p></li><li><p><strong>Clustering:</strong> Group 100+ articles by &#8220;narrative similarity&#8221; to identify the origin of a rumour.</p></li></ul><blockquote><p><strong>&#9888;&#65039; Warning:</strong> AI models frequently hallucinate &#8220;reputable sources&#8221; or mix up dates. Don&#8217;t include a fact in a story simply because an AI confirmed it. Don&#8217;t upload confidential source documents to public AI models (like ChatGPT) as this may compromise your source and leak the data into the model&#8217;s training set.</p></blockquote><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p><strong>The &#8220;Pop-Up&#8221; Challenge:</strong> Go to <code>NewsGuard</code> or a local fact-checking site and find a site labelled &#8220;Unreliable.&#8221; Spend 10 minutes performing <strong>Move 2 (Investigate the source)</strong> using lateral reading. Try to find the <em>true</em> owner or funding source without ever relying on the site&#8217;s own &#8220;About&#8221; page.</p><h4>5.2. Advanced resources</h4><ul><li><p><strong><a href="https://www.exploit-db.com/google-hacking-database">Google Hacking Database (GHDB)</a></strong>: Advanced queries for finding exposed data.</p></li><li><p><strong><a href="https://gijn.org/resource/">GIJN Resource Center</a></strong>: Global Investigative Journalism Network&#8217;s guides on specialized reporting.</p></li><li><p><strong><a href="https://osintframework.com/">OSINT Framework</a>:</strong> A visual directory of tools for different types of data collection.</p></li><li><p><strong><a href="https://www.maltego.com/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=S_Tools&amp;utm_term=best%20osint%20tools%20for%20social%20media&amp;gad_source=1&amp;gad_campaignid=21669013138&amp;gbraid=0AAAAABOgrspfr7lJdC4yYuKehWYpnEE5r&amp;gclid=CjwKCAiAybfLBhAjEiwAI0mBBlIeAbNJ4SdCEJ6kMCHZqGyEqgWP-bcqcLAoqx0CC8eJ3GKcFtV7axoC_w4QAvD_BwE">Maltego</a>:</strong> A graphical link analysis tool for mapping relationships between pieces of information.</p></li></ul><div><hr></div><h3>&#9989; 6. Key takeaways and investigative principles</h3><ul><li><p><strong>Ignore the UI:</strong> Professional design does not equal credibility.</p></li><li><p><strong>Leave the site:</strong> The truth about a source is rarely found on the source itself.</p></li><li><p><strong>Search for consensus:</strong> Established facts should have a trail across multiple reputable outlets.</p></li><li><p><strong>Trace to the root:</strong> Always seek the raw data, the original video, or the primary document.</p></li><li><p><strong>Archive everything:</strong> Digital evidence is volatile; capture it before it&#8217;s deleted.</p></li></ul><div><hr></div><h3>&#128065;&#65039; Coming next week&#8230;</h3><p><strong>Automated Fact-Checking Tools and APIs<br></strong>Streamline your verification workflow by learning how to harness open APIs and ClaimReview data to access thousands of existing debunks.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Build your investigative toolkit, one week at a time.</strong> By subscribing to Spotlight, you&#8217;ll receive a new, field-tested OSINT tutorial every week.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Sentiment analysis for investigators: Mapping emotional data with Python]]></title><description><![CDATA[Learn how to use Python and NLP to track narrative shifts, detect bot-driven vitriol, and quantify public emotion in investigative reporting.]]></description><link>https://spotlight.ebu.ch/p/journalist-guide-to-sentiment-analysis</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/journalist-guide-to-sentiment-analysis</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 13 Jan 2026 09:02:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/527c6f46-0afa-4e62-b0ad-5c1bf991a204_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kRck!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kRck!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kRck!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kRck!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kRck!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kRck!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:17832508,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/183386381?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kRck!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kRck!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kRck!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kRck!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa855556f-a3f5-4c55-8795-cd41b6dea4d1_6000x4000.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this step-by-step tutorial, we look at how journalists can leverage Natural Language Processing (NLP) to move beyond qualitative observation into quantitative evidence. </p><p>By using Python to calculate sentiment scoring, journalists and investigators can identify hidden patterns in large datasets. We will also look at algorithmic bias and how to ensure that automated tools do not misinterpret cultural nuance or regional slang, which could lead to false reporting. </p><p><strong>What is Sentiment analysis?</strong></p><p>Sentiment analysis is a branch of Natural Language Processing (NLP) that lets reporters turn thousands of social media comments, forum posts, or leaked documents into measurable data points. </p><p>By keeping an eye on emotional trends, journalists can find the exact moment when bot-driven hate speech took over a grassroots movement or spot new hostility towards whistleblowers before it gets too bad.</p><div><hr></div><h3>1. Introduction and context</h3><h4>1.1. The investigative need</h4><p>When you have 50,000 Telegram messages or 10 years&#8217; worth of corporate emails, traditional &#8220;close reading&#8221; doesn&#8217;t work. Sentiment analysis gives you the &#8220;distant reading&#8221; you need to find patterns that you can&#8217;t see with the naked eye. It lets reporters:</p><ul><li><p>Identify &#8220;coordinated inauthenticity&#8221; by spotting unnatural spikes in specific emotional tones.</p></li><li><p>Monitor the escalation of extremist rhetoric within closed digital communities.</p></li><li><p>Quantify public reaction to policy changes or scandals over time to test government claims of &#8220;broad support.&#8221;</p></li></ul><h4>1.2. Learning outcomes</h4><p>By the end of this tutorial, you will be able to:</p><ul><li><p><strong>Extract and clean</strong> large-scale text data for NLP processing.</p></li><li><p><strong>Execute sentiment scoring</strong> using Python-based libraries and AI-assisted tools.</p></li><li><p><strong>Visualize emotional shifts</strong> to identify key investigative pivot points.</p></li><li><p><strong>Apply ethical safeguards</strong> to ensure data privacy and prevent algorithmic bias in reporting.</p></li></ul><h4>1.3. Case study hook</h4><p>Imagine that you are looking into a sudden rise in &#8220;spontaneous&#8221; protests against a new environmental regulation. When you use sentiment analysis on localized Facebook groups, you find that the early conversations were nuanced and neutral. However, over the course of 48 hours, &#8220;High Anger&#8221; scores rose by 400%, thanks to a small group of accounts that used the same syntactical patterns &#8212; this is a sign of a coordinated influence operation.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong>Polarity:</strong> A metric ranging from -1 (extremely negative) to +1 (extremely positive) that measures the &#8220;direction&#8221; of an emotion.</p></li><li><p><strong>Subjectivity:</strong> A score (0 to 1) indicating how much of the text is based on opinion, emotion, or judgment versus factual, objective information.</p></li><li><p><strong>Tokenization:</strong> The process of breaking down a body of text into individual units (words or phrases) so a machine can analyze them.</p></li><li><p><strong>Lexicon:</strong> A &#8220;sentiment dictionary&#8221; used by algorithms to assign weights to specific words (e.g., &#8220;disaster&#8221; = -0.8; &#8220;breakthrough&#8221; = +0.8).</p></li></ul><h4>&#9888;&#65039; 2.2. Ethical and legal boundaries</h4><p><strong>2.2.1. Consent &amp; privacy</strong> <br>Journalists should adhere to the &#8220;public interest vs. private harm&#8221; balance. While analyzing public tweets is generally acceptable, analyzing &#8220;leaked&#8221; private chats (e.g., from a hacked Discord) requires a high bar of investigative necessity.</p><blockquote><p><strong>&#128721; The stop at the login rule:</strong> Do not use automated tools to bypass privacy settings or &#8220;friend&#8221; targets under false pretences to scrape private sentiment data.</p></blockquote><p><strong>2.2.2. Legal considerations</strong> <br>Terms of Service (ToS) for platforms like <a href="https://privacy.x.com/en/blog/2025/updates-tos-privacy-policy">X (Twitter)</a> or <a href="https://www.facebook.com/terms/">Meta</a> often prohibit automated scraping. Use official APIs where possible. Unauthorized access to private servers to &#8220;harvest&#8221; text data may violate the <a href="https://www.justice.gov/jm/jm-9-48000-computer-fraud">Computer Fraud and Abuse Act (CFAA)</a> or <a href="https://gdpr-info.eu/">GDPR</a>. </p><p><strong>Disclaimer:</strong> <em>Always consult with your newsroom&#8217;s legal department before deploying scrapers or publishing data derived from private or semi-closed forums.</em></p><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ul><li><p><strong>Python Environment:</strong> Install <a href="https://www.anaconda.com/">Anaconda</a> or use <a href="https://colab.research.google.com/">Google Colab</a> for a browser-based setup.</p></li><li><p><strong>Libraries:</strong> <code>Pandas</code> (data handling), <code>TextBlob</code> or <code>VADER</code> (sentiment engines), and <code>Matplotlib</code> (visualization).</p></li><li><p><strong>Browser Extension:</strong> <a href="https://www.google.com/search?q=https://chrome.google.com/webstore/detail/instant-data-scraper">Instant Data Scraper</a> for quick, code-free data extraction from public lists.</p></li></ul><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;How&#8221;)</h4><p><strong>Step 1: Data Acquisition &amp; Cleaning</strong> <br>Export your target text (e.g., a CSV of YouTube comments) into your Python environment. Use <code>Pandas</code> to remove &#8220;noise&#8221; &#8212; URLs, emojis, and &#8220;stop words&#8221; (common words like &#8220;the,&#8221; &#8220;is,&#8221; &#8220;at&#8221;) that don&#8217;t carry emotional weight.</p><p><strong>Step 2: Polarity and subjectivity scoring</strong> <br>Apply a sentiment engine to your dataset. <a href="https://pypi.org/project/vaderSentiment/">VADER</a> (Valence Aware Dictionary and Sentiment Reasoner) is the best tool for journalists because it is specifically designed to handle social media slang and capitalisation (for example, &#8220;GREAT!!!&#8221; is scored higher than &#8220;great&#8221;).</p><p><strong>Table 1: Investigative Query Logic</strong></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/gIR5r/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97448bfd-4207-4e8c-a409-3632c131384a_1220x782.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2aea3716-5933-4c77-b208-0b4253d1e9ba_1220x782.png&quot;,&quot;height&quot;:389,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/gIR5r/1/" width="730" height="389" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>Step 3: Temporal analysis (The timeline)</strong> Plot your sentiment scores against a timeline. Look for &#8220;The Divergence&#8221;: a moment where a specific keyword (e.g., a candidate&#8217;s name) suddenly shifts from neutral to highly negative.</p><h4>&#128190; 3.3. Data preservation and chain of custody</h4><p>To ensure your findings hold up in court or under editorial scrutiny:</p><ol><li><p><strong>Archive the source:</strong> Use <code>archive.org</code> or <code>archive.ph</code> for the original URLs.</p></li><li><p><strong>Generate hashes:</strong> Use a tool like <code>HashMyFiles</code> to create a <strong>SHA-256 hash</strong> of your original CSV/JSON data. This proves the data wasn&#8217;t altered during your analysis.</p></li><li><p><strong>Log the algorithm:</strong> Document the specific version of the library (e.g., <code>TextBlob v0.15.3</code>) and any custom lexicons used.</p></li></ol><div><hr></div><h3>&#129504; 4. Verification and analysis for reporting</h3><h4>4.1. Corroboration strategy</h4><p>Never rely on a &#8220;sentiment score&#8221; alone. Cross-reference your findings:</p><ul><li><p><strong>Technical:</strong> Check if the highly negative sentiment spikes correlate with known bot-deployment timestamps (see: <em>Botometer</em>).</p></li><li><p><strong>Human:</strong> Select a random sample of 50 &#8220;High Anger&#8221; posts and manually code them. If the AI labeled sarcasm as &#8220;Positive,&#8221; your data is skewed.</p></li></ul><h4>4.2. Linking data to narrative</h4><p><strong>Table 2: Translating Technical Data</strong> </p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/MkMN5/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60c34425-ff63-4361-9998-48d3d0265372_1220x388.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/721954d5-7184-459b-b9cb-fb2a21bae8e4_1220x388.png&quot;,&quot;height&quot;:186,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/MkMN5/1/" width="730" height="186" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; 4.3. AI assistance in analysis</h4><p>Use LLMs (like GPT-4 or Claude) to process your <strong>final</strong> high-intensity clusters:</p><ul><li><p><strong>Clustering:</strong> &#8220;Group these 50 negative comments into three primary themes of grievance.&#8221;</p></li><li><p><strong>Summarization:</strong> &#8220;Summarize the core arguments in this 200-page forum transcript.&#8221;</p></li><li><p><strong>Translation:</strong> Translate foreign-language vitriol to check for localized cultural idioms.</p></li></ul><blockquote><p>&#9888;&#65039;  <strong>Warning</strong>: AI models frequently hallucinate &#8220;intent.&#8221; An LLM might claim a user is &#8220;threatening&#8221; when they are using regional slang. Human intervention is required here to fact-check results. Never upload sensitive whistleblower documents or PII (Personally Identifiable Information) to public AI models.</p></blockquote><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p>Download a public dataset of news headlines (e.g., from <a href="https://www.kaggle.com/">Kaggle</a>) regarding a controversial figure. Use a sentiment tool to find the 10 &#8220;most subjective&#8221; headlines. Manually check if these headlines come from state-sponsored media or independent outlets.</p><h4>5.2. Advanced resources</h4><ul><li><p><strong>Advanced scraping &amp; data extraction:</strong></p><ul><li><p><strong><a href="https://github.com/qeeqbox/social-analyzer">GitHub - Social-Analyzer</a>:</strong> A powerful tool for analyzing a target&#8217;s profile across 1000+ social media platforms.</p></li></ul></li><li><p><strong>NLP &amp; sentiment analysis frameworks:</strong></p><ul><li><p><strong><a href="https://www.nltk.org/">NLTK (Natural Language Toolkit) Documentation</a>:</strong> The foundational library for Python-based language processing.</p></li><li><p><strong><a href="https://github.com/cjhutto/vaderSentiment">VADER Sentiment Analysis (Official Repository)</a>:</strong> Essential reading for understanding how the algorithm weights social media slang and punctuation.</p></li><li><p><strong><a href="https://huggingface.co/models?pipeline_tag=text-classification&amp;sort=downloads">Hugging Face Models</a>:</strong> Access state-of-the-art pre-trained models for multi-language sentiment detection.</p></li></ul></li><li><p><strong>Verification &amp; bot detection:</strong></p><ul><li><p><strong><a href="https://botometer.osome.iu.edu/">Botometer (Indiana University)</a>:</strong> Checks the activity of X (Twitter) accounts and assigns them a score based on how likely they are to be bots.</p></li><li><p><strong><a href="https://hoaxy.osome.iu.edu/">Hoaxy</a>:</strong> Visualizes the spread of claims on social media to help identify coordinated influence operations.</p></li></ul></li><li><p><strong>Investigative standards:</strong></p><ul><li><p><strong><a href="https://www.google.com/search?q=https://gijn.org/resource/digital-forensics/">The GIJN Digital Forensics Guide</a>:</strong> Global Investigative Journalism Network&#8217;s best practices for handling digital evidence.</p></li><li><p><strong><a href="https://www.ebu.ch/publications">EBU News Report 2024 (Trusted Journalism)</a>:</strong> Insights into maintaining editorial integrity in the age of AI-driven newsgathering.</p></li></ul></li></ul><div><hr></div><h3>&#9989; 6. Key takeaways and investigative principles</h3><ul><li><p><strong>Sentiment is a compass, not a map:</strong> Use scores to find where to look, not as a final &#8220;proof&#8221; of intent.</p></li><li><p><strong>Context is king:</strong> Algorithms cannot detect deep sarcasm or cultural nuance without human oversight.</p></li><li><p><strong>Clean data in, clean data out:</strong> Spend 70% of your time cleaning and verifying your text source.</p></li><li><p><strong>Transparency is paramount:</strong> If you publish a sentiment chart, you must disclose your methodology and the limitations of the tool used.</p></li><li><p><strong>Verify the extremes:</strong> Always manually read the &#8220;most positive&#8221; and &#8220;most negative&#8221; data points; this is where the most significant errors (and stories) live.</p></li></ul><div><hr></div><h3>&#128065;&#65039; Coming next week&#8230;</h3><p><strong>The SIFT method: Practical tools for faster fact-checking</strong><br>Master the essentials of the SIFT method and lateral reading to help you quickly assess source credibility and verify claims in your daily newsgathering.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Build your investigative toolkit, one week at a time.</strong> By subscribing to Spotlight, you&#8217;ll receive a new, field-tested OSINT tutorial every week.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Mastering data scraping: A professional guide to automating evidence collection]]></title><description><![CDATA[Learn to automate data extraction using Python and no-code tools. Includes ethical frameworks, legal boundaries, and data preservation for reporting.]]></description><link>https://spotlight.ebu.ch/p/master-data-scraping-investigative-guide</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/master-data-scraping-investigative-guide</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 06 Jan 2026 09:01:07 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f39d3b54-331c-4da7-a3fc-be195a12687e_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XCK1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XCK1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XCK1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XCK1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XCK1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XCK1!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg" width="1200" height="843.9560439560439" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1024,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:8505924,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/182467179?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XCK1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XCK1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XCK1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XCK1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92f46b48-9a9d-46f5-8170-3d45f4d207a1_5000x3516.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>1. Introduction and context</h3><h4>1.1. The investigative need</h4><p>Data extraction is becoming increasingly important in investigative journalism. To bridge the gap between unstructured web data and a queryable database, reporters must move beyond a &#8216;copy and paste&#8217; workflow. This tutorial outlines an OSINT framework for web scraping: from navigating the DOM with BeautifulSoup to managing a chain of custody with SHA-256 hashing. Whether you are a no-code advocate or a Python enthusiast, these are the tools required to audit data at scale.</p><h4>1.2. Learning outcomes</h4><ul><li><p><strong>Differentiate</strong> between static and dynamic web content to select the optimal extraction method.</p></li><li><p><strong>Construct</strong> advanced scraping queries using Python&#8217;s BeautifulSoup and no-code selectors.</p></li><li><p><strong>Execute</strong> a rigorous data preservation workflow to ensure evidentiary integrity.</p></li><li><p><strong>Synthesize</strong> large-scale datasets using AI-driven entity extraction and clustering.</p></li></ul><h4>1.3. Case study hook</h4><p>A journalist who suspects a housing authority of deleting records of construction violations deploys a web scraper to capture a daily snapshot of the site. The daily captures prove that 15% of violations linked to a specific developer were removed from the public portal without explanation.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong>DOM (Document Object Model):</strong> The hierarchical structure of a webpage that scrapers navigate to find data.</p></li><li><p><strong>CSS selectors:</strong> Patterns used to select the specific elements (like <code>.price</code> or <code>#document-id</code>) you want to extract.</p></li><li><p><strong>Headless browser:</strong> A web browser without a graphical user interface, used to scrape sites that require JavaScript to load.</p></li></ul><h4>&#9888;&#65039; 2.2. Ethical and legal boundaries</h4><p><strong>2.2.1. Consent &amp; privacy</strong> <br>Journalists must adhere to the <strong>&#8220;stop at the login&#8221; </strong>rule: If data is behind a paywall, password, or requires bypassing a CAPTCHA, it is no longer considered open source. Scraping private or restricted areas may violate the <a href="https://www.justice.gov/jm/jm-9-48000-computer-fraud">Computer Fraud and Abuse Act (CFAA)</a> or similar international laws.</p><p><strong>2.2.2. Legal considerations<br></strong>While the <a href="https://law.justia.com/cases/federal/appellate-courts/ca9/17-16783/17-16783-2022-04-18.html">2022 </a><em><a href="https://law.justia.com/cases/federal/appellate-courts/ca9/17-16783/17-16783-2022-04-18.html">hiQ Labs v. LinkedIn</a></em> ruling provided some protection for scraping public data, journalists face risks regarding &#8220;Terms of Service&#8221; violations. Excessive scraping can be interpreted as a Distributed Denial of Service (DDoS) attack.</p><blockquote><p><strong>Disclaimer:</strong> This tutorial is for educational purposes. Consult your newsroom&#8217;s legal department before initiating large-scale scraping projects involving personal data or proprietary systems.</p></blockquote><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ul><li><p><strong>Environment:</strong> A dedicated Virtual Machine (VM) or a cloud-based Python environment like Google Colab.</p></li><li><p><strong>Libraries:</strong> <code>Requests</code> (fetching), <code>BeautifulSoup4</code> (parsing), and <code>Pandas</code> (structuring).</p></li><li><p><strong>No-code:</strong> Web Scraper (browser extension) for quick hierarchical extraction.</p></li></ul><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;How&#8221;)</h4><p><strong>Scenario 1: Auditing exposed internal documents</strong> <br>Many organizations inadvertently leave directories open. We can use Python to index these files.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/mSi1q/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5dc457f-8026-41a9-8874-a6c8cbdbcba2_1220x856.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe06dfaa-e0fb-4e01-aff8-ea86268a6050_1220x856.png&quot;,&quot;height&quot;:426,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/mSi1q/1/" width="730" height="426" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>Scenario 2: Automated monitoring of government tenders</strong> <br>Using a &#8220;no-code&#8221; browser extension like <a href="https://chromewebstore.google.com/detail/web-scraper-free-web-scra/jnhgnonknehpejjnehehllkliplmbmhn?hl=en">Web Scraper</a>, follow these steps:</p><ol><li><p><strong>Define sitemap:</strong> Enter the URL of the public tender portal.</p></li><li><p><strong>Add selector:</strong> Set Type to <code>Table</code>. Click the first and second rows of the target data to train the tool.</p></li><li><p><strong>Handle pagination:</strong> Use the <code>link</code> selector to click the &#8220;next&#8221; button automatically.</p></li><li><p><strong>Execution:</strong> Run the scraper with a 2000ms delay to avoid being blocked.</p></li></ol><h4>&#128190; 3.3. Data preservation and chain of custody</h4><p>To ensure your findings survive a legal challenge, follow these mandatory steps:</p><ol><li><p><strong>Archive the source:</strong> Use <code>Archive.today</code> or the Wayback Machine to save the live page.</p></li><li><p><strong>Log the metadata:</strong> Record the Date, Time, Source IP, and User-Agent string.</p></li><li><p><strong>Generate a hash:</strong> Use the SHA-256 algorithm to create a unique digital fingerprint of your raw CSV.</p><ul><li><p><em>Terminal command:</em> <code>openssl dgst -sha256 scraped_data.csv</code></p></li></ul></li></ol><div><hr></div><h3>&#129504; 4. Verification and analysis for reporting</h3><h4>4.1. Corroboration strategy</h4><p>Technical data must be cross-referenced. If a scraper identifies a suspicious contract, verify it by:</p><ul><li><p>Checking the vendor's WHOIS records.</p></li><li><p>Looking for the contract ID in separate offline archives or gazettes.</p></li></ul><h4>4.2. Linking data to narrative</h4><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/CJ0eL/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b87e009a-7c3a-4549-b479-9b6e906a011d_1220x388.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8651651a-6833-44dd-82cd-11de8fae9050_1220x388.png&quot;,&quot;height&quot;:186,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/CJ0eL/2/" width="730" height="186" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; 4.3. AI assistance in analysis</h4><p>LLMs are powerful for processing scraped text, provided the following steps are taken:</p><ul><li><p><strong>Clustering:</strong> Feed the LLM a list of 1,000 project titles to identify the top 5 most frequent themes.</p></li><li><p><strong>Entity extraction:</strong> Use an LLM to find every mention of a specific politician across thousands of scraped news snippets.</p></li><li><p>&#9888;&#65039; <strong>Warning:</strong> <strong>Hallucination risk.</strong> Always &#8220;spot-check&#8221; 10% of AI-generated labels against the raw data. </p></li><li><p>&#9888;&#65039; <strong>Privacy warning:</strong> Never upload sensitive source data to public LLMs; use local instances for PII.</p></li></ul><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p><strong>The challenge:</strong> Use a browser extension to scrape the <a href="https://www.google.com/search?q=https://www.fbi.gov/wanted">FBI&#8217;s Most Wanted</a> list. Extract the Name, Category, and Link for each individual. Ensure your final CSV has no duplicate entries.</p><h4>5.2. Advanced resources</h4><ul><li><p><strong><a href="https://www.zyte.com">ScrapingHub/Zyte</a>:</strong> Documentation on handling complex JavaScript sites.</p></li><li><p><strong><a href="https://www.exploit-db.com/google-hacking-database">GHDB (Google Hacking Database)</a>:</strong> Find &#8220;Dorks&#8221; to locate scrapable directories.</p></li><li><p><strong><a href="https://gijn.org/stories/how-non-coding-journalists-build-ai-web-scrapers/">GIJN&#8217;s Scraping with AI Guide</a>:</strong> Expert workflows for using LLMs to build custom scrapers and identify website architectures.</p></li><li><p><strong><a href="https://aleph.occrp.org/">OCCRP&#8217;s Aleph</a>:</strong> A global data platform for cross-referencing scraped datasets against millions of leaked corporate and public records.</p></li><li><p><strong><a href="https://osintframework.com/">The OSINT Framework</a>:</strong> An interactive directory for locating specialized scrapers for business registries and social media platforms.</p></li><li><p><strong><a href="https://apify.com/actors">Apify Actors</a>:</strong> A library of pre-configured scrapers designed to bypass anti-bot protections on sites like Google Maps and Amazon.</p></li><li><p><strong><a href="https://www.octoparse.com/">Octoparse:</a></strong> A no-code web scraping tool that allows users to extract data from websites into structured formats like Excel or databases</p></li></ul><div><hr></div><h3>&#9989; 6. Key takeaways and investigative principles</h3><ul><li><p><strong>Accuracy over speed:</strong> Always prioritize rate-limiting to ensure data isn&#8217;t corrupted by server timeouts.</p></li><li><p><strong>Clean the data:</strong> Scraping is 20% extraction and 80% cleaning (removing HTML tags, fixing dates).</p></li><li><p><strong>Hash everything:</strong> A dataset without a SHA-256 hash is a dataset that can be questioned in court.</p></li><li><p><strong>Transparency:</strong> Be prepared to publish your scraping code alongside your story for peer review.</p></li><li><p><strong>The human element:</strong> Use scraping to find the lead, but use traditional journalism to confirm it.</p></li></ul><div><hr></div><h3>&#128065;&#65039; Coming next week&#8230;</h3><p><strong>Using Natural Language Processing (NLP) for sentiment analysis</strong></p><p>Applying simple NLP and text analysis to large bodies of text (e.g., social comments, forum threads) to track emotional tone, emerging narratives, and keywords over time.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><strong>Build your investigative toolkit, one week at a time.</strong> By subscribing to Spotlight, you&#8217;ll receive a new, field-tested OSINT tutorial every week.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The investigator’s guide to website infrastructure: WHOIS, SSL, and server fingerprinting]]></title><description><![CDATA[A blueprint for passive OSINT: Learn how to uncover hidden ownership and link digital networks using technical signatures]]></description><link>https://spotlight.ebu.ch/p/website-infrastructure-osint-investigation-guide</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/website-infrastructure-osint-investigation-guide</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 30 Dec 2025 09:00:32 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/386ea53d-e77c-4ae5-aaac-134fb3a3f980_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rdFh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rdFh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rdFh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rdFh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rdFh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rdFh!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:22244384,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/182368866?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rdFh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rdFh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rdFh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rdFh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb0a90b6-c8c8-4894-ad4d-2b836004d6d9_6720x4480.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To digital investigators, a website is a map of hidden connections. If you&#8217;re following a network of shell companies or a coordinated disinformation campaign, SSL certificates, historical registration logs, and shared server headers can lead you to the architect. This guide offers journalists a set of tools and a methodology for identifying who owns and runs hidden websites. In an era of digital obscurity, server fingerprinting is an important skill for verifying the reliability of sources and uncovering hidden networks of influence.</p><div><hr></div><h2>Deconstructing websites: Whois and server fingerprinting</h2><h3>1. Introduction and context</h3><h4>1.1. The investigative need</h4><p>For a journalist, a website is rarely just a digital shopfront; it can often be a trail of evidence. Identifying the individual or entity behind a site is often the first step in investigating disinformation campaigns, shell companies, or illicit marketplaces. Server fingerprinting lets you go beyond the &#8220;About Us&#8221; page to uncover the real-world infrastructure and connections the owners may want to keep hidden.</p><h4>1.2. Learning outcomes</h4><ul><li><p><strong>Trace</strong> historical ownership changes using WHOIS archives.</p></li><li><p><strong>Identify</strong> shared infrastructure between seemingly unrelated websites using SSL/TLS certificate data.</p></li><li><p><strong>Uncover</strong> a target&#8217;s digital footprint by fingerprinting third-party tracking IDs and server configurations.</p></li><li><p><strong>Document</strong> technical evidence in a format that meets the legal standards for chain of custody.</p></li></ul><h4>1.3. Case study hook</h4><p>Say you are investigating a network of &#8220;local news&#8221; sites that appear to be spreading coordinated propaganda. By analyzing their server fingerprints, you discover that 50 different sites all share the same <a href="https://support.google.com/analytics/answer/12270356?hl=en">Google Analytics ID</a> and were registered using the same obscure hosting provider in a single 24-hour window.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong><a href="https://who.is/">WHOIS</a>:</strong> A query and response protocol used for querying databases that store the registered users or assignees of an Internet resource (domain name or IP address).</p></li><li><p><strong>Server fingerprinting:</strong> The process of gathering technical signatures (headers, SSL certificates, software versions) to identify a specific server or to link it to others.</p></li><li><p><strong>Passive OSINT:</strong> Data collection that does not involve direct interaction with the target&#8217;s server, making the investigation undetectable to the site owner.</p></li></ul><h4>&#9888;&#65039; 2.2. Ethical and legal boundaries</h4><p><strong>2.2.1. Consent &amp; privacy</strong> <br>Journalists must distinguish between publicly accessible metadata (such as a domain&#8217;s registration date) and private data (such as an unlisted phone number).</p><blockquote><p><strong>&#9888;&#65039; The &#8220;Stop at the Login&#8221; rule:</strong> If your investigation requires bypassing a password, exploiting a vulnerability, or accessing a non-public database, you have moved from OSINT to hacking. Stop immediately.</p></blockquote><p><strong>2.2.2. Legal considerations</strong> <br>While viewing public WHOIS data is legal, some jurisdictions have strict laws regarding automated scraping. Furthermore, &#8220;active&#8221; fingerprinting (direct probing) can be interpreted as a precursor to a cyberattack.</p><ul><li><p><strong>Disclaimer:</strong> Always consult your newsroom&#8217;s legal department before publishing data derived from technical &#8220;fingerprints&#8221; to ensure compliance with local privacy laws (e.g., <a href="https://gdpr-info.eu/">GDPR</a>).</p></li></ul><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><p>To maintain operational security (OPSEC), use a dedicated environment:</p><ul><li><p><strong>Browser:</strong> <a href="https://www.firefox.com/en-US/">Firefox</a>* with <a href="https://ublockorigin.com/">uBlock Origin</a>, <a href="https://privacybadger.org/">Privacy Badger</a>, and <a href="https://addons.mozilla.org/en-US/firefox/addon/uaswitcher/">User-Agent Switcher</a>.</p></li><li><p><strong>Web Analysis:</strong> <a href="https://builtwith.com/">BuiltWith</a> (technology profiles), <a href="https://viewdns.info/">ViewDNS.info</a> (reverse IP/WHOIS), <a href="https://crt.sh/">Crt.sh</a> (certificate logs).</p></li><li><p><strong>Archive:</strong> <a href="https://web.archive.org/">Wayback Machine</a> or <a href="https://archive.ph/">Archive.today</a> for preserving evidence.</p></li></ul><p><em>*While Google Chrome and other Chromium browsers have moved to <a href="https://developer.chrome.com/docs/extensions/develop/migrate/what-is-mv3">Manifest V3</a>&#8212;a framework that restricts how ad blockers work&#8212;Firefox continues to support the full power of the original extensions.</em></p><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;How&#8221;)</h4><p><strong>Scenario A: Identifying hidden ownership via WHOIS history</strong><br>Modern WHOIS records are often redacted (privacy protection). To bypass this, you must look at historical records from before privacy was enabled.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/ZVOvm/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29024a24-7675-467e-856e-b42e58e5a7d4_1220x622.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f79e9aa-8804-417f-b803-7efdfe6a15e2_1220x622.png&quot;,&quot;height&quot;:306,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/ZVOvm/1/" width="730" height="306" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>Scenario B: Linking sites via SSL/TLS and tracking IDs</strong> <br>Servers often use the same SSL certificate for multiple domains. Tracking IDs (Google Analytics/AdSense) are frequently hardcoded into the site&#8217;s HTML.</p><ol><li><p><strong>Extracting Tracking IDs:</strong> View the page source (<code>Ctrl+U</code>) and search for <code>UA-</code> (Analytics) or <code>pub-</code> (AdSense).</p></li><li><p><strong>Reverse Lookup:</strong> Use <a href="https://builtwith.com/">BuiltWith</a> or <a href="https://dnslytics.com/">DNSlytics</a> to find every other site using that specific ID.</p></li></ol><h4>&#128190; 3.3. Data preservation and chain of custody</h4><p>A screenshot is not enough for a legal challenge.</p><ol><li><p><strong>Archive:</strong> Save the page to <a href="https://archive.org/">Archive.org</a> to create a third-party timestamp.</p></li><li><p><strong>Hash:</strong> Generate a SHA-256 hash of any downloaded files or raw HTML.</p></li><li><p><strong>Log:</strong> Keep a precise &#8220;Search Log&#8221; detailing the date, time, URL, and tool used for every discovery.</p></li></ol><div><hr></div><h3>&#129504; 4. Verification and analysis for reporting</h3><h4>4.1. Corroboration strategy</h4><p>Never rely on a single technical data point. A &#8220;matching IP address&#8221; could mean both sites use the same cheap shared hosting (like GoDaddy).</p><ul><li><p><strong>Minimum Requirement:</strong> Corroborate a technical link (e.g., shared SSL) with a non-technical link (e.g., identical &#8220;Terms of Service&#8221; text or shared physical address).</p></li></ul><p><strong>4.2. Linking data to narrative</strong></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/wAikE/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27e6cf52-92ac-4c2e-994a-ff3088cd6aa3_1220x526.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6b59ddd-3951-4422-b0c3-aa525c8cda7c_1220x526.png&quot;,&quot;height&quot;:257,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/wAikE/1/" width="730" height="257" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4><strong>&#129302; 4.3. AI assistance in analysis</strong></h4><ul><li><p><strong>Clustering:</strong> Feed a list of 100+ WHOIS records into an LLM to &#8220;Identify common patterns in registrars, registration dates, and nameservers.&#8221;</p></li><li><p><strong>Translation:</strong> Use AI to translate obscure technical error messages or foreign language HTML comments.</p></li><li><p>&#9888;&#65039; <strong>AI warning:</strong> Never upload sensitive whistleblower documents or non-public data to public AI models. AI can hallucinate technical &#8220;facts&#8221;&#8212;always manually verify an IP address or owner name against the original source.</p></li></ul><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p><strong>The Challenge:</strong> Select a known &#8220;alternative&#8221; news site. Use <a href="https://crt.sh/">Crt.sh</a> to locate its SSL certificate history. Can you identify any subdomains (e.g., <code>dev.target.com</code> or <code>mail.target.com</code>) that are not linked on the main homepage? What do these subdomains suggest about the organization&#8217;s internal tools?</p><h4>5.2. Advanced resources</h4><ul><li><p><strong><a href="https://www.exploit-db.com/google-hacking-database">Google Hacking Database (GHDB)</a>:</strong> For finding exposed <code>.env</code> or configuration files.</p></li><li><p><strong><a href="https://www.shodan.io/">Shodan.io</a>:</strong> For analyzing open ports and server headers.</p></li><li><p><strong><a href="https://www.ohchr.org/sites/default/files/2024-01/OHCHR_BerkeleyProtocol.pdf">The Berkeley Protocol</a>:</strong> The international standard for digital investigations.</p></li></ul><div><hr></div><h3>&#9989; 6. Key takeaways and investigative principles</h3><ul><li><p><strong>History is key:</strong> Redacted WHOIS data can often be circumvented by looking at older, unredacted archives.</p></li><li><p><strong>Shared IDs = shared control:</strong> Tracking IDs and SSL certificates are the most reliable &#8220;digital fingerprints&#8221; for linking disparate sites.</p></li><li><p><strong>Don&#8217;t over-interpret:</strong> Shared hosting is common; look for unique identifier combinations before claiming ownership.</p></li><li><p><strong>Preserve immediately:</strong> Digital evidence is ephemeral. Use archives and hashing to make your findings &#8220;bulletproof&#8221;.</p></li><li><p><strong>Ethics first:</strong> Always operate within the &#8220;Stop at the Login&#8221; framework to maintain journalistic integrity.</p></li></ul><div><hr></div><h3>&#128065;&#65039; Coming next week&#8230;</h3><p><strong>Introduction to data scraping for OSINT with Python/no-code tools</strong></p><p>Master the art of ethical data collection by transforming chaotic web pages into actionable intelligence. Whether you&#8217;re writing your first line of Python or prefer powerful no-code automation, this tutorial bridges the gap between raw open-source information and structured OSINT insights.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading this tutorial from the Eurovision News Spotlight Fact-Checking &amp; OSINT Network! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Navigating ECLI and PACER: A technical guide to accessing international legal records]]></title><description><![CDATA[A scalable methodology for OSINT researchers to bridge the gap between the European e-Justice Portal and US federal litigation databases]]></description><link>https://spotlight.ebu.ch/p/searching-ecli-pacer-legal-databases-guide</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/searching-ecli-pacer-legal-databases-guide</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 23 Dec 2025 09:01:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d14c3536-08c4-40ac-8523-4aff326e0882_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!70vO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!70vO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg 424w, https://substackcdn.com/image/fetch/$s_!70vO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg 848w, https://substackcdn.com/image/fetch/$s_!70vO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!70vO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!70vO!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:18798677,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/181624129?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!70vO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg 424w, https://substackcdn.com/image/fetch/$s_!70vO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg 848w, https://substackcdn.com/image/fetch/$s_!70vO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!70vO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e549b7-d9d2-42cb-a5cf-9b2f2f0028e4_8688x5792.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Investigative journalism often hinges on the &#8220;paper trail&#8221;. Digital footprints can give us hints, but court and legal records are the official, sworn, and verified proof we need to hold influential people accountable. This tutorial shows you a standard way to search these complicated databases for court cases, property records, and administrative filings.</p><div><hr></div><h3>1. Introduction and context</h3><h4>1.1. The investigative need</h4><p>Court records represent the gold standard of evidence. Compared with social media or leaked documents, court filings provide sworn testimony and judicially verified facts. For members of the Eurovision News Spotlight network, these kinds of records are important for proving that false information is false, tracking money across borders, and holding international organisations accountable with legally binding documents in more than one country.</p><h4>1.2. Learning outcomes</h4><ul><li><p>Navigate the <a href="https://eur-lex.europa.eu/content/help/eurlex-content/ecli.html">ECLI system</a> in Europe and the <a href="https://pacer.uscourts.gov/">PACER</a> system in the U.S.</p></li><li><p>Execute advanced searches in international human rights and trade databases.</p></li><li><p>Implement a SHA-256 hashing workflow for preserving digital evidence.</p></li><li><p>Ethically use AI to translate and cluster complex legal dockets in multiple languages.</p></li></ul><h4>1.3. Case study hook</h4><p>A European energy firm is accused of human rights abuses in Southeast Asia. While their local filings are &#8220;clean&#8221;, a search of the US federal courts (<a href="https://pacer.uscourts.gov/">PACER</a>) reveals a deposition from a former executive, while the <a href="https://hudoc.echr.coe.int/#{%22documentcollectionid2%22:[%22GRANDCHAMBER%22,%22CHAMBER%22]}">European Court of Human Rights (HUDOC)</a> contains a related petition from local villagers, together forming a global map of corporate liability.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong><a href="https://eur-lex.europa.eu/content/help/eurlex-content/ecli.html">ECLI (European Case Law Identifier)</a>:</strong> A standard code used to find judgements across EU member states (e.g., <code>ECLI:EU:C:2024:123</code>).</p></li><li><p><strong>Docket/Registry:</strong> The central log of all filings in a case; your primary &#8220;table of contents&#8221; for an investigation.</p></li><li><p><strong>Service of Process:</strong> Official notice that a legal action has begun, often containing the initial &#8220;complaint&#8221; with the most detailed allegations.</p></li><li><p><strong>Passive vs. Active OSINT:</strong> Browsing public registries (passive) vs. filing Freedom of Information (FOI) requests to trigger the release of records (active).</p></li></ul><h4>&#9888;&#65039; 2.2. Ethical and legal boundaries</h4><p><strong>2.2.1. Consent &amp; privacy</strong></p><p>In Europe, <a href="https://gdpr-info.eu/art-85-gdpr/">GDPR Article 85</a> provides a &#8220;journalistic exemption&#8221; for processing personal data, but this is a privilege, not a right.</p><blockquote><p><strong>The Rule:</strong> If you find a home address or a minor&#8217;s name in a public filing, redact it before publication unless its disclosure is essential to the public interest.</p></blockquote><p><strong>2.2.2. Legal considerations</strong> <br>Access rules vary wildly. In the U.S., most records are public for a fee; in many EU states, you may need to prove &#8220;legitimate interest.&#8221; Never use stolen credentials to bypass a paywall.</p><ul><li><p><em><strong>Disclaimer:</strong></em> Legal frameworks change rapidly. Consult with your newsroom&#8217;s legal department before publishing sensitive materials.</p></li></ul><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ul><li><p><strong><a href="https://e-justice.europa.eu/home_en">European e-Justice Portal</a>:</strong> The primary gateway for all 27 EU national registries.</p></li><li><p><strong><a href="https://chromewebstore.google.com/detail/recap/oiillickanjlaeghobeeknbddaonmjnc?pli=1">RECAP Extension</a>:</strong> A must-have for US PACER searches; it shares paid dockets for free.</p></li><li><p><strong><a href="https://aleph.occrp.org/">OCCRP Aleph</a>:</strong> A massive global database of leaked and official legal records.</p></li><li><p><strong>Multilingual LLM (Local):</strong> For translating legal documents without uploading them to public servers.</p></li></ul><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;How&#8221;)</h4><p><strong>Scenario: Auditing a target&#8217;s global litigation exposure</strong> To build a global profile, move from international &#8220;hubs&#8221; down to national registries.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/uUTUJ/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/314c4617-6179-4a03-835f-c5ead9993112_1220x622.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0cf99150-1655-45f5-9b20-7cd47b9e9e98_1220x622.png&quot;,&quot;height&quot;:306,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/uUTUJ/1/" width="730" height="306" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>Step-by-step workflow:</strong></p><ol><li><p><strong>Map the Entities:</strong> Identify every subsidiary and director of your target using <strong>OpenCorporates</strong>.</p></li><li><p><strong>Check the &#8220;Hubs&#8221;:</strong> Search <a href="https://curia.europa.eu/jcms/jcms/j_6/en/">Curia</a> (EU), <a href="https://hudoc.echr.coe.int/#{%22documentcollectionid2%22:[%22GRANDCHAMBER%22,%22CHAMBER%22]}">HUDOC</a> (Europe-wide), and <a href="https://pacer.uscourts.gov/">PACER</a> (US). These high-level courts often reference smaller local cases.</p></li><li><p><strong>Local Deep-Dive:</strong> Use the <a href="https://e-justice.europa.eu/home_en">e-Justice Portal</a> to find the specific national court. In the UK, use <a href="https://caselaw.nationalarchives.gov.uk/">The National Archives (Caselaw)</a>; in France, use <a href="https://www.legifrance.gouv.fr/">L&#233;gifrance</a>.</p></li><li><p><strong>Extract Exhibits:</strong> Don&#8217;t just read the judgement. Look for &#8220;Exhibits&#8221; or &#8220;Annexes&#8221; &#8212; this is where the internal emails and bank records are hidden.</p></li></ol><h3>&#128190; 3.3. Data preservation and chain of custody</h3><p>In OSINT journalism, you must prove the document existed at the time you found it.</p><ul><li><p><strong>Step 1:</strong> Download the PDF.</p></li><li><p><strong>Step 2:</strong> Generate a SHA-256 Hash.</p><pre><code><em>Command (Terminal):</em> <code>shasum -a 256 filename.pdf</code></code></pre></li><li><p><strong>Step 3:</strong> Save the hash and timestamp in a &#8220;Master Evidence Log&#8221;.</p></li></ul><div><hr></div><h3>&#129504; 4. Verification and analysis for reporting</h3><h4>4.1. Corroboration strategy</h4><p>A court filing is a &#8220;claim&#8221;, not necessarily a &#8220;fact&#8221;. Cross-reference allegations with:</p><ul><li><p><strong>Land Registries:</strong> To verify if the property mentioned in a suit actually exists.</p></li><li><p><strong>Social Media Footprinting:</strong> Verify if a witness&#8217;s location on a specific date (via Instagram/LinkedIn) matches their sworn testimony.</p></li></ul><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/CNMwv/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/539ad7a4-fb2a-4c50-b830-8738e2b158b4_1220x420.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90612717-8c37-4353-a0b1-d4339867930d_1220x420.png&quot;,&quot;height&quot;:203,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/CNMwv/1/" width="730" height="203" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; 4.3. AI assistance in analysis</h4><p>For Eurovision News Spotlight readers dealing with 24+ languages:</p><ul><li><p><strong>Translation &amp; summarization:</strong> Use a private LLM to summarize a 100-page Italian filing into an English bullet-point list of &#8220;Key Entities and Dates.&#8221;</p></li><li><p><strong>Relationship Mapping:</strong> Use AI to extract every &#8220;person&#8221; and &#8220;organization&#8221; from a folder of 50 PDFs to see who appears most frequently (clustering).</p></li><li><p>&#9888;&#65039; <strong>AI warning:</strong> <strong>Hallucination risk:</strong> AI may misinterpret legal jargon (e.g., confusing &#8220;Plaintiff&#8221; and &#8220;Defendant&#8221;). Always manually verify quotes and dates before publication. Never upload confidential source material to public AI models.</p></li></ul><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p><strong>The Challenge:</strong> Use <a href="https://www.courtlistener.com/">CourtListener</a> to uncover a case involving a major tech company and &#8220;Privacy&#8221;. Locate the most recent &#8220;Order&#8221; signed by a judge. What is the judge&#8217;s name, and what was the outcome of the order?</p><h4>5.2. Advanced resources</h4><ul><li><p><a href="https://e-justice.europa.eu/">e-Justice Portal</a>: The essential map for European court records.</p></li><li><p><a href="https://www.courtlistener.com/recap/">RECAP / CourtListener</a>: The best free resource for US federal records.</p></li><li><p><a href="https://gijn.org/">Global Investigative Journalism Network (GIJN)</a>: Detailed guides for accessing records in specific countries like Russia, China, or Brazil.</p></li><li><p><a href="https://www.vizlegal.com/">Vizlegal</a>: Provides lawyers and legal librarians with access to millions of decisions, court filings, court dates, and other data that they can track or search.</p></li></ul><div><hr></div><h3>&#9989; 6. Key takeaways and investigative principles</h3><ul><li><p><strong>The &#8220;Follow the Exhibit&#8221; Rule:</strong> The most valuable data is rarely in the judgement; it&#8217;s in the attachments.</p></li><li><p><strong>Standardize Evidence:</strong> Always hash your files (SHA-256) to ensure they are court-ready for your own defence.</p></li><li><p><strong>Think Cross-Border:</strong> A lawsuit in one country often triggers a &#8220;discovery&#8221; process in another.</p></li><li><p><strong>Verify the Status:</strong> Check if a case was appealed or overturned; a &#8220;win&#8221; in a lower court may have been reversed.</p></li><li><p><strong>Ethical Redaction:</strong> Protect PII (Personally Identifiable Information) that isn&#8217;t in the public interest.</p></li></ul><div><hr></div><h3>&#128065;&#65039; Coming next week&#8230;</h3><p><strong>Deconstructing Websites: Whois and server fingerprinting</strong></p><p>Uncover the digital DNA of any website by tracing its ownership history and server metadata. Learn to leverage WHOIS records and SSL fingerprinting to deconstruct a site&#8217;s infrastructure.</p><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/p/searching-ecli-pacer-legal-databases-guide?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading this tutorial from the Eurovision News Spotlight Fact-Checking &amp; OSINT Network! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/p/searching-ecli-pacer-legal-databases-guide?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://spotlight.ebu.ch/p/searching-ecli-pacer-legal-databases-guide?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[Financial OSINT: Guide to tracing corporate assets & networks]]></title><description><![CDATA[Learn the step-by-step methodology for financial OSINT, including accessing global corporate registries and tracing assets to sanctioned individuals]]></description><link>https://spotlight.ebu.ch/p/guide-tracing-corporate-assets</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/guide-tracing-corporate-assets</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 16 Dec 2025 09:01:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2c59bc52-1a99-4e6f-80e3-36c8a5ccf068_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-lJa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-lJa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-lJa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-lJa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-lJa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-lJa!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:6440131,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/181691517?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-lJa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-lJa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-lJa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-lJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe370c7ba-10d5-461f-befb-7d204665d102_5141x3427.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>1. Introduction and context</h3><h4>1.1. The investigative need (The &#8220;why&#8221;)</h4><p>Amid rising geopolitical tensions and the increasing sophistication of financial crime, monitoring financial flows, assets, and company networks in the public domain is key to accountability.</p><p>Open-source documentation and infrastructure can provide journalists with a legal and ethical way to uncover sanction evasion, determine who really owns companies hidden behind shell structures, and report on global procurement fraud. </p><h4>1.2. Learning outcomes</h4><ul><li><p>Identify and navigate the most valuable global open corporate and property registries.</p></li><li><p>Master the use of sanctions list screening and Politically Exposed Person (PEP) databases to generate investigative leads.</p></li><li><p>Apply network visualization to map complex ownership structures and cross-correlate addresses, directors, and financial filings.</p></li><li><p>Understand the process of data preservation and chain of custody for financial and corporate records.</p></li><li><p>Ethically leverage AI for summarizing large financial documents and log files.</p></li></ul><h4>1.3. Case study hook</h4><p>You receive a tip that a company supplying sensitive technology to a sanctioned regime has quietly changed its corporate registration and ownership in three different countries. By analyzing the company&#8217;s public business records, shipping manifests, and sanctions databases, you then aim to reconstruct the real beneficial ownership of the company and the supply chain route to expose the network of people and entities that evade global restrictions.</p><div><hr></div><h3><strong>&#128161; </strong>2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong>Beneficial ownership:</strong> The natural person(s) who ultimately own or control a legal entity, even if the entity is held in another name (e.g., a proxy or shell company).</p></li><li><p><strong>PEP (Politically Exposed Person):</strong> An individual who is or has been entrusted with a prominent public function, as well as their family members and close associates. PEPs pose a higher risk for involvement in bribery or corruption.</p></li><li><p><strong>Shell company:</strong> A company that exists only on paper and has no office or employees, often used to mask the true ownership of assets or transactions.</p></li><li><p><strong>Corporate registry:</strong> A government database that stores official records of registered companies, including directors, registered addresses, and annual filings (e.g., the <a href="https://www.gov.uk/government/organisations/companies-house">UK&#8217;s Companies House</a>).</p></li><li><p><strong>Active vs. Passive OSINT:</strong></p><ul><li><p><strong>Passive OSINT</strong> involves collecting publicly available information without interacting with the target (e.g., searching a corporate registry).</p></li><li><p><strong>Active OSINT</strong> involves direct interactions that can be logged by the target system (e.g., pinging a domain or sending a request to a server).</p></li></ul></li></ul><h4><strong>&#9888;&#65039; </strong>2.2. Ethical and legal boundaries</h4><h4>2.2.1. Consent &amp; privacy</h4><p>Financial OSINT must strictly adhere to data collected only from public, legally accessible sources (e.g., government filings, official databases, public court records).</p><blockquote><p><strong>&#9888;&#65039; The &#8220;stop at the login&#8221; rule:</strong> Don&#8217;t attempt to guess, bypass, or use leaked credentials in order to gain access to sensitive information, such as password-protected financial databases, email accounts, or private sections of corporate portals. That&#8217;s unauthorized access and illegal. Remember, even the public exposure of individuals&#8217; data (e.g., addresses, dates of birth) must be handled with extreme care and only to be used in the public interest, not for harassment or exposure for reasons that are not the public&#8217;s intent.</p></blockquote><h4>2.2.2. Legal considerations</h4><p>Consultation with your legal department is paramount when publishing findings related to sanctions evasion, fraud, or the financial activities of individuals or entities. Legal risks include defamation, libel, and unauthorized access. Some jurisdictions restrict the commercial use of public corporate data.</p><ul><li><p><strong>Disclaimer:</strong> This tutorial is for informational and educational purposes only. Always consult with your legal department in the relevant jurisdiction before conducting any investigation or publishing financial findings. We do not endorse or provide instructions for any illegal or unethical activity.</p></li></ul><div><hr></div><h3><strong>&#128736;&#65039; </strong>3. Applied methodology: step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ul><li><p><strong>Dedicated Virtual Machine (VM)/OSINT Profile:</strong> Use a dedicated browser profile or VM (e.g., a Linux distribution like <a href="https://www.kali.org/">Kali</a> or a customised browser environment) to separate investigative activity from personal or&nbsp;newsroom accounts. This protects your identity and maintains a clean audit trail.</p></li><li><p><strong>VPN/Proxy Service:</strong> Use a reputable VPN/proxy to mask your geographic location and IP address when accessing foreign registries or high-risk sites.</p></li><li><p><strong>Core OSINT Tools:</strong></p><ul><li><p><strong>Browser Extensions:</strong> <em>Wayback Machine</em> or <em>Archive.today</em> (for preservation).</p></li><li><p><strong>Network Visualizer:</strong> <a href="https://www.maltego.com/">Maltego</a> (commercial) or <a href="https://aleph.occrp.org/">OCCRP Aleph</a> (free/investigative focus &#8211; for mapping entities).</p></li><li><p><strong>Open Databases:</strong> <a href="https://www.opensanctions.org/">OpenSanctions</a> (Sanctions, PEP, Adverse Media lists) and <a href="https://opencorporates.com/">OpenCorporates</a> (Global corporate entities).</p></li></ul></li></ul><h4><strong>&#128119;&#8205;&#9792;&#65039; </strong>3.2. Practical execution (The &#8220;How&#8221;)</h4><p><strong>Scenario: Tracing a sanctioned entity&#8217;s phantom asset network</strong></p><p>The investigative goal is to trace the public-facing and hidden corporate assets of a known sanctioned individual.</p><h4>Step 1: Baseline search and entity identification</h4><ul><li><p>Search for the individual&#8217;s name across major sanctions databases (e.g., <a href="https://www.opensanctions.org/">OpenSanctions</a>) and global adverse media.</p></li><li><p>Collect all variations of their name, dates of birth, known addresses, and listed companies (both current and former).</p></li></ul><h4>Step 2: Global corporate registry pivot</h4><p>Use identified company names, director names, or registered addresses to pivot into national and international corporate registries.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/Jsub3/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://img.datawrapper.de/Jsub3/plain.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://img.datawrapper.de/Jsub3/full.png&quot;,&quot;height&quot;:356,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/Jsub3/1/" width="730" height="356" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>Step 3: Address and network correlation</h4><p>Use unique identifiers (like an unusual address or a unique director name) as a &#8220;pivot point&#8221; across registries. If 10 companies have the same registration address, they probably have a common relationship and constitute a corporate cluster.</p><h4>Step 4: Ship and aircraft tracing (Supply Chain OSINT)</h4><p>If the entity is involved in logistics or trade, use their corporate name or known vessel/tail numbers on public tracking sites.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/7tqyD/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://img.datawrapper.de/7tqyD/plain.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://img.datawrapper.de/7tqyD/full.png&quot;,&quot;height&quot;:335,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/7tqyD/1/" width="730" height="335" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h3><strong>&#128190; </strong>3.3. Data preservation and chain of custody</h3><p><strong>Mandatory step for all financial OSINT:</strong> Every key piece of evidence must be captured and logged to maintain a legally defensible Chain of Custody.</p><ol><li><p><strong>Archiving:</strong> Use a browser extension (like <a href="https://web.archive.org/">Wayback Machine</a> or <a href="https://archive.ph/">Archive.today</a>) or a dedicated tool (<a href="https://hunch.ly/">Hunchly</a>) to create a full-page, archived copy of the source URL (e.g., the corporate filing). Include a screenshot with a timestamp overlay.</p></li><li><p><strong>Logging:</strong> Record every search query, the date/time (in UTC), the URL, and a brief description of the finding in a secure, encrypted log file (e.g., an encrypted spreadsheet).</p></li><li><p><strong>Hash Generation:</strong> For any downloaded document (e.g., a PDF of an annual report), immediately generate a cryptographic hash (SHA-256) of the file. This mathematically proves that the file has not been altered since the moment of download.</p><pre><code><code>Command Line Example (Linux/macOS): sha256sum my_evidence.pdf</code></code></pre></li></ol><div><hr></div><h3><strong>&#129504; </strong>4. Verification and analysis for reporting</h3><h4>4.1. Corroboration strategy</h4><p>Financial OSINT is high-risk and requires rigorous verification. Corroborate technical data with at least two independent sources or methods.</p><ul><li><p><strong>Method 1 (Internal Consistency):</strong> Cross-reference the same name/address in the corporate registry with the information on the sanctions list and an associated <a href="https://who.is/">WHOIS</a> record.</p></li><li><p><strong>Method 2 (Physical Corroboration):</strong> Use a public satellite or map service (like <a href="https://www.google.com/maps">Google Maps</a> or <a href="https://yandex.com/maps/">Yandex Maps</a>) to verify the physical existence and nature of a registered address (e.g., is the multi-billion dollar holding company registered to a residential home or a mailbox?).</p></li></ul><h4>4.2. Linking data to narrative</h4><p>Translate complex financial findings into clear, verifiable journalistic facts.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/6mxUF/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://img.datawrapper.de/6mxUF/plain.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://img.datawrapper.de/6mxUF/full.png&quot;,&quot;height&quot;:252,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/6mxUF/1/" width="730" height="252" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4><strong>&#129302; </strong>4.3. AI assistance in analysis</h4><p>AI/LLMs can be a powerful, ethical tool for processing high-volume, public OSINT data.</p><ul><li><p><strong>Summarizing large documents or log files:</strong> Upload non-sensitive, public documents (e.g., a large, published annual report or a log of vessel movements) to an LLM to quickly extract the core business purpose, key dates, or main financial figures.</p></li><li><p><strong>Identifying key entities, dates, and relationships (clustering data):</strong> Use an LLM or dedicated AI entity recognition tool to process unstructured data (e.g., a batch of public news articles) to identify and cluster recurring names, dates, or financial amounts.</p></li><li><p><strong>Translation of foreign language material:</strong> Use AI to translate corporate filings or news articles from foreign registries to quickly assess their relevance before investing in professional human translation.</p></li></ul><p>&#9888;&#65039; <strong>AI warning:</strong> Do not submit source-provided data, confidential documents, or sensitive data on private individuals to public LLMs (like ChatGPT or Google Gemini) due to privacy and data leakage concerns. All information found by an AI needs to be checked by a person against the original document, as there is a high chance the AI could make mistakes or create false information.</p><div><hr></div><h3><strong>&#128640; </strong>5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p><strong>Challenge:</strong> A news report mentions that &#8220;Alpha Shipping LLC&#8221; owns a vessel named M.V. Freedom. Use open sources to find:</p><ol><li><p>The vessel&#8217;s IMO number.</p></li><li><p>The full name and jurisdiction of the company that currently owns the vessel.</p></li><li><p>The vessel&#8217;s last reported port call (before the current date).</p></li></ol><h4>5.2. Advanced resources</h4><ul><li><p><strong><a href="https://aleph.occrp.org/">OCCRP Aleph</a>:</strong> Search a massive repository of leaks, court records, and public documents curated by investigative journalists.</p></li><li><p><strong><a href="https://www.opensanctions.org/">OpenSanctions</a>:</strong> Consolidated database of sanctions lists, PEPs, and high-interest individuals/entities.</p></li><li><p><strong><a href="https://opencorporates.com/">OpenCorporates</a>:</strong> The largest open database of companies and corporate entities worldwide.</p></li><li><p><strong><a href="https://www.marinetraffic.com/">MarineTraffic</a> / <a href="https://www.vesselfinder.com/">VesselFinder</a>:</strong> Global real-time and historical tracking of ships using AIS data.</p></li><li><p><strong><a href="https://www.exploit-db.com/">GHDB (Google Hacking Database)</a>:</strong> A community-maintained list of advanced search queries for finding publicly exposed documents on the web.</p></li></ul><div><hr></div><h3><strong>&#9989; </strong>6. Key takeaways and investigative principles</h3><ul><li><p><strong>Pivoting is key:</strong> Successful financial OSINT means constantly pivoting from one data point (e.g., an address) to locate a new entity (e.g., a new company) and repeating the search.</p></li><li><p><strong>Correlate the identifiers:</strong> Focus on the cross-referencing of unique identifiers&#8212;names, addresses, vessel/tail numbers, and shareholder names&#8212;to build an undeniable network.</p></li><li><p><strong>Prioritize preservation:</strong> Adopt a &#8220;log everything, hash every document&#8221; policy to ensure a defensible Chain of Custody for your evidence.</p></li><li><p><strong>Respect the boundary:</strong> Adhere strictly to the &#8220;Stop at the Login&#8221; rule and ensure all data is from public, legally accessible sources.</p></li><li><p><strong>AI is an assistant, not a fact-checker:</strong> Use LLMs for summarization and translation of <em>public</em> data, but rely on human verification for all final facts and figures.</p></li></ul><div><hr></div><h3>&#128065;&#65039; Coming next week&#8230;</h3><p>Unearthing public court and legal records<br><br>Navigating local, national, and international court databases. Using key search terms and specialized databases to find records, property deeds, and administrative filings.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading this tutorial from the Eurovision News Spotlight Fact-Checking &amp; OSINT Network! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Tracing beneficial ownership with OSINT for financial crime]]></title><description><![CDATA[Learn the 6-step method to unmask the Ultimate Beneficial Owner (UBO) hidden behind shell companies and corporate structures using OpenCorporates & Aleph]]></description><link>https://spotlight.ebu.ch/p/tracing-beneficial-ownership-with</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/tracing-beneficial-ownership-with</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 09 Dec 2025 09:02:14 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2464ac5f-3a4d-4895-9468-7f7f686e2ad1_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZM-K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZM-K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZM-K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZM-K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZM-K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZM-K!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:7447864,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/181120247?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZM-K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZM-K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZM-K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZM-K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F019f6fa9-c8db-44e0-b820-a9f14d94308f_5472x3648.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>1. Introduction and context</h3><h4>1.1. The investigative need (The &#8220;why&#8221;)</h4><p>Investigating financial crime, corruption, or tax evasion often requires following assets, which are frequently hidden behind opaque, multi-layered corporate structures, trusts, and shell companies. These entities are deliberately designed to separate legal ownership (the entity on paper) from beneficial ownership (the natural person who ultimately owns or controls the entity). </p><p>For journalists, tracing this chain of ownership using Open-Source Intelligence (OSINT) techniques is essential to attribute actions and wealth to the responsible, real-life individuals and expose networks of illicit finance, holding those at the top accountable.</p><h4>1.2. Learning outcomes</h4><p>Upon completing this tutorial, you will be able to:</p><ul><li><p>Differentiate between legal ownership, beneficial ownership, and ultimate parent company concepts.</p></li><li><p>Systematically use global corporate registries like <a href="https://opencorporates.com/">OpenCorporates</a> and official government sources to map an ownership structure.</p></li><li><p>Apply a six-step framework to trace ownership layers until the ultimate beneficial owner (UBO) is identified.</p></li><li><p>Visualize complex corporate networks to identify red flags like nominee directors or secrecy jurisdictions.</p></li></ul><h4>1.3. Case study hook</h4><p>A local government council awards a lucrative, no-bid contract to a small, newly registered company with no staff. A search reveals this company is legally owned by a holding company registered in a tax haven. </p><p>In using OSINT to track down the holding company&#8217;s beneficial owner, you reveal that the UBO is the spouse of a high-ranking council official, providing concrete evidence of a conflict of interest.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1.Key terminology</h4><ul><li><p><strong>Ultimate Beneficial Owner (UBO):</strong> The real person or people who actually own or control a company, or for whom a transaction is carried out. This means a person, not another business.</p></li><li><p><strong>Shell company:</strong> A company that holds money and handles transactions but does not have real assets, many employees, or active business activities. People often use shell companies to hide who really owns something.</p></li><li><p><strong>Legal owner:</strong> The person or company whose name is officially listed in public records as owning shares or holding the legal title to an asset or business.</p></li><li><p><strong>Secrecy jurisdiction (or Tax Haven):</strong> A country or area with very few financial rules and little transparency, making it easy to hide who owns money or assets. Examples include the British Virgin Islands and Cayman Islands.</p></li><li><p><strong>Nominee director/shareholder:</strong> A person or company officially listed as a company officer or owner, but who follows the instructions of the real owner. This makes it harder to see who is truly in control.</p></li></ul><h4>&#9888;&#65039; 2.2. Ethical and legal boundaries</h4><p><strong>2.2.1. Consent and privacy:</strong> The most fundamental ethical barrier is the distinction between publicly available data and private life. Directors and officers company registry data are public, and its use must be explicitly justified by a public-interest rationale, such as investigating corruption, fraud, or political conflicts of interest.</p><p><strong>Stop at the login rule:</strong> It is very important. Do not try to bypass paywalls for restricted, proprietary, or commercial registry data without an official subscription or a documented exemption (for example, access to public-benefit journalist accounts provided by a registry or database). Investigations must use only data that has been openly licensed, that resides in the public record, and that has been legally obtained.</p><p><strong>2.2.2. Legal considerations:</strong> Identifying such owners involves the collection and correlation of personal characteristics from different sources of registries: name, birth date, and address.</p><ul><li><p><strong>Data accuracy:</strong> Information on companies (registration) available from public-sector entities in less-regulated jurisdictions can be outdated and inaccurate. Journalists need to cross-check the information and include a caveat that registry findings are provisional unless otherwise confirmed.</p></li><li><p><strong>Disclaimer:</strong> Consult your organization&#8217;s legal office on any findings regarding illegal or unethical activity through ownership structures, especially when you attribute property (or control) to an individual. Allegations of concealment or fraud pose serious risks.</p></li></ul><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: Step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ol><li><p><strong><a href="https://opencorporates.com/">OpenCorporates Account</a>:</strong> Register for a free &#8220;Permitted User&#8221; account (for journalists, NGOs, and academics) to access the fullest public data set and advanced filtering features.</p></li><li><p><strong><a href="https://aleph.occrp.org/">Investigative Dashboard (OCCRP&#8217;s Aleph)</a>:</strong> A free platform for journalists that aggregates and visualizes data from millions of public records, including many company registries and leaked documents (e.g., Panama/Paradise Papers).</p></li><li><p><strong>Visualization Tool:</strong> Tools like <a href="https://www.maltego.com/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=S_Tools&amp;utm_term=cyber%20security%20simulation%20tools&amp;gad_source=1&amp;gad_campaignid=21669013138&amp;gbraid=0AAAAABOgrsrV_-vFfYfCjg0fX212w42n5&amp;gclid=Cj0KCQiAi9rJBhCYARIsALyPDtsMB_RhXHb8hXH7jm5E3DMBBboNWZ98FaWdg0CNFWg6p3GwsxBB_R0aAp5XEALw_wcB">Maltego</a> (or simple mind-mapping software like <a href="https://xmind.com/">XMind</a> or <a href="https://app.diagrams.net/">draw.io</a>) are essential for mapping the complex network of entities, officers, and addresses.</p></li><li><p><strong>Jurisdiction-specific registries:</strong> Maintain a list of high-value, country-specific public registries (e.g., <a href="https://www.gov.uk/government/organisations/companies-house">UK Companies House</a>).</p></li></ol><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;how&#8221;)</h4><p>The process is iterative: start with the known entity, identify its legal owner, search that owner in turn, and repeat until a natural person (UBO) is reached.</p><p><strong>Scenario 1: tracing an unknown owner of a target company</strong> <br><br><strong>Goal:</strong> Identify the UBO of TargetCo, a business registered in New Jersey, USA.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/AmddC/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://img.datawrapper.de/AmddC/plain.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://img.datawrapper.de/AmddC/full.png&quot;,&quot;height&quot;:498,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/AmddC/1/" width="730" height="498" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>Scenario 2: leveraging OpenCorporates&#8217; internal links</strong> </p><p>OpenCorporates often provides direct links that facilitate traversal.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/HNX7w/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://img.datawrapper.de/HNX7w/plain.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://img.datawrapper.de/HNX7w/full.png&quot;,&quot;height&quot;:429,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/HNX7w/1/" width="730" height="429" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#128190; 3.3. Data preservation and Chain of Custody</h4><p>Handling a large amount of company records can be complicated, so it is essential to maintain a clear, thorough record of all actions.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/owIGO/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://img.datawrapper.de/owIGO/plain.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://img.datawrapper.de/owIGO/full.png&quot;,&quot;height&quot;:413,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/owIGO/1/" width="730" height="413" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h3>&#129504; 4. Verification, analysis, and editorial integration</h3><h4>4.1. Corroboration strategy</h4><p>Verification is mandatory at every ownership layer to prevent name-matching errors (false positives).</p><ul><li><p><strong>Cross-reference officer details:</strong> If you identify a UBO named &#8220;John Smith,&#8221; search for their full legal name, date of birth, and any associated address. Verify this against an independent source, such as a different country&#8217;s corporate registry or public voting records.</p></li><li><p><strong>Asset/activity consistency check:</strong> Look for evidence that the UBO is active in the same jurisdiction or sector as the TargetCo. Does the UBO&#8217;s LinkedIn profile mention the sector? Does their address link to the country? Inconsistent data (e.g., a UBO with no ties to the target&#8217;s industry or location) can be a red flag for a nominee relationship.</p></li><li><p><strong>Corroborate UBO status:</strong> The most reliable corroboration comes from a Beneficial Ownership Register (like the <a href="https://www.gov.uk/guidance/people-with-significant-control-pscs">UK&#8217;s PSC register</a> or the <a href="https://data.europa.eu/data/datasets/people-with-significant-control-psc?locale=en">EU registers</a>) if one is available and accessible for the target jurisdiction.</p></li></ul><h4>4.2. Translating data to narrative</h4><p>The visualization tool helps translate the complex, often dry, legal structure into a compelling narrative.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/MIiGq/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://img.datawrapper.de/MIiGq/plain.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://img.datawrapper.de/MIiGq/full.png&quot;,&quot;height&quot;:335,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/MIiGq/1/" width="730" height="335" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; 4.3. AI Assistance in analysis and ethical use</h4><p>LLMs can be deployed to manage and analyze the large volume of structured data pulled from registries.</p><ul><li><p><strong>Summarizing official filings:</strong> Copy the text from lengthy official corporate documents (e.g., articles of incorporation, annual reports) into a local or enterprise-secured LLM to request a summary of the Share Structure, Board Appointments, and any unusual financial clauses.</p></li><li><p><strong>Identifying key entities, dates, and relationships (clustering data):</strong> Use an AI to process the names, addresses, and dates of all officers collected from the traversal process. Ask the AI to cluster individuals who share the same address or date of registration across different companies.</p></li><li><p><strong>Translation of foreign language material:</strong> Use AI services to translate key filing documents from non-English jurisdictions (e.g., legal documents from a company register in Latin America or Eastern Europe).</p></li></ul><h4>&#9888;&#65039; AI warning: Hallucination and privacy</h4><ol><li><p><strong>Hallucination risk:</strong> The AI must not be treated as an authoritative source for a UBO declaration. Every fact and name-match must be verified against the original OpenCorporates or registry document.</p></li><li><p><strong>Privacy &amp; data security:</strong> Do not submit non-public data (e.g., sensitive source material, draft reports, or any PII gathered that is not officially public record) to public LLMs. Focus AI use on the transcription and clustering of the publicly sourced, structured registry data. Use enterprise or paid LLM versions where possible.</p></li></ol><div><hr></div><h3><strong>&#128640; </strong>5. Practice and resources</h3><h4>5.1. Practice exercise:</h4><p><strong>Challenge:</strong> Use OpenCorporates to find the directors of Volkswagen AG (German public company). Then, choose one director&#8217;s name and use the OpenCorporates Officer search to find any other company they are associated with outside of Germany.</p><ul><li><p><strong>Goal:</strong> Use the OpenCorporates filters (jurisdiction, status) to narrow the search and map the person&#8217;s cross-border business ties.</p></li></ul><h4>5.2. Advanced resources</h4><ul><li><p><strong><a href="https://aleph.occrp.org/">OCCRP&#8217;s Aleph</a>:</strong> (Investigative Dashboard) A searchable database of millions of leaked and public records, sypecifically designed for following the money and corporate trails.</p></li><li><p><strong><a href="https://www.openownership.org/en/topics/open-ownership-register/">Open Ownership Register</a>:</strong> A register maintained by the Open Ownership initiative, providing official beneficial ownership data for specific countries (e.g., UK, Ukraine).</p></li><li><p><strong><a href="https://www.fatf-gafi.org/en/publications/Fatfrecommendations/Fatf-recommendations.html">FATF (Financial Action Task Force) Guidance</a>:</strong> Provides international definitions and red flags on beneficial ownership and money-laundering schemes, helping journalists identify illicit patterns.</p></li><li><p><strong><a href="https://www.gov.uk/government/organisations/companies-house">UK Companies House</a>:</strong> The gold standard for corporate transparency; all filings are free and publicly accessible, providing an excellent reference point for how an open registry should operate.</p></li></ul><div><hr></div><h3>&#9989; 6. Key takeaways and investigative principles</h3><ul><li><p><strong>Follow the natural person:</strong> The investigation is not complete until you identify the <strong>Ultimate Beneficial Owner (UBO)</strong>&#8212;the real, living individual&#8212;not just another company.</p></li><li><p><strong>Map and visualize:</strong> Use a mind-map or network visualization tool to track complex, multi-layered ownership structures. This prevents confusion and highlights critical nominee or secrecy links.</p></li><li><p><strong>Verify the UBO criteria:</strong> An individual must meet the defined criteria of ownership or control (typically a $25\%$ threshold or significant influence) to be designated as a UBO.</p></li><li><p><strong>Beware the nominee:</strong> If an officer appears on the records of hundreds of unrelated companies, they are likely a nominee director/shareholder&#8212;a major red flag for concealment.</p></li><li><p><strong>Use OpenCorporates as a funnel:</strong> Use aggregated databases like OpenCorporates to quickly traverse the chain, but always verify critical details against the link to the original official registry.</p></li></ul><div><hr></div><h4>&#128065;&#65039; Coming next week&#8230;</h4><p><strong>Financial tracing and sanctions OSINT</strong><br><br>Unravel complex financial trails and asset movements. Learn to use public data for sanctions tracking, procurement fraud detection, and supply chain OSINT.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading this tutorial from the Eurovision News Spotlight Fact-Checking &amp; OSINT Network! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Unmasking the operators: An OSINT framework to trace coordinated inauthentic behaviour (CIB) from bots to the source]]></title><description><![CDATA[A step-by-step OSINT framework for journalists to identify, trace, and attribute Coordinated Inauthentic Behaviour (CIB) by botnets and troll farms]]></description><link>https://spotlight.ebu.ch/p/detecting-bots-trolls-and-disinformation</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/detecting-bots-trolls-and-disinformation</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 02 Dec 2025 09:01:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b4a88287-42e6-40be-aaad-ba29837b1969_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nm1V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nm1V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nm1V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nm1V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nm1V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nm1V!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg" width="1200" height="740.1098901098901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:898,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:8416800,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/179814297?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nm1V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nm1V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nm1V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nm1V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ac2adc-cac9-47cf-bacb-ae568bcf24cb_6000x3700.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Investigating Coordinated Inauthentic Behaviour (CIB)&#8212;the organised manipulation of online discourse by botnets and troll farms&#8212;is one of the most critical and complex tasks in modern journalism. This tutorial provides the OSINT framework to identify, analyse, and attribute these hidden influence operations.</p><div><hr></div><h4>1.1. The investigative need (The &#8220;why&#8221;)</h4><p>State-sponsored disinformation networks, as well as those fuelled by commercial interests, use synthetic amplification to give false narratives the illusion of true popularity. They establish networks of bots (automated accounts) and trolls (human operators) that engage in coordinated activities, such as simultaneous posting, topic hijacking, and targeted harassment.</p><p>It is paramount for journalists to distinguish between fake grassroots activity (astroturfing) and genuine public opinion, which will help reporters avoid publishing false premises, accurately report on foreign or domestic interference, and maintain the integrity of the public record.</p><h4>1.2. Learning outcomes</h4><p>By completing this tutorial, you will be able to:</p><ul><li><p>Deconstruct Coordinated Inauthentic Behaviour (CIB) into its constituent parts (Actors, Content, Behaviour).</p></li><li><p>Formulate advanced search queries across platforms (especially X/Twitter and Reddit) to identify temporal and behavioural coordination.</p></li><li><p>Utilize network analysis principles (social network analysis, or SNA) to map amplifier accounts and key nodes.</p></li><li><p>Preserve collected digital evidence using Chain of Custody protocols, ensuring data is admissible and verifiable.</p></li><li><p>Ethically apply AI tools to summarize large datasets for rapid entity and relationship extraction.</p></li></ul><h4>1.3. Case study hook</h4><p>Think of a rapid, organized social media phenomenon flourishing and pushing a false narrative just ahead of a big election. Thousands of newly created accounts all sharing similar language and posting at exactly the same moment propagate this narrative. Your goal is not to just debunk the narrative, but to reveal the centralized source (a troll farm or political consultancy) that coordinated the campaign. This tutorial shows you how to find the digital fingerprints of that coordination.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong>Coordinated Inauthentic Behaviour (CIB): </strong>An official term for manipulation where multiple accounts or pages work together to deceive people about the identity, purpose, or origin of the entity behind them. Coordination and deception are the key components.</p></li><li><p><strong>Astroturfing: </strong>The practice of masking the sponsors of a message or organization to make it appear as though it originates from and is supported by genuine grassroots participants (e.g., a fake public opinion campaign).</p></li><li><p><strong>Botnet: </strong>A network of automated, often interconnected, accounts (software robots or <strong>bots</strong>) used to execute coordinated tasks like amplifying a hashtag, sharing links, or performing DDoS attacks.</p></li><li><p><strong>Social Network Analysis (SNA): </strong>A process and set of tools used to visually map and analyze the relationships and flow of information between individual actors (nodes) in a network, revealing centralized amplifiers and coordinated sharing patterns.</p></li><li><p><strong>Digital Signature: </strong>A unique, non-content-based pattern (e.g., common file metadata, shared IP addresses, identical account creation patterns, or specific custom URL shorteners) that links otherwise disparate accounts to a single operator.</p></li></ul><h4>&#9888;&#65039; 2.2. Ethical and legal boundaries</h4><h5>2.2.1. Consent &amp; privacy: The &#8220;stop at the login&#8221; rule</h5><p>All intelligence gathered should be from publicly available sources (e.g., public social media posts, public databases).</p><ul><li><p><strong>Rule of thumb: The &#8220;Stop at the Login&#8221; rule:</strong> Never attempt to bypass a login, paywall, or any other security measure. If the information requires unauthorized access, it is not OSINT; it is unauthorized access or hacking, and you should stop immediately.</p></li><li><p><strong>Privacy warning:</strong> If you are reporting on bots or troll networks, focus your reporting on the behaviour and source of coordination, not on the unintentional exposure of private data to possibly manipulated, unwitting, or low-level actors. Where ethically necessary, anonymize.</p></li></ul><h5>2.2.2. Legal considerations</h5><p>The most significant legal risk in this field is the Computer Fraud and Abuse Act (CFAA) in the US, and similar legislation elsewhere, which criminalizes &#8220;unauthorized access&#8221; to computer systems.</p><ul><li><p><strong>Risk:</strong> Using automated scraping tools to bypass a platform&#8217;s Terms of Service (ToS) or rate limits, even for public data, can be interpreted as unauthorized access by platform legal teams.</p></li></ul><p><strong>Mandatory Disclaimer: Consult your organization&#8217;s legal department before beginning a large-scale data collection operation, especially if that work involves scraping or accessing data via a developer API. This tutorial provides methodological guidance only; it is not legal advice.</strong></p><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: Step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/Ock4S/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe591bf7-d030-41c3-ba0a-914e744202ca_1220x1112.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1708de3-9ed9-45a6-82b0-7ef69d310626_1220x1112.png&quot;,&quot;height&quot;:558,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/Ock4S/1/" width="730" height="558" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;how&#8221;)</h4><p>The core investigative goal is to find accounts that exhibit <strong>coordinated and non-human</strong> behaviour.</p><h4>Scenario 1: identifying temporal and content coordination on social media (X/Twitter)</h4><p><strong>Investigative Goal:</strong> Find a cluster of accounts that post the same controversial link or use the same niche hashtag within minutes of each other, suggesting automation or central direction.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/iJ53U/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a83f9b8-17b1-415b-b591-31861a760ad7_1220x1006.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf0a2018-8ad8-4083-92c4-ff81838a833c_1220x1076.png&quot;,&quot;height&quot;:458,&quot;title&quot;:&quot;Coordinated and non-human behaviour operators&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/iJ53U/1/" width="730" height="458" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>Scenario 2: Revealing bot characteristics via network analysis</h4><p>Use your initial query results (a list of 100+ accounts posting the same link) to feed into a Social Network Analysis (SNA) tool like Gephi.</p><ol><li><p><strong>Extract Data:</strong> Use an approved API or specialized tool (like Twint, carefully and ethically) to pull the last 200 tweets for each of the 100 suspicious accounts.</p></li><li><p><strong>Model the Network:</strong> Import this data into <strong>Gephi</strong>. Create a network where:</p><ul><li><p><strong>Nodes</strong> are the accounts.</p></li><li><p><strong>Edges</strong> (connections) are mentions, reposts, or replies.</p></li></ul></li><li><p><strong>Analyze Metrics:</strong> Look for key SNA metrics:</p><ul><li><p><strong>Degree Centrality:</strong> Nodes with an unusually high number of connections (often the central &#8220;botmaster&#8221; or key amplifier).</p></li><li><p><strong>Modularity:</strong> Distinct, tight clusters of accounts that only talk to each other but not to the leading network (suggests a segmented botnet group).</p></li></ul></li><li><p><strong>Behavioural Audit:</strong> Check the accounts in the high-centrality clusters when examining bot features: high post frequency (e.g., 50+ posts/day), jumbled alphanumeric usernames (e.g., user7492931), and no profile pictures or bios.</p></li></ol><h4>&#128190; 3.3. Data preservation and Chain of Custody</h4><p>You must assume all collected data will be challenged. A strict Chain of Custody (CoC) should be mandatory.</p><ol><li><p><strong>Collect and archive:</strong> Use Hunchly (or a similar tool) to capture every webpage, tweet, profile, and search results page. This preserves the original context, date/time, and URL.</p></li><li><p><strong>Generate hash values:</strong> For every key file (e.g., a spreadsheet of scraped accounts, a screenshot, or the Hunchly/web archive file itself), immediately calculate and record its SHA-256 cryptographic hash value. This mathematical fingerprint proves the file has not been altered since the moment of collection.</p><ul><li><p><em>Command Line Example (Linux/macOS):</em> <code>sha256sum [filename.csv] &gt;&gt; CoC_Log.txt</code></p></li></ul></li><li><p><strong>Maintain a log:</strong> Create a running, chronological Chain of Custody Log document. This log should detail:</p><ul><li><p>The <strong>date and UTC time</strong> of collection.</p></li><li><p>The <strong>Investigator</strong> (your name/ID).</p></li><li><p>The <strong>Method</strong> used (e.g., X Advanced Search, Manual Screenshot).</p></li><li><p>The <strong>Location/URL</strong> of the collected data.</p></li><li><p>The <strong>SHA-256 Hash</strong> of the resulting file.</p></li></ul></li></ol><div><hr></div><h3>&#129504; 4. Verification, analysis, and editorial integration</h3><h4>4.1. Corroboration strategy</h4><p>Technical data (e.g., a cluster of accounts posting at 08:00:00 UTC) is insufficient on its own. It requires corroboration with at least two independent sources/methods.</p><ul><li><p><strong>Method 1 (Technical corroboration):</strong> Cross-reference the identified key amplifier accounts&#8217; metadata (e.g., profile pictures) using a reverse image search (like Yandex or TinEye) to confirm if the profile image is a stock photo or has been used on other now-suspended bot accounts.</p></li><li><p><strong>Method 2 (Behavioural corroboration):</strong> Use the account creation dates of the bot cluster. If hundreds of accounts were created on the same day or week, cross-reference this date with a known national/global political event to suggest a timeline of orchestration.</p></li></ul><h4>4.2. Translating data to narrative</h4><p>The technical data must be translated into clear, verifiable journalistic facts.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/MxD08/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6dfe935-3d4d-4d80-af43-86da595c4884_1220x718.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8e0c581-e491-46d9-9810-79318a0ac029_1220x718.png&quot;,&quot;height&quot;:356,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/MxD08/1/" width="730" height="356" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; 4.3. AI Assistance in analysis and ethical use</h4><p>AI/LLMs can be powerful, ethical accelerators for processing the overwhelming volume of data common in disinformation investigations, but they should be used with extreme caution.</p><ul><li><p><strong>Summarizing large documents or log files:</strong> Feed an LLM a log file containing thousands of posts and ask for <strong>salient themes, repeated phrases, and emotional shifts (sentiment analysis)</strong>. <em>Prompt Example: &#8220;Analyze the attached log of 5,000 tweets. Group the posts by theme, identify the five most common keywords (excluding stopwords), and calculate the percentage of posts exhibiting negative sentiment towards [Target Entity].&#8221;</em></p></li><li><p><strong>Identifying key entities, dates, and relationships:</strong> Use an LLM for <strong>Named Entity Recognition (NER)</strong> on large text corpuses (e.g., thousands of inauthentic blog comments) to quickly extract all unique names, organizations, and dates mentioned, which can then be clustered into a more traditional analysis tool.</p></li><li><p><strong>Translation of foreign language material:</strong> LLMs are excellent for rapid translation of large volumes of foreign language social media posts or propaganda materials.</p></li></ul><h4>&#9888;&#65039; AI warning: Hallucination and privacy</h4><p><strong>Hallucination risk: </strong>Never publish or present an AI-generated finding as a fact until it has been human fact-checked and verified against the original source data. LLMs are designed to generate plausible text, including false &#8220;facts.&#8221;</p><p><strong>Privacy risk: </strong>Do not submit sensitive or non-public data, such as source-provided logs, non-public chat screenshots, or the names of confidential sources, to public LLM services like ChatGPT or Gemini. These services can use your input to train their models, potentially violating source protection and privacy. Use licensed, private, or locally run models for sensitive data.</p><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p><strong>Challenge:</strong> Investigate a potential astroturfing campaign targeting a controversial piece of proposed legislation (e.g., <em>The Fictional Digital Policy Act</em>).</p><ol><li><p><strong>Baseline search:</strong> Search X/Twitter for the hashtag <strong>#FictionalDigitalPolicyAct</strong> and the words &#8220;scam&#8221; or &#8220;threat&#8221; over the last week.</p></li><li><p><strong>Filter for anomaly:</strong> Identify accounts that:</p><ul><li><p>Have posted about the hashtag <em>at least 10 times</em> in the last 24 hours.</p></li><li><p>Were created in the last 6 months (use <code>since:2025-06-01</code>).</p></li><li><p>Have a follower count below 50.</p></li></ul></li><li><p><strong>Cross-platform check:</strong> Take a suspicious phrase used by the cluster (e.g., &#8220;The bill is a freedom killer!&#8221;) and run it as a search query on Reddit to see if the same phrase is being injected into political subreddits.</p></li></ol><h4>5.2. Advanced resources</h4><ul><li><p><strong><a href="https://osintframework.com/">The OSINT Framework</a>:</strong> A comprehensive, categorized directory of OSINT tools and resources (used to find niche social media or domain analysis tools).</p></li><li><p><strong><a href="https://www.atlanticcouncil.org/programs/digital-forensic-research-lab/">DFR Lab (Atlantic Council)</a>:</strong> Documentation and methodologies for tracking digital forensic research in influence operations.</p></li><li><p><strong>SNA visualization tools (e.g., <a href="https://gephi.org/">Gephi</a>):</strong> Essential for visualizing and quantifying network structures beyond simple lists of accounts.</p></li><li><p><strong><a href="https://www.exploit-db.com/google-hacking-database?category=5">GHDB (Google Hacking Database)</a>:</strong> A repository of advanced search queries (Google Dorks) to uncover accidentally exposed files and data.</p></li><li><p><strong>Open-Source data scraping libraries (e.g., Python&#8217;s <a href="https://beautiful-soup-4.readthedocs.io/en/latest/">BeautifulSoup</a>/<a href="https://www.scrapy.org/">Scrapy</a>):</strong> Used ethically and compliant with ToS/rate limits for scaled collection of public data.</p></li></ul><div><hr></div><h3>6. Key takeaways and investigative principles</h3><ul><li><p><strong>Prioritize behaviour over content:</strong> Focus your investigation on <em>how</em> a message is spread (coordination, timing, rate) rather than just the message&#8217;s content.</p></li><li><p><strong>Always capture, hash, and log:</strong> Treat every piece of collected public data as potential evidence. Utilize your dedicated CoC log and generate <strong>SHA-256 hashes</strong> immediately.</p></li><li><p><strong>Trace the digital signature:</strong> Look for technical commonalities that link disparate accounts (e.g., the same profile photo used elsewhere, identical post timing, shared infrastructure).</p></li><li><p><strong>Cross-reference in threes:</strong> Never conclude based on a single piece of evidence. Corroborate technical findings with behavioural and network analysis data.</p></li><li><p><strong>&#8220;Stop at the Login&#8221;:</strong> Maintain a strict ethical boundary to ensure your investigation is legal and your findings are admissible and defensible.</p></li></ul><div><hr></div><h4>&#128065;&#65039; Coming next week&#8230;</h4><p><strong>Tracing corporate ownership: Beneficial &amp; ultimate parent companies</strong></p><p>Navigating global corporate registries (e.g., OpenCorporates). Understanding shell companies and identifying beneficial ownership to follow the money trail back to the ultimate, real-world actors behind corporate structures.</p>]]></content:encoded></item><item><title><![CDATA[Investigative network mapping: Link analysis with Maltego and Gephi]]></title><description><![CDATA[Convert complex data into visual network maps using Maltego & Gephi. Learn Link Analysis Graphing (LAG) to find gatekeepers and hidden structures in deep investigations.]]></description><link>https://spotlight.ebu.ch/p/investigative-network-mapping-link</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/investigative-network-mapping-link</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 25 Nov 2025 09:01:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4f1e5333-c102-4e60-8573-13eeac7d489c_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!irWb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!irWb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!irWb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!irWb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!irWb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!irWb!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:5292041,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/179799398?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!irWb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!irWb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!irWb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!irWb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9c83c5b6-e6e1-4fc8-9736-0dec2972f1a2_4500x3000.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>From exposing corruption to tracking extremist groups, the best investigative stories rarely rely on a single figure but on complex webs of connections among people, companies, and digital assets. </p><p>Manually analyzing such links takes too much time and often fails to reveal subtle, non-obvious relationships. Network mapping, or Link-Analysis Graphing (LAG), is a process that converts disparate facts (names, emails, domains) into a graphical map for you to navigate, find key actors, gatekeepers, and hidden structures in a web of complex investigations.</p><div><hr></div><h4>1.1. The investigative need (The &#8220;why&#8221;)</h4><p>Journalists accumulate hundreds of data points from public records, documents, and search engine results during investigations. This data at its raw state can sometimes be daunting and obfuscate relationships. Tools such as <a href="https://www.maltego.com/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=S_Tools&amp;utm_term=cyber%20security%20detection%20tools&amp;gad_source=1&amp;gad_campaignid=21669013138&amp;gbraid=0AAAAABOgrsrB--MVWEAixCNM4ZELqWXZs&amp;gclid=Cj0KCQiAoZDJBhC0ARIsAERP-F9rwT7mgAYicqq78TeuOEhvJPh21rkVnPBj1-RePC0o2LN9G-GlVs4aAvzfEALw_wcB">Maltego</a> and <a href="https://gephi.org/">Gephi</a> automate the query of public sources, as well as immediately visualizing the relationship and revealing the &#8220;who is connected to whom&#8221; and &#8220;how are they connected&#8221;. It&#8217;s essential for demonstrating coordination, naming major players, and turning a dense narrative digestible to the public.</p><h4>1.2. Learning outcomes</h4><ul><li><p>Differentiate between Nodes (Entities) and Edges (Relationships) in a network graph.</p></li><li><p>Use Maltego to automatically gather OSINT and visually map connections from a single starting entity (e.g., an email or domain).</p></li><li><p>Import structured data (CSV) into Gephi and calculate key network centrality metrics.</p></li><li><p>Interpret the investigative significance of Betweenness Centrality and Clustering Coefficient.</p></li></ul><h4>1.3. Case study hook</h4><p>A journalist investigates a global influence network. They begin with a single domain name from a shell company. Using Maltego&#8217;s Transforms, they map all associated email addresses, then pivot from those emails to find linked social media profiles, and finally use graph analysis in Gephi to identify a single, seemingly obscure individual who is the only connection (the &#8220;gatekeeper&#8221;) between the entire finance arm and the political messaging arm of the operation.</p><div><hr></div><h3>&#128161; 2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong>Node/Entity:</strong> A data point (e.g., a person, company, email, phone number, IP address) represented as a circle or icon in the graph.</p></li><li><p><strong>Edge/relationship:</strong> The line connecting two nodes, representing a link (e.g., &#8220;Works At,&#8221; &#8220;Owns,&#8221; &#8220;Communicated With&#8221;).</p></li><li><p><strong>Transform (Maltego):</strong> An automated query that fetches related data from a source (e.g., given a Domain, run a Transform to find associated Email Addresses).</p></li><li><p><strong>Centrality metrics:</strong> Algorithms that measure the importance of a node in a network (e.g., Degree, Betweenness).</p></li><li><p><strong>Graph visualization:</strong> The process of using algorithms (layouts) to arrange the nodes and edges for readability and pattern recognition.</p></li></ul><h3>&#9888;&#65039; 2.2. Ethical and legal boundaries</h3><h5>2.2.1. Consent &amp; privacy: Data aggregation risk</h5><p>Maltego and similar tools aggregate public data quickly, which can inadvertently create a highly intrusive picture of an individual, even if each data point is publicly available. </p><p><strong>The ethical boundary is heightened:</strong> Do not use these tools to map personal networks or expose private individuals unless their activities are strictly in the public interest and relevant to the investigation. Always ensure the collection remains passive (no attempted logins or network probing, such as aggressive Nmap scans). </p><h5>2.2.2. Legal Considerations: Licensing and Intent</h5><p>Maltego comes with a free Community Edition (CE), but has usage limits. Commercial editions have more features and data integrations. Using the tool improperly, especially running Transforms directly against systems or data sources in which you do not have authorization, could be considered illegal network reconnaissance. Tools such as Maltego must be utilized for OSINT (Open Source Intelligence) which is derived from publicly indexed or API-accessible information. Unauthorized access is illegal.</p><p><strong>Mandatory disclaimer: Consult legal department to ensure your investigation&#8217;s scope and methods comply with jurisdictional laws regarding data collection, privacy, and unauthorized access, particularly when dealing with cross-border data.</strong></p><div><hr></div><h3>&#128736;&#65039; 3. Applied methodology: Step-by-step practical implementation</h3><h4>3.1. Required tools &amp; setup</h4><ul><li><p><strong><a href="https://www.maltego.com/downloads/">Maltego CE (Community Edition)</a>:</strong> Free version for graphical link analysis (requires registration).</p></li><li><p><strong><a href="https://gephi.org/">Gephi</a>:</strong> Free, open-source software for visualizing and analyzing large graphs (requires Java).</p></li><li><p><strong>Data scraper/parser:</strong> A tool or script to export collected data (names, emails, phone numbers) into a structured CSV file. <a href="https://www.octoparse.com/?_gl=1*1d96con*_up*MQ..*_gs*MQ..&amp;gclid=Cj0KCQiAoZDJBhC0ARIsAERP-F-w6Oc_Zd9CQnXU4tybdFmER6bj8atVIAW_mbWwkqKUcW2VXk6IsIoaAiQmEALw_wcB&amp;gbraid=0AAAAAoOLR7-LSP6xSO4Sm8RdOy-5ABPra">Octoparse</a> is a recommended no-coding solution.</p></li><li><p><strong>Isolated environment:</strong> A VM or dedicated clean machine for running these tools.</p></li></ul><h4>&#128119;&#8205;&#9792;&#65039; 3.2. Practical execution (The &#8220;How&#8221;)</h4><h4>Scenario A: Automated mapping with Maltego</h4><p><strong>Goal:</strong> Start with a domain name and automatically identify its registered owner, hosting details, and associated infrastructure.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/MIcLA/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f7d49eb6-f928-499f-81c6-5b96b3e87f46_1220x994.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e98af3d-5ada-41c8-9bf0-6a4e7eaa3efb_1220x994.png&quot;,&quot;height&quot;:423,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/MIcLA/1/" width="730" height="423" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>Scenario B: Advanced analysis with Gephi (For structured data)</h4><p><strong>Goal:</strong> Import a spreadsheet of scraped data (e.g., leaked email communication logs, where each row is a &#8220;Source&#8221; email talking to a &#8220;Target&#8221; email) and calculate the most critical person.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/mLAD7/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14c20590-9a48-4549-b8b2-9e4348603c14_1220x994.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a2af751-8b9a-4a13-a90b-8e0806d525fa_1220x994.png&quot;,&quot;height&quot;:487,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/mLAD7/1/" width="730" height="487" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#128190; 3.3. Data preservation and Chain of Custody</h4><ol><li><p><strong>Maltego Export:</strong> Export the final graph visualization as a high-resolution image (PNG/PDF) and the underlying data as a GraphML file or a CSV of nodes and edges.</p></li><li><p><strong>Gephi Export:</strong> Export the static image (PNG) of the final visualized graph, and the <strong>GEXF</strong> (Gephi Graph File) project file, which preserves all the applied metrics and layout.</p></li><li><p><strong>Source Log:</strong> Create a table or spreadsheet logging the original source of <em>every Entity</em> (Node) added to the graph. If an email originated from a Google Dork search that led to a public PDF, log the exact URL of the PDF and the date and time it was collected. Generate an SHA-256 hash for all source files.</p></li></ol><div><hr></div><h3>&#129504; 4. Verification, analysis, and editorial integration</h3><h4>4.1. Corroboration strategy</h4><p>Network analysis only suggests a <em>possible</em> relationship; it does not prove <em>why</em> the relationship exists.</p><ul><li><p><strong>Edge corroboration:</strong> If a Maltego Transform shows an &#8220;Affiliation&#8221;, you must verify the nature of that link. Is the link based on a shared phone number, a past job listing, or a public registry entry? Examine the original source document or API record to confirm the link&#8217;s validity.</p></li><li><p><strong>Cross-method verification:</strong> If Gephi indicates that "Jane Doe" has a high Betweenness Centrality score, this supports her role as a broker. Does her LinkedIn profile, public records, or the content of the documents you collected (Section 3 of the previous tutorial) confirm her intermediary role?</p></li></ul><h3>4.2. Translating data to narrative</h3><p>Translate network metrics into actionable story elements.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/uww0b/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cddc8b90-b48c-4d3b-b4db-63fe06a3378d_1220x654.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6b02d5e-e8a5-41fc-8f1b-30a1b89fafde_1220x654.png&quot;,&quot;height&quot;:317,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/uww0b/1/" width="730" height="317" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>4.3. AI assistance in analysis</h4><p>LLMs can help interpret the context behind the graph&#8217;s structure.</p><ul><li><p><strong>Summarizing log files:</strong> Input the source data (e.g., the text of the meeting minutes or email logs that generated the Edges) to an LLM. </p></li></ul><p><em><strong>Prompt example:</strong> </em></p><pre><code><code>Analyze the provided source text (log files/meeting minutes/emails) that generated the network graph. 

Identify the dominant context and relationship behind the Edge between the nodes identified as [Node A Name/ID] and [Node B Name/ID]. 

Specifically, summarize the primary topic of discussion, the purpose of their interaction, and the tone/sentiment expressed in the source material related to this connection. 

Finally, explain if the source text supports the weight or directionality assigned to this specific Edge in the graph structure.</code></code></pre><ul><li><p><strong>Identifying Key entities and roles:</strong> Once a cluster of 15 names is found, an LLM can scan their publicly available job titles (if provided in the node attributes) and group them into functional roles such as &#8220;Finance Team&#8221;, &#8220;Logistics Support&#8221;, etc.</p></li><li><p><strong>Translation:</strong> Translate all foreign-language node labels or Edge descriptions (e.g., from a foreign corporate registry) into the investigative language.</p></li></ul><p>&#9888;&#65039; <strong>Critical warning: Privacy and hallucination</strong></p><p>Never upload an investigative graph (GEXF file) or its associated sensitive data (node/edge attributes) to any public LLM service. The graph itself can reveal the structure of your investigation and potentially expose sources or targets. Always use private, secure tools. </p><p>All interpretations, summaries, or roles identified by an AI must be rigorously fact-checked by cross-referencing against the original public source documents/records that generated the graph&#8217;s Nodes and Edges. The graph is a map; the underlying facts are the territory.</p><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><ol><li><p>Open <strong>Maltego CE</strong>.</p></li><li><p>Add a <strong>Website</strong> Entity using a public company&#8217;s domain (e.g., <code>paterva.com</code>).</p></li><li><p>Run the Transform: <em>&#8220;To Email Address &#8211; using search engine&#8221;</em>.</p></li><li><p>Run the Transform: <em>&#8220;To Person &#8211; PGP Key&#8221;</em> on one of the found email addresses.</p></li><li><p>Filter and rearrange the graph to clearly visualize the link from Domain $\rightarrow$ Email $\rightarrow$ Person.</p></li></ol><h4>5.2. Advanced Resources</h4><ul><li><p><strong><a href="https://www.maltego.com/categories/getting-started-with-maltego/">Maltego documentation/training</a>:</strong> Maltego offers a robust series of tutorial videos and documentation for advanced features.</p></li><li><p><strong><a href="https://networkx.org/documentation/stable/tutorial.html">NetworkX (Python)</a>:</strong> A library for advanced network analysis scripting, allowing for custom metrics and data integration beyond GUI tools.</p></li><li><p><strong><a href="https://www.exploit-db.com/google-hacking-database">GHDB for network tools</a>:</strong> Find dorks that specifically expose lists of names, emails, or servers to quickly generate bulk data for graph import.</p></li></ul><div><hr></div><h3>6. Key takeaways and investigative principles</h3><ul><li><p><strong>Nodes &amp; edges:</strong> The graph is only as good as the underlying data&#8212;ensure every Node and Edge is derived from a verifiable source.</p></li><li><p><strong>Pivot wisely:</strong> In Maltego, only run Transforms that will yield relevant data to avoid cluttering the graph with noise.</p></li><li><p><strong>Analyze centrality:</strong> Use Betweenness Centrality (Gephi) to quickly identify the crucial &#8220;gatekeeper&#8221; entities in a large network.</p></li><li><p><strong>Visualize the narrative:</strong> Use layouts, sizing, and coloring to make the graph tell the story visually&#8212;big nodes are important; tight clusters are closed groups.</p></li><li><p><strong>Security First:</strong> Never expose sensitive graph data to insecure environments or public AI models.</p></li></ul><div><hr></div><h4>&#128065;&#65039; Coming next week&#8230;</h4><p><strong>Detecting bots, trolls, and disinformation campaigns</strong></p><p>This tutorial provides the analytical framework to identify coordinated inauthentic behavior (CIB) in real-time. We cover key techniques like analyzing post frequency shifts, tracking user network centralization, and decoding rapid sentiment shifts to expose hidden botnets and troll farms.</p><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/p/investigative-network-mapping-link?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Eurovision News Spotlight! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/p/investigative-network-mapping-link?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://spotlight.ebu.ch/p/investigative-network-mapping-link?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[Advanced Wayback Machine and archival OSINT]]></title><description><![CDATA[Learn to find deleted info with the Wayback Machine. Step-by-step guide on advanced wildcard searches, date-based filtering, and metadata corroboration.]]></description><link>https://spotlight.ebu.ch/p/advanced-wayback-machine-and-archival</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/advanced-wayback-machine-and-archival</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 18 Nov 2025 09:02:06 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/670ef7ef-9c1c-4fd8-a56a-01bbc0111f71_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CRxU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CRxU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CRxU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CRxU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CRxU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CRxU!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:6433856,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/178888598?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CRxU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CRxU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CRxU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CRxU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5cd53b6-cdbf-4c3a-a9c3-ba81fa9e4a7b_4608x3072.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The digital world we live in today is exceedingly temporary. Important information, including corporate filings and political social media posts, can disappear in an instant if it is deleted, altered, or retracted. For investigative journalists, this instability can significantly hamper their work.</p><p>The Internet Archive Toolkit&#8212;primarily the <a href="https://web.archive.org/">Wayback Machine</a>&#8212;serves as the necessary countermeasure, enabling investigators to perform digital time travel to retrieve and authenticate content intended for erasure.</p><div><hr></div><h4>1.1. The Investigative imperative (The &#8220;Why&#8221;)</h4><p>Getting back the original, deleted information is essential for proving deception or misrepresentation. It is important to report the act of deletion itself because it is a journalistic event. </p><p>Mastery of archival OSINT is critical because it transforms volatile digital fragments into durable, court-ready evidence suitable for publication, providing the foundation for reports that demand transparency and context.</p><h4>1.2. Learning outcomes</h4><ul><li><p>Master advanced query syntax and date-based filtering across major archival services.</p></li><li><p>Differentiate between archival snapshots, Mementos, and Google Cache for corroboration.</p></li><li><p>Frame archival retrieval within the necessary ethical and legal boundaries for publication.</p></li><li><p>Implement mandated data preservation techniques (WACZ, hashing) to establish the chain of custody.</p></li><li><p>Integrate archived findings into editorial narratives using structured analysis.</p></li></ul><h4>1.3. Case Study Hook</h4><p>A large multinational company claims that it has never had a controversial environmental policy. An investigative team employs advanced archival methods to access a series of policy documents from the Wayback Machine. These documents reveal not only that the policy existed, but also that it was systematically removed in stages before the company publicly denied its existence.</p><div><hr></div><h3><strong>&#128161; </strong>2. Foundational theory and ethical-legal framework</h3><h4>2.1. Key terminology</h4><ul><li><p><strong>Snapshot/capture:</strong> A single, timestamped, preserved copy of a web page stored by an archiving service (e.g., the Wayback Machine).</p></li><li><p><strong><a href="https://arxiv.org/abs/0911.1112">Memento</a>:</strong> A concept from the Memento protocol; a version of a web resource as it existed at some point in the past. It facilitates querying across multiple archives simultaneously.</p></li><li><p><strong><a href="https://archive.org/developers/wayback-cdx-server.html">CDX Server API</a>:</strong> The service component used by the Internet Archive to allow command-line searching of its index based on URL, date, and filter parameters.</p></li><li><p><strong>Robots.txt exclusion:</strong> A website file used to instruct crawlers (like the Wayback Machine&#8217;s) not to archive certain pages, often leading to investigative gaps in data.</p></li><li><p><strong><a href="https://specs.webrecorder.net/wacz/1.1.1/">WACZ (Web Archive Collection Zip)</a>:</strong> A compressed file format for web archives, used to store the archived content and its metadata in a forensic-grade container.</p></li></ul><h4><strong>&#9888;&#65039;  </strong>2.2. Ethical and legal boundaries</h4><h5>2.2.1. Consent &amp; Privacy</h5><p>Content retrieved from public archives is generally considered public record if it was publicly accessible at the time of the snapshot. The ethical constraint lies in the method of access, not the current status. Investigators must strictly adhere to the &#8220;Stop at the Login&#8221; rule.</p><p>Do not use archived links to bypass security measures, paywalls, or private forum/social media login prompts, even if the archived link inadvertently bypassed the security at the time of capture. The publication of <a href="https://www.ibm.com/think/topics/pii">Personal Identifiable Information (PII)</a> retrieved from public archives must be weighed against strict public interest standards.</p><h5>2.2.2. Legal Considerations</h5><p>The use of archival tools is legal, but the subsequent publication of the retrieved content is governed by intellectual property, copyright, and privacy laws in your jurisdiction. Retractions and take-down requests are serious legal matters. Evidence must only be obtained legally from publicly available sources. </p><p><strong>Mandatory disclaimer: Always consult your legal department before publishing deleted or sensitive archived data, as legal standards for journalistic privilege vary widely, especially when dealing with foreign entities or individuals.</strong></p><div><hr></div><h3><strong>&#128736;&#65039; </strong>3. Applied methodology: Step-by-step practical implementation</h3><h4>3.1. Required tools &amp; system setup</h4><ul><li><p><strong>Primary Archiving Services:</strong> </p><ul><li><p><a href="http://web.archive.org">The Wayback Machine</a> (An initiative of the Internet<em> </em>Archive, founded in 2001)</p></li><li><p><a href="https://archive.is/">Archive.is</a>/<a href="https://archive.ph/">Archive.today</a> (A web archiving service founded in 2012)</p></li></ul></li><li><p><strong>Caching/Alternative Services:</strong> Google Cache (<code>cache:</code>) and the Memento TimeTravel service.</p></li><li><p><strong>Archival Command Line Tools:</strong> Python packages like <a href="https://pypi.org/project/waybackpy/">waybackpy</a> (for CDX API queries) or <a href="https://www.gnu.org/software/wget/">wget</a> (for bulk downloads).</p></li><li><p><strong>Data Validation Tools:</strong> A <a href="https://tools.keycdn.com/sha256-online-generator">SHA-256 Hash generator</a> utility (for local file integrity).</p></li><li><p><strong>Collection Management:</strong> Tools like <a href="https://archivebox.io/">ArchiveBox</a> or <a href="https://hunch.ly/">Hunch.ly</a> (for structured local saving and audit trails).</p></li></ul><h4><strong>&#128119;&#8205;&#9792;&#65039; </strong>3.2. Practical execution (The &#8220;How&#8221;)</h4><p>The methodology focuses on lateral search extension&#8212;moving beyond simple URL input&#8212;and temporal narrowing to locate subtle changes.</p><p><strong>Scenario: Tracking deleted social media and website assets following a crisis event</strong></p><ol><li><p><strong>Event pinpoint:</strong> Identify the crisis event&#8217;s exact date and time ($YYYYMMDDhhmmss$). This is the anchor point.</p></li><li><p><strong>Initial domain search:</strong> Input the domain (<code>example.com</code>) into the Wayback Machine to establish the capture frequency and identify gaps in data (often indicating a robots.txt exclusion or a cleanup attempt).</p></li><li><p><strong>Advanced wildcard search:</strong> Use wildcards (<code>*</code>) to search for all pages/subdomains related to the target, bypassing basic URL blocks (e.g., <code>web.archive.org/web/*/companyx.com/team/*</code>).</p></li><li><p><strong>Date range search:</strong> Use the 14-digit timestamp format to find snapshots taken <em>immediately before</em> the deletion time, focusing on the narrowest investigative window (e.g., <code>web.archive.org/web/20250101000000/originalurl.com</code>).</p></li><li><p><strong>Archive.is High-fidelity capture:</strong> Use <a href="https://archive.is/">Archive.is</a> as a backup. Since it is user-driven, it often contains snapshots of deleted social posts that the automated Wayback crawler missed.</p></li><li><p><strong>CDX API search:</strong> For complex searches (e.g., finding all deleted <code>.pdf</code> files on a subdomain), use the CDX API via a command-line utility to pull the entire index history, bypassing the web interface limits.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T3lS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T3lS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png 424w, https://substackcdn.com/image/fetch/$s_!T3lS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png 848w, https://substackcdn.com/image/fetch/$s_!T3lS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png 1272w, https://substackcdn.com/image/fetch/$s_!T3lS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T3lS!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png" width="1200" height="761.5384615384615" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:924,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:445032,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/178888598?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!T3lS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png 424w, https://substackcdn.com/image/fetch/$s_!T3lS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png 848w, https://substackcdn.com/image/fetch/$s_!T3lS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png 1272w, https://substackcdn.com/image/fetch/$s_!T3lS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254f5c3e-79b3-4c80-a035-3a0aec10a6fc_3940x2500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>&#128190; 3.3. Data preservation and Chain of Custody</h4><p>Preservation ensures the evidence or data is admissible and defensible.</p><ol><li><p><strong>Archiving (WACZ/WARC):</strong> Do not rely on simple screenshots. Use tools (like ArchiveBox or browser extensions) to save the retrieved snapshot as a <strong>WACZ</strong> or <strong>WARC</strong> file, preserving the original HTML source, metadata, and timestamps.</p></li><li><p><strong>Metadata logging:</strong> Create a comprehensive log for each artifact: Original URL, Archived URL, Date/Time of Archive, Date/Time of Retrieval (your action), and the <em>purpose</em> of the capture.</p></li><li><p><strong>Hash generation:</strong> Generate a <strong>SHA-256 hash</strong> of the downloaded WACZ/WARC file. This unique fingerprint guarantees the file&#8217;s integrity and is the core component of the chain of custody, proving the file has not been altered since your retrieval.</p></li></ol><div><hr></div><h3> &#129504; 4. Verification, analysis, and editorial integration</h3><h4>4.1. Corroboration strategy</h4><p>Academic and editorial standards require multi-source verification.</p><ol><li><p><strong>Tool Cross-reference:</strong> Verify the content across at least two independent archival sources (e.g., Wayback Machine <em>and</em> Archive.is) before relying on it.</p></li><li><p><strong>Date/context corroboration:</strong> Cross-reference the archive snapshot time with external events (e.g., email timestamps, news reports) to verify that the retrieved version was publicly available at the time of the event.</p></li><li><p><strong>Metadata and header analysis:</strong> Examine the snapshot&#8217;s HTTP headers and embedded metadata to verify the server status, ensuring the page was a &#8216;200 OK&#8217; (live) capture rather than a redirect.</p></li></ol><h4>4.2. Translating data to narrative</h4><p>Complex archival data must be translated into clear, verifiable journalistic facts.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/3BYKO/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6aed189d-f0ea-41cd-8e6c-609b4d9fc085_1220x622.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24a405e4-2587-412c-b291-ebbabf9b4d53_1220x622.png&quot;,&quot;height&quot;:301,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/3BYKO/1/" width="730" height="301" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4><strong>&#129302; </strong>4.3. AI Assistance in analysis and ethical use</h4><p>LLMs offer powerful capabilities for processing large volumes of archived text.</p><ul><li><p><strong>Summarization and abstraction:</strong> Use AI to process text from long-form archived documents (e.g., a PDF annual report or a large forum archive) to extract key findings or create an executive summary.</p></li><li><p><strong>Entity clustering:</strong> Feed the AI large volumes of retrieved text to identify, categorize, and cluster recurring entities (names, dates, organizations) and map relationships between them.</p></li><li><p><strong>Translation:</strong> Use AI for instant translation of foreign-language material retrieved from archives.</p></li></ul><p><strong>&#9888;&#65039; Warning:</strong> <strong>Hallucination and fact-checking:</strong> Every output generated by an AI (summary, translation, entity extraction) must be fact-checked by a human against the original WACZ/WARC file.</p><p><strong>Privacy Concern:</strong> Under no circumstances should sensitive, source-provided, or non-public data (even if archived) be submitted to public-facing LLMs due to the risk of privacy breaches and proprietary data leakage.</p><div><hr></div><h3>&#128640; 5. Practice and resources</h3><h4>5.1. Practice exercise</h4><p>Identify a political figure with a strong online presence. Locate the oldest and newest archived versions of their official About Me page. Use the Wayback Machine&#8217;s comparison tool to identify text changes between two specific captures, and look for the real-world event that may have triggered the changes. Document the entire process in your log file with the necessary SHA-256 hash.</p><h4>5.2. Advanced resources and further reading</h4><ul><li><p><strong><a href="https://timetravel.mementoweb.org/">Memento-web TimeTravel service</a>:</strong> A service that queries multiple web archives (Internet Archive, Archive.is, etc.) simultaneously for a specific URI, ensuring maximal retrieval.</p></li><li><p><strong><a href="https://docs.archivebox.io/dev/">ArchiveBox documentation</a>:</strong> Essential resource for self-hosting a local, structured, and reproducible web archival system.</p></li><li><p><strong><a href="https://archive.org/developers/wayback-cdx-server.html">Wayback Machine CDX API documentation</a>:</strong> For learning how to bypass the web interface and perform programmatic searches of the archive index.</p></li><li><p><strong>Journalism and legal ethics:</strong> Consult legal resources on data protection (e.g., <a href="https://gdpr-info.eu/">GDPR</a>, <a href="https://oag.ca.gov/privacy/ccpa">CCPA</a>) as they apply to the dissemination of public records.</p></li></ul><div><hr></div><h3>6. Summary and investigative principles</h3><ul><li><p><strong>Deletion is evidence:</strong> Never view a 404 error as a dead end; view it as evidence of an attempt to conceal information that must be investigated.</p></li><li><p><strong>Archive integrity:</strong> The gold standard of evidence is a hash-verified WACZ or WARC file, not a screenshot.</p></li><li><p><strong>Cross-validation is mandatory:</strong> All key findings must be corroborated across multiple independent archival tools (Wayback, Archive.is, Memento) for editorial and legal defensibility.</p></li><li><p><strong>Temporal precision:</strong> Leverage the 14-digit timestamp format to narrow the investigation to the precise moments before and after a key event.</p></li><li><p><strong>Think like a crawler:</strong> Understand the limitations of robots.txt exclusions and data gaps to formulate lateral, effective wildcard searches.</p></li></ul><div><hr></div><h4>&#128065;&#65039; Coming next week&#8230;</h4><p><strong>Network Mapping: Visualizing Connections with Maltego &amp; Graph Tools</strong></p><p>The next tutorial will look into the powerful practice of network mapping, providing you with skills for visualizing complex relationships in your investigations. You&#8217;ll learn how to effectively use tools like Maltego, Gephi, and other graphing utilities to map connections between individuals, companies, and social media accounts.</p><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/p/advanced-wayback-machine-and-archival?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Eurovision News Spotlight! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/p/advanced-wayback-machine-and-archival?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://spotlight.ebu.ch/p/advanced-wayback-machine-and-archival?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p><h3></h3>]]></content:encoded></item><item><title><![CDATA[Tracking digital footprints with username and alias correlation]]></title><description><![CDATA[Techniques for correlating usernames, visuals, and content to unmask anonymous sources]]></description><link>https://spotlight.ebu.ch/p/tracking-digital-footprints-with</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/tracking-digital-footprints-with</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 11 Nov 2025 09:00:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/98ba0c5e-c4a0-492f-935d-1b29df653c86_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FqEx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FqEx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FqEx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FqEx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FqEx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FqEx!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:6952619,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/177345764?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FqEx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FqEx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FqEx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FqEx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1df45cb2-b773-4e29-85a7-8505c24367c9_4500x3000.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the digital age, individuals can conceal their true activities by relying on digital fragmentation, scattering their activities across multiple social media accounts, forums, and platforms with slightly varied or entirely different usernames (aliases).</p><p>For investigative journalists, the challenge is not just finding the data but confirming identity. For example, proving that &#8220;SecureNinja23&#8221; on a dark web forum and the writer of a leaked internal memo are the same person. </p><p>This skill of identity stitching, or alias correlation, is the most important one for creating a verifiable, cross-platform digital footprint that connects online activity to a person or organisation. </p><div><hr></div><p><strong>&#128065;&#65039; Goals for learning</strong></p><ul><li><p>Master the use of automated and manual tools to cross-reference a single username across public platforms.</p></li><li><p>Develop techniques for confirming identity through subtle digital patterns (e.g., bio reuse, profile photo consistency, writing style).</p></li><li><p>Implement a rigorous process for capturing and preserving evidence that is correlated (Chain of Custody).</p></li><li><p>Understand the ethical line between public data correlation and illegal/unauthorized access.</p></li></ul><div><hr></div><h4><strong>&#128161; </strong>Basic ideas</h4><p><strong>Key terminology</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uJJ8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uJJ8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!uJJ8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!uJJ8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!uJJ8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uJJ8!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:365131,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/177345764?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uJJ8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png 424w, https://substackcdn.com/image/fetch/$s_!uJJ8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png 848w, https://substackcdn.com/image/fetch/$s_!uJJ8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png 1272w, https://substackcdn.com/image/fetch/$s_!uJJ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46e39746-3558-4d1e-add5-83c422a4a929_3840x2160.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4><strong>&#9888;&#65039;</strong> Important for journalists: Ethical and legal limits</h4><p>You must limit your research exclusively to publicly accessible data.</p><ul><li><p><strong>The Golden Rule:</strong> <strong>Stop immediately at any login prompt.</strong> Any attempt to bypass a login, whether by guessing a password, using leaked credentials, or exploiting a technical vulnerability, crosses the line from ethical OSINT into unauthorized access/hacking, which is illegal and unethical.</p></li><li><p><strong>Data sensitivity:</strong> Information found in the public domain (e.g., a photo on a public social media profile) is fair game. However, publicly exposing highly sensitive personal data (e.g., unredacted home addresses, private medical information) must be justified by a clear, overriding public interest and vetted by your legal and editorial teams. </p></li></ul><p>The laws governing unauthorized computer access (like the Computer Fraud and Abuse Act (CFAA) in the US) are broad. Being blocked by a website&#8217;s Terms of Service (ToS) or a technical gate could be interpreted as unauthorized.</p><ul><li><p><strong>Risk Mitigation:</strong> Never use tools designed to force access or exploit vulnerabilities (like Shodan/Censys for non-public data) unless you have extensive legal guidance.</p></li><li><p><strong>Mandatory Legal Disclaimer:</strong> <strong>The information and techniques provided here are for educational and journalistic verification purposes only. Investigative journalists must consult their own legal department and editorial guidelines before acting on any information involving complex legal jurisdictions, data privacy (such as GDPR), or potential intrusion into private systems or accounts.</strong></p></li></ul><div><hr></div><h4><strong>&#128736;&#65039; </strong>The Method: Putting it into action step-by-step</h4><p><strong>Required tools &amp; setup</strong></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/6OymK/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5f03186-fb4e-4dae-b609-314d2916bf2f_1220x828.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02941648-448a-4200-b7a1-b65b8d11ecc1_1220x828.png&quot;,&quot;height&quot;:404,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/6OymK/1/" width="730" height="404" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h4><strong>&#128119;&#8205;&#9792;&#65039; </strong>How to put it into practice</h4><p><strong>Scenario: Resolving the Identity of an account linked to a misinformation network</strong></p><p><strong>Goal:</strong> Link a suspected misinformation account (Alias: <code>@ShadowWhisper_007</code>) on platform X to any other public profile to begin building a full identity.</p><ol><li><p><strong>Initial scan (Username enumeration):</strong></p><ul><li><p>Input the core username (<code>ShadowWhisper_007</code>) into <strong><a href="https://whatsmyname.me/">WhatsMyName</a> </strong>or<strong> <a href="https://namechk.com/">Namechk</a></strong>.</p></li><li><p><strong>Crucial step:</strong> Systematically test subtle variations: <code>ShadowWhisper007</code>, <code>ShadowWhisper\_</code>, <code>S_Whisper007</code>. An alias often follows a pattern.</p></li></ul></li><li><p><strong>Visual correlation (Profile picture pivot):</strong></p><ul><li><p>Download the <code>@ShadowWhisper_007</code> profile picture (ensure it&#8217;s publicly available).</p></li><li><p>Run a reverse image search (Yandex is excellent for faces/avatars).</p></li><li><p>Investigative value: Finding the same picture on a platform like a forgotten LinkedIn profile or a niche gaming forum provides high confidence of correlation.</p></li></ul></li><li><p><strong>Content/pattern analysis (Digital footprinting) - manual techniques:</strong></p><ul><li><p>If a second profile is found (e.g., a blog or forum post), compare the content.</p></li><li><p><strong>Focus on the pattern:</strong> </p><ul><li><p>Do they use the same catchphrases? </p></li><li><p>Do posts on both accounts stop/start at the same time? </p></li><li><p>Do they both mention the same niche, non-public event or location?</p></li></ul></li><li><p><strong>Manual correlation checklist (The cognitive step):</strong></p><ul><li><p><strong>Linguistic Style:</strong> Search for consistent, unique linguistic markers:  </p><ul><li><p>Unusual punctuation (e.g., excessive ellipses, lack of capital letters)</p></li><li><p>Repeated grammatical errors, or specific, niche terminology only used in certain industries.</p></li></ul></li><li><p><strong>Chronolocation:</strong> Analyze the time zone and consistent posting hours across both profiles. A user posting consistently at 2:00 AM EST on one platform and 7:00 AM CET on another suggests a specific geographic location.</p></li><li><p><strong>Bio reuse:</strong> Search for exact, non-generic phrases used in the &#8220;About Me&#8221; or bio section of the first alias to see if they appear anywhere else.</p></li></ul></li><li><p><strong>Metadata pivot:</strong> If the correlating platform allows file uploads, check the public metadata (EXIF) of any uploaded images for camera models, software used, or even geolocation hints.</p></li></ul></li><li><p><strong>Data visualization (<a href="https://www.maltego.com/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=S_Tools&amp;utm_term=osint%20tools&amp;gad_source=1&amp;gad_campaignid=21669013138&amp;gbraid=0AAAAABOgrsruLBhzWjexCYzhtDwTk86ZD&amp;gclid=CjwKCAiAt8bIBhBpEiwAzH1w6VAcoZKM-v_OwQ-HalAm5OdX7lLi9Nmo7Nh7uBKKEVf3n7fySOKR0BoCzOAQAvD_BwE">Maltego</a> step)</strong></p><ul><li><p>For investigations involving more than two platforms, use a visualization tool like Maltego (or even a simple drawing tool/spreadsheet) to map the connections.</p></li><li><p><strong>Execution:</strong> Input each correlated data point as an entity (e.g., Username 1, Username 2, Email Address, Profile Photo Hash, Unique Phrase) and draw the confirmed links.</p></li><li><p><strong>Value:</strong> <strong>Visualization is key for complex identity stitching.</strong> It highlights the strongest, most complex linkages (e.g., two different usernames sharing a single IP address&nbsp;<em>and</em>&nbsp;profile photo) for fast, high-confidence confirmation.</p></li></ul></li></ol><p><strong>Actionable correlation table: Linking data points</strong></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/N8iDo/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/484e903a-3134-4e94-bde2-059352321605_1220x924.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0485bc6-cb76-40dc-8e9c-dc1ccdd0328a_1220x924.png&quot;,&quot;height&quot;:452,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/N8iDo/1/" width="730" height="452" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><p><strong>&#128190; Keeping data safe: The audit trail</strong></p><p>For any correlated identity to be admissible evidence in journalistic reporting (and potentially a legal context), you must ensure a <strong>Chain of Custody</strong>.</p><ol><li><p><strong>Immediate archiving:</strong> Use tools like <strong><a href="https://chromewebstore.google.com/detail/take-webpage-screenshots/mcbpblocgmgfnpjjppndjkmgjaogfceg?hl=en">FireShot</a></strong> (full-page capture) or <strong><a href="http://perma.cc/">perma.cc</a></strong> to capture a snapshot of the source page immediately upon discovery.</p></li><li><p><strong>Metadata logging:</strong> Document the following in a structured log (spreadsheet):</p><ul><li><p><strong>Date and timestamp (UTC):</strong> When the source was accessed.</p></li><li><p><strong>Source URL:</strong> The exact URL of the publicly accessible page.</p></li><li><p><strong>Method used:</strong> (e.g., &#8220;<a href="https://whatsmyname.app/">WhatsMyName check</a>,&#8221; &#8220;<a href="https://yandex.ru/images/?rdrnd=65705&amp;lr=213&amp;redircnt=1762770229.1">Yandex Reverse Image Search</a>&#8221;).</p></li><li><p><strong>The finding:</strong> A precise description of the correlation point found.</p></li></ul></li><li><p><strong>Hashing the evidence:</strong> For every screenshot or downloaded file, generate a SHA-256 hash. This hash is a unique digital fingerprint of the file. If even a single pixel is later changed, the hash will change, proving to an editor that the evidence you collected has not been tampered with since collection.</p><ul><li><p><em>Tool:</em> Use a built-in command-line tool (<code>shasum -a 256 [filename]</code>) or a reputable desktop hashing utility.</p></li></ul></li></ol><div><hr></div><h4><strong>&#129504; </strong>Verification and analysis for reporting</h4><h5>Corroboration Strategy</h5><p>A single correlation point (e.g., a matching username) is insufficient for reporting. Journalistic standard requires two or more independent sources or methods.</p><ul><li><p><strong>Primary corroboration:</strong> The username match must be corroborated by a content/visual match (e.g., the same profile photo, the same detailed biographical information, or the exact unique quote).</p></li><li><p><strong>Secondary corroboration:</strong> The correlated identity must then be validated against a third-party source (e.g., a public record, a corporate registry, or a verifiable event timeline).</p></li><li><p><strong>Handling false positives:</strong> To eliminate common false positives (e.g., a common username shared by two different people), check the account&#8217;s creation date. If the correlated account predates the known activity window of your target by several years, the risk of a false match is high.</p></li></ul><p><strong>Translating a technical correlation into a clear, verifiable journalistic fact</strong></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/oPjwA/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7dc4ac8d-2784-4082-902c-3519b92d8222_1220x584.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/855aa76f-ed0e-4631-b25a-5f0226fc0afb_1220x584.png&quot;,&quot;height&quot;:282,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/oPjwA/2/" width="730" height="282" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h4><strong>&#129302;</strong> AI Assistance in analysis</h4><h4><strong>&#9888;&#65039;</strong> IMPORTANT WARNING: The risk of hallucination and privacy</h4><p>Journalists can use Large Language Models (LLMs) to process the <em>publicly collected</em> data, but only with extreme caution.</p><ul><li><p><strong>Summarizing large documents or log files:</strong> Upload collected, non-sensitive documents (e.g., a long public forum thread, a public log file) and ask the AI to <strong>extract five key themes</strong> or <strong>summarize the discussion around a specific event/entity</strong>. <em>Example Prompt: &#8220;Analyze this log file and identify all unique timestamps and IP addresses mentioned. Do not interpret the data.&#8221;</em></p></li><li><p><strong>Identifying key entities, dates, and relationships:</strong> Use AI for Named Entity Recognition (NER). Feed it large blocks of text and ask it to output a table of all unique names, organizations, and dates mentioned, helping to cluster data points.</p></li><li><p><strong>Translation of foreign language material:</strong> LLMs are powerful translators for large-scale social media analysis, helping you spot critical keywords quickly.</p></li></ul><p><strong>&#9888;&#65039; IMPORTANT WARNING: Hallucination and privacy risk</strong></p><p><strong>Hallucination risk:</strong> LLMs can invent facts and sources. Every single data point, summary, or translation provided by an AI must be fact-checked and verified manually against the original source before it can be used in reporting.</p><p><strong>Privacy Risk:</strong> Never submit sensitive or source-provided data (e.g., internal leaks, confidential emails, witness statements) to public-facing AI/LLM models. These models may use your input data for training, compromising your investigation, your source, and the security of your publication. Use only local, firewalled, or commercially vetted enterprise AI solutions if dealing with sensitive material.</p><div><hr></div><h4><strong>&#128640; </strong>Next steps and practice</h4><h5><strong>Exercise to practise</strong></h5><p><strong>The &#8220;Vanishing Admin&#8221;:</strong> You are investigating a now-defunct political blog. Your only lead is the former site administrator&#8217;s signature: &#8220;j_w_admin.&#8221;</p><ol><li><p><strong>Correlate:</strong> Use a tool like WhatsMyName to check the core handle and two logical variants (e.g., <code>jwadmin</code>, <code>j_w_admin81</code>) against public platforms.</p></li><li><p><strong>Pivot:</strong> Assume you find a hit on an obscure image-hosting site. Pivot to reverse image search to see if the profile picture links to an active account.</p></li><li><p><strong>Document:</strong> Capture a screenshot and generate a SHA-256 hash for all successful correlation points.</p></li></ol><div><hr></div><h4><strong>&#128214; </strong>More advanced resources</h4><ul><li><p><strong><a href="https://osintframework.com/">The OSINT Framework</a>:</strong> A comprehensive, categorized directory of thousands of OSINT tools and resources for deeper pivots.</p></li><li><p><strong><a href="https://www.exploit-db.com/google-hacking-database">GHDB (Google Hacking Database)</a>:</strong> A list of advanced Google Dorks that can be adapted for finding specific file types or exposed data related to usernames/aliases.</p></li><li><p><strong><a href="https://www.maltego.com/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=S_Tools&amp;utm_term=osint%20tools&amp;gad_source=1&amp;gad_campaignid=21669013138&amp;gbraid=0AAAAABOgrsruLBhzWjexCYzhtDwTk86ZD&amp;gclid=CjwKCAiAlMHIBhAcEiwAZhZBUlIYQdyG8zqS9tg73EWoJO6PIuSIVHk0WYBetTuMAUvBkxWh17M8FRoCZgQQAvD_BwE">Maltego</a>:</strong> A powerful visual analysis tool for mapping relationships between entities (usernames, emails, IPs) found during correlation.</p></li><li><p><strong><a href="https://spotlight.ebu.ch/p/unmasking-image-manipulation-with?utm_source=publication-search">ExifTool</a>:</strong> The gold-standard open-source tool for viewing and validating metadata in images and documents.</p></li></ul><div><hr></div><h4><strong>&#9989; </strong>Important things to remember and investigative principles</h4><ul><li><p><strong>Public is primary:</strong> Stick exclusively to publicly available information; anything behind a login or requiring a technical exploit is illegal and not OSINT.</p></li><li><p><strong>Correlate, don&#8217;t assume:</strong> A single match is a lead; a match corroborated by a second independent method (visual, behavioural, or content) is a high-confidence finding.</p></li><li><p><strong>Pattern over presence:</strong> The strength of correlation lies in identifying reused patterns (photos, bios, phrases, timing) rather than just the same handle.</p></li><li><p><strong>The audit trail is your defence:</strong> Document the <strong>Who, What, When, Where, and How</strong> of every discovery, and use <strong>SHA-256 hashing</strong> to prove the integrity of your collected evidence.</p></li><li><p><strong>AI is an assistant, not an editor:</strong> Use AI for data processing and summarization, but manually fact-check every output and never submit sensitive data to public models.</p></li></ul><div><hr></div><h4><strong>&#128065;&#65039; </strong>Coming next week&#8230;</h4><p><strong>Uncovering deleted content with the internet archive toolkit</strong></p><p>The next tutorial will equip you with the essential skills to battle digital disappearance. We will cover the advanced use of caching and archiving services like the Wayback Machine and Archive.is to retrieve ephemeral or deleted posts, websites, and documents. Learn how to reconstruct timelines and capture evidence of targets believed to be gone forever, ensuring accountability even after an entity attempts to scrub its digital footprint.</p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Mastering video verification and chronolocation for investigative journalism]]></title><description><![CDATA[How to anchor video evidence in irrefutable time and space using OSINT techniques]]></description><link>https://spotlight.ebu.ch/p/mastering-video-verification-and</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/mastering-video-verification-and</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 04 Nov 2025 09:02:07 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ad31bfc6-db54-4929-a5cc-2368998f18a6_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e9FX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e9FX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg 424w, https://substackcdn.com/image/fetch/$s_!e9FX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg 848w, https://substackcdn.com/image/fetch/$s_!e9FX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!e9FX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e9FX!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg" width="1200" height="801.0989010989011" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:972,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:20099996,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/176636033?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!e9FX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg 424w, https://substackcdn.com/image/fetch/$s_!e9FX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg 848w, https://substackcdn.com/image/fetch/$s_!e9FX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!e9FX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eff7445-bfc5-4464-83f0-ed2fa9c0d341_6016x4016.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the age of deepfakes and mass disinformation, video evidence is a crucial, yet highly vulnerable, component of any major investigation. A journalist cannot responsibly publish a story based on an unverified clip. Chronolocation&#8212;the process of determining precisely when a video was recorded&#8212;is the defensive tool against misinformation, allowing you to anchor a breaking news event or an expos&#233; in irrefutable time and space. </p><p>If you learn how to do this, shaky film that was once unverified content becomes a solid journalistic fact, which is necessary for putting together a correct chain of events.</p><div><hr></div><h4><strong>&#128065;&#65039; </strong>Goals for learning</h4><ul><li><p>Accurately geolocate a video by identifying key landmarks and unique features.</p></li><li><p>Master the use of <a href="https://www.google.com/earth/about/versions/#download-pro">Google Earth Pro</a> and <a href="https://www.google.com/maps/@46.3017347,6.1733724,15z/data=!4m2!24m1!9e1?entry=ttu&amp;g_ep=EgoyMDI1MTAyOS4yIKXMDSoASAFQAw%3D%3D">Google Maps Timeline</a> to establish a historical reference point for a scene.</p></li><li><p>Corroborate visual evidence by cross-referencing weather, solar, or seasonal data.</p></li><li><p>Implement a robust chain of custody protocol for video evidence and associated chronolocation findings.</p></li></ul><div><hr></div><h4><strong>&#128161; </strong>Basic ideas</h4><h5>Key terminology</h5><ul><li><p><strong>Chronolocation:</strong> <br>The process of determining the specific date and time an image or video was recorded based on contextual clues (weather, shadows, construction, vegetation).</p></li><li><p><strong>Geolocation:</strong> <br>Determining the precise geographic location (coordinates) where a photo or video was taken. The prerequisite for chronolocation.</p></li><li><p><strong>Pillars of Authentication:</strong> <br>The three key elements for verifying a piece of media are source, date, and location. </p></li><li><p><strong>Shadow Analysis:</strong> <br>An advanced chronolocation technique using the length and angle of shadows to calculate the sun&#8217;s position and, thus, the exact time and date a scene was captured.</p></li></ul><div><hr></div><h4><strong>&#9888;&#65039; </strong>Important for Journalists: Ethical and legal boundaries </h4><h5>Consent &amp; privacy: The &#8220;publicness&#8221; Rule</h5><p>Your analysis only looks at media that the individual or group who posted it has made public. Do not try to bypass paywalls, hack into private accounts, or use tools to access APIs or data streams that are not public. The moment your research requires a login or password that is not your own, <strong>STOP</strong>.</p><p>Knowing when and where a video was made can help you find its creator. Your newsroom&#8217;s privacy policy requires you to be as ethical as possible when dealing with all such information.</p><h5>Legal Considerations: Verification vs. trespass</h5><p>Chronolocation uses publicly available tools like Google Earth Pro&#8217;s historical imagery, which is legal. The moment you use your findings to physically trespass or encourage others to do so, or use non-public databases/tools without explicit authorisation, you risk legal action.</p><p><em><strong>Disclaimer: Before publishing any findings that include location or time data, especially if they go against official stories or involve sensitive figures, always talk to your organisation&#8217;s legal department.</strong></em></p><div><hr></div><h4><strong>&#128736;&#65039; </strong>The method: Putting it into action step by step</h4><h5>Tools and setup needed</h5><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/taduv/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0db9602-1057-4209-9d32-ffe398fa6895_1220x834.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/876c2dc7-179a-4d99-9905-281815258d0b_1220x834.png&quot;,&quot;height&quot;:407,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/taduv/1/" width="730" height="407" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h4><strong>&#128119;&#8205;&#9792;&#65039; </strong>Practical execution (The &#8220;How&#8221;)</h4><p>The core of chronolocation relies on identifying change over time at a fixed location.</p><h4>Scenario 1: Geolocating the scene</h4><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/kPHMp/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/376a4b3d-4a2a-4063-b038-07d3bf70fa25_1220x814.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9601869e-0ad5-4372-a601-aded84311be6_1220x814.png&quot;,&quot;height&quot;:397,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/kPHMp/1/" width="730" height="397" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h5>Scenario 2: Establishing Chronology with Historical Imagery</h5><p>The goal is to match a unique, time-sensitive feature in the video (e.g., construction or vegetation) with a snapshot from historical satellite imagery.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/IZT7P/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc7cec41-94c6-4b7d-996b-7265a4881b09_1220x946.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d1cb916-cb4e-4206-865b-2939a78bc2bb_1220x946.png&quot;,&quot;height&quot;:463,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/IZT7P/1/" width="730" height="463" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h5>Scenario 3: Advanced Chronolocation with Shadow Analysis</h5><p>Shadow analysis provides a very specific time of day and maybe even the exact date.</p><ol><li><p><strong>Identify a Shadow-Casting Object:</strong> Find a tall, clear object in the video (e.g., a traffic sign pole, lamppost, or vertical edge of a building) and its corresponding shadow.</p></li><li><p><strong>Measure and Orient:</strong> In Google Earth Pro, measure the object's height and the length of its shadow. Note the shadow&#8217;s direction (bearing) relative to North.</p></li><li><p><strong>Input Data to Solar Calculator:</strong> Input the geolocation (Lat/Long) and a plausible range of dates into an online shadow calculator (e.g., SunCalc).</p></li><li><p><strong>Match:</strong> The calculator will tell you what time of day the sun would have to be at that angle to make a shadow of that length and direction on the date you chose. You have successfully changed the video&#8217;s claimed recording date if the timestamp on the footage differs between dates.</p></li></ol><h4><strong>&#128190; </strong>The audit trail: Keeping data safe</h4><p>Journalistic integrity requires an absolute chain of custody for all evidence.</p><ol><li><p><strong>Immediate Archiving:</strong> Use <strong><a href="https://archive.ph/">Archive.today</a></strong><a href="https://archive.ph/"> </a>to create a static, time-stamped, and verifiable record of the original posting/URL.</p></li><li><p><strong>Local Backup:</strong> Download the video file and all extracted keyframes.</p></li><li><p><strong>Metadata Capture:</strong> Log the following in a dedicated text file for the case:</p><ul><li><p>Original URL and Archive.today link.</p></li><li><p>Include the geolocation coordinates (latitude and longitude) along with a screenshot of the annotated map.</p></li><li><p>Chronolocation range (e.g., &#8220;Must be between July 12, 2024, and August 1, 2024, based on construction.&#8221;)</p></li></ul></li><li><p><strong>Hash Generation:</strong> Generate a <strong>SHA-256 hash</strong> for the original downloaded video file. This hash is a unique digital fingerprint. If the file is ever altered, the hash will change, proving tampering. This is non-negotiable for court-ready evidence.</p></li></ol><pre><code># Example command in a Linux environment: sha256sum videofile_original.mp4 &gt;&gt; audit_trail.txt</code></pre><div><hr></div><h3><strong>&#129504; </strong>Verification and analysis for reporting</h3><h4>Corroboration Strategy</h4><p>Never publish based on a single piece of evidence. Your chronolocation findings must be cross-referenced with at least two independent sources or methods:</p><ol><li><p><strong>Technical Cross-Check:</strong> Corroborate the Google Earth Pro findings (construction status) with third-party satellite providers (e.g., Sentinel Hub, Maxar public releases) if available.</p></li><li><p><strong>Contextual Cross-Check:</strong> If the video is geolocated, look through local news archives or social media posts from that area around the time you think it happened to find events, weather conditions, or announcements that back up what you found.</p></li><li><p><strong>Solar Cross-Check:</strong> If your historical imagery method gives you a date range (e.g., late summer), use a solar calculator to verify the shadow analysis for that period, providing a technical loop.</p></li></ol><h4>Linking Data to Narrative</h4><p>Translating technical findings into accessible journalistic facts is crucial.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/RKjRn/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67dc31fd-b8da-49b7-b1ec-7431c3ea3af2_1220x622.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a3a9f01-823e-4f45-a774-bdd15ff84715_1220x622.png&quot;,&quot;height&quot;:301,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/RKjRn/1/" width="730" height="301" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h4><strong>&#129302; </strong>AI Assistance in Analysis</h4><p>AI can significantly accelerate the processing of large amounts of related data, but <strong>must not</strong> handle sensitive, non-public source information.</p><ul><li><p><strong>Summarising large documents or log files:</strong> If your chronolocation leads you to a large, public city council PDF about local construction projects, an LLM can quickly summarise the key sections, mentioning dates and locations.</p></li><li><p><strong>Identifying key entities, dates, and relationships (clustering data):</strong> Feed an LLM a batch of public social media posts about the <em>area</em> and <em>time frame</em> you&#8217;ve established. Ask it to extract all mentions of &#8220;construction&#8221;, &#8220;weather event&#8221;, or &#8220;unique landmark&#8221; to quickly cluster corroborating evidence.</p></li><li><p><strong>Translation of foreign language material:</strong> Use services like Google Translate or a non-sensitive LLM to translate foreign language signage, posters, or local news articles found during the geolocation phase.</p></li></ul><p><strong>&#9888;&#65039; IMPORTANT WARNING:  </strong>Don&#8217;t give public AI/LLM models source-provided or very sensitive data, like unredacted source interview transcripts or private internal files, because of the risks to data privacy and the source. Because of the high risk of hallucination, you should ALWAYS have a person check all the dates, times, and entities that AI finds. The AI gives leads and summaries, but it doesn&#8217;t give facts that can be checked.</p><div><hr></div><h4><strong>&#128640; </strong>Next steps and practice</h4><h5>Exercise to Practise</h5><p><strong>The &#8220;Construction Site Challenge&#8221;:</strong> <br>Find a recent, publicly posted video (e.g., on a local subreddit or Twitter) of a new building under construction in a major city.</p><ol><li><p><strong>Geolocate:</strong> Pinpoint the exact latitude and longitude.</p></li><li><p><strong>Chronolocate:</strong> Use the Historical Imagery Slider in Google Earth Pro to determine the exact date range (month/year) when that construction status (e.g., structural steel complete, but no cladding) was achieved.</p></li><li><p><strong>Corroborate:</strong> Search local public records or news archives for the groundbreaking/completion dates to confirm your window.</p></li></ol><div><hr></div><h4><strong>&#128214; </strong>More advanced resources</h4><ul><li><p><strong><a href="https://static.googleusercontent.com/media/earth.google.com/en//intl/ar/userguide/v4/google_earth_user_guide.pdf">Google Earth Pro Documentation</a>:</strong> In-depth instructions on how to use the measurement, 3D viewing, and historical imagery features.</p></li><li><p><strong><a href="https://www.sunearthtools.com/">SunEarthTools Solar Data</a>:</strong> A powerful calculator for analysing shadows that gives you exact solar tracking.</p></li><li><p><strong><a href="https://apps.sentinel-hub.com/eo-browser/">Sentinel Hub EO Browser</a>:</strong> You can look at recent, high-resolution public satellite images from the European Space Agency (ESA) and compare them with other images.</p></li><li><p><strong><a href="https://shademap.app/@47.36667,8.55,15z,1760965984501t,0b,0p,0m">Heliacal Shadow Calculator</a>:</strong> A specialised tool that focuses on checking the accuracy of shadow casting geometry.</p></li><li><p><strong><a href="http://www.geoguessr.com">GeoGuessr (Pro Version/Challenge)</a>:</strong> Test your geolocation skills in a high-pressure setting that is like the real thing.</p></li></ul><div><hr></div><h4><strong>&#9989; </strong>Important things to remember and investigative principles</h4><ul><li><p><strong>Geolocation is the foundation:</strong> You cannot chronolocate until you have definitively geolocated the scene. The success of the entire operation rests on identifying the exact Lat/Long.</p></li><li><p><strong>Look for change:</strong> Chronolocation is the science of identifying unique, time-sensitive changes (construction, seasonal vegetation, shadow patterns) and matching them to historical records.</p></li><li><p><strong>The &#8220;stop at the login&#8221; rule:</strong> Never engage in unauthorised access. All investigative work must be strictly limited to publicly available data.</p></li><li><p><strong>Mandatory chain of custody:</strong> The SHA-256 hash is a requirement for all evidential media. It preserves the integrity of your findings for your editor and, if necessary, a court.</p></li><li><p><strong>AI is an assistant, not a fact-checker:</strong> Use LLMs only to process non-sensitive, publicly available bulk data (summaries, translations). A human journalist must fact-check all output to prevent the spread of AI-driven hallucinations.</p><div><hr></div></li></ul><p>&#127891; <strong>Tutorials in the Deep Web, geolocation, and metadata mastery series</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;ab0bc7d9-5222-4bcb-9411-69d3eacb1a50&quot;,&quot;caption&quot;:&quot;Investigative discoveries are not often on the first page of a search. Advanced search tactics, sometimes known as &#8220;dorking,&#8221; are very important because they cut through the noise of ordinary search results, which are often full of commercial content.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Advanced search engine alchemy: Exposing hidden data with dorking, Shodan, and Censys&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-14T09:23:21.765Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91f3d7dd-27ee-416c-9dd1-b02b5523550f_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/advanced-search-engine-alchemy-exposing&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175978617,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c56088a5-1617-4bb7-b450-0692b5c68027&quot;,&quot;caption&quot;:&quot;As a journalist, verifying the who, what, where, when and why of an image is paramount. Determining an image&#8217;s exact geolocation is a critical OSINT skill and forms one of the three pillars of social newsgathering verification.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The OSINT prompt for AI-powered image geolocation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-10T10:06:33.376Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9419368e-ac64-41b7-97c8-4cd147e302c8_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175776074,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;ca12d1da-6875-4a79-861a-c3b3e59c9d6f&quot;,&quot;caption&quot;:&quot;In a time when deepfakes and easy-to-use photo-altering software are common, being able to check the authenticity and context of a photo is not only helpful but also necessary for journalistic integrity.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Unmasking image manipulation with EXIF data &amp; ELA&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-21T08:00:51.993Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5942a34-1143-4f1f-a74b-671b3f2ed73c_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/unmasking-image-manipulation-with&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176136645,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;abb26207-a392-445f-8f3e-9f92c0ea176b&quot;,&quot;caption&quot;:&quot;In a time when digital misinformation is everywhere, it&#8217;s just as important to find out where a photo, video, or event took place as it is to find out who and what it was.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Investigative geolocation: A journalist's guide to verifying time &amp; place&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-28T09:01:29.268Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/555581b6-d140-446a-af77-911572993854_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/investigative-geolocation-a-journalists&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176145552,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h4><strong>&#128065;&#65039; </strong>Coming next week&#8230;</h4><p><strong>&#128099; Tracking digital footprints: username &amp; alias correlation<br></strong>Uncover hidden connections! This tutorial explores identity stitching and resolution techniques. Learn to cross-reference usernames and aliases across platforms.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Eurovision News Spotlight! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Investigative geolocation: A journalist's guide to verifying time & place]]></title><description><![CDATA[Use shadows, street signs, and satellite data to forensically confirm the location and timeline of an image]]></description><link>https://spotlight.ebu.ch/p/investigative-geolocation-a-journalists</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/investigative-geolocation-a-journalists</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 28 Oct 2025 09:01:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ee83e2af-b7fa-4566-a10a-3a2b94717ce0_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d2A-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d2A-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!d2A-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!d2A-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!d2A-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d2A-!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:10434814,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/176145552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!d2A-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!d2A-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!d2A-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!d2A-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd6eb013-cfe3-4188-a308-d3b35fdc3e7b_6000x4000.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In a time when digital misinformation is everywhere, it&#8217;s just as important to find out where a photo, video, or event took place as it is to find out who and what it was.  </p><p>Geolocation (geolocating) is a tool that investigative journalists use to turn a piece of evidence from a simple assertion into a verifiable fact linked to a specific time and place. Geoguessing (using subtle hints to figure out where something is) is often used alongside geolocation.  </p><p>This expertise is important for finding out about human rights abuses, checking where protests are happening, keeping track of troop movements, and proving that false flag operations are not real. It gives a story a spatial context.</p><div><hr></div><h4><strong>&#128065;&#65039; </strong>Goals for learning</h4><p>By the end of this tutorial, you will be able to:</p><ul><li><p> Explain what photogrammetry, reverse image search, and geoguessing are all about.</p></li><li><p>Use sun-shadow analysis (chronolocation) to make sure you know when and where a scenario happened.</p></li><li><p>Use powerful mapping tools and visual databases to confirm a location within 10 meters.</p></li><li><p>For Chain of Custody, keep a record of your geolocation findings and store them properly.</p></li><li><p>Use AI ethically to process and group visual metadata so that investigations go faster.</p></li></ul><div><hr></div><h4><strong>&#128161; </strong>Basic ideas</h4><p> <strong>Important words</strong></p><ul><li><p><strong>Photogrammetry</strong></p><ul><li><p>The science of making measurements from photographs is often used in OSINT to calculate object sizes or distances.</p></li></ul></li><li><p><strong>Reverse Image Search: </strong></p><ul><li><p>A query technique (e.g., using Google Lens, Yandex, TinEye) that uses an image as the input to find other instances of it online and locate the original source or context.</p></li></ul></li><li><p><strong>Geoguessing: </strong></p><ul><li><p>The practice of deducing a precise physical location from visual evidence alone (signs, architecture, terrain, etc.) without explicit coordinates.</p></li></ul></li><li><p><strong>Chronolocation: </strong></p><ul><li><p>Determining the date and time a photograph or video was taken, often achieved through analysing the direction and length of shadows.</p></li></ul></li><li><p><strong>Metadata (EXIF Data): </strong></p><ul><li><p>Embedded data in a file (like an image) that can contain the camera model, date/time stamp, and sometimes <strong>GPS coordinates</strong> (must be checked first).</p></li></ul></li></ul><div><hr></div><h4><strong>&#9888;&#65039; </strong>Important for Journalists: Ethical and legal limits</h4><p><strong>Privacy and consent<br></strong>Just because an image or video is shared online doesn&#8217;t mean it&#8217;s okay to show the people in it, especially if they&#8217;re victims or private citizens.  If you are giving away the specific address of someone&#8217;s house or business, you should always blur their face or other identifying features.  </p><p>When data is made public and it leads to harassment, risk, or illegal surveillance, that crosses the ethical line. Instead of focusing on spectators' private lives, concentrate on the event and the places that are important to the public.</p><p><strong>Legal considerations<br></strong>Geolocation primarily uses publicly available data (passive OSINT), which is usually lawful.  But the line is crossed if the method includes:</p><ul><li><p><strong>Unauthorised access:</strong> Trying to get into private CCTV streams or street view archives that are password-protected.</p></li><li><p><strong>Terms of Service (ToS) violation:</strong> Mass-scraping mapping data or high-resolution images that go against a platform&#8217;s ToS.</p></li></ul><p><em><strong>Disclaimer: Journalists and news organisations must always consult their legal departments before publishing geolocated results, especially when they involve national security, ongoing conflicts, or people's safety.</strong></em></p><div><hr></div><h4><strong>&#128736;&#65039; </strong>The Method: Putting it into action step by step</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dy1x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dy1x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Dy1x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Dy1x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Dy1x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dy1x!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:1164385,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/176145552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Dy1x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Dy1x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Dy1x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Dy1x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfa672f-2036-4f12-b714-14d608ab3579_2880x1620.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>&#128119;&#8205;&#9792;&#65039; </strong>Practical execution (The &#8220;How&#8221;)</h4><p>The central part of geolocation is iterative analysis, which means looking at minor hints to find the right place.</p><p> <strong>Scenario: Finding the place of a protest from a video on social media</strong></p><ol><li><p><strong>First look and reverse search</strong></p><ol><li><p><strong>Action:</strong> Use Google Lens, Yandex or TinEye to do a reverse image search on a screenshot of a critical frame.</p></li><li><p><strong>Investigative goal:</strong> The goal of the investigation is to find the original source, date, and any previously known place or context.</p></li></ol></li><li><p><strong>Look at the big picture clues (macro clues)</strong></p><ol><li><p><strong>Action:</strong> Make a list of the most essential, unmovable things, including distinctive bridges, large public buildings, bodies of water, mountain ranges, or certain sculptures.</p></li><li><p><strong>Investigative goal:</strong> The goal of the investigation is to narrow the area down to a city or a small region.<br></p><p><strong>Example clues:</strong> &#8220;The signs are in Cyrillic, the architecture is Soviet-era brutalism, and the land is mountainous.&#8221;  <strong>Focus:</strong> Concentrate on Central Asia and Eastern Europe.</p></li></ol></li><li><p><strong>Look at the micro clues<br></strong>This is the geoguessing step, where subtle details are critical.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HhsD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HhsD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HhsD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HhsD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HhsD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HhsD!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:1326847,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/176145552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HhsD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HhsD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HhsD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HhsD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77fc9035-35a5-49d5-b60c-f6ae7d668d5d_2880x1620.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>4. <strong>Verification and measurement</strong></p><p><strong>Action:</strong> After identifying a potential location (such as a specific intersection on Street View), use Google Earth Pro&#8217;s measurement tools to align the heights and distances of objects in the video/photo with the satellite image (photogrammetry).</p><p><strong>Investigative goal:</strong> Build high trust by making sure that important details, such as the distance between a lamppost and a traffic signal, are precisely the same.</p><div><hr></div><p><strong>&#128190; The Audit Trail: Keeping Data Safe</strong></p><p>You can&#8217;t trust a geolocation until there is a clear, repeatable audit path that proves Chain of Custody.</p><ol><li><p><strong>Capture and archive:</strong> Use tools like SingleFile or a dedicated browser extension to preserve the original source page (e.g., a social networking post) as a full, unchanging HTML file.  Don&#8217;t only look at screenshots of the original post.</p></li><li><p><strong>Write down the steps (required):</strong>  Make a chronological log file, like a notebook or spreadsheet, that lists</p><ol><li><p><strong>Original URL:</strong> (The video or post on social media)</p></li><li><p><strong>When and where</strong> the picture was taken:</p></li><li><p><strong>Tools used:</strong> (for example, Yandex for R.I.S. and SunCalc parameters)</p></li><li><p><strong>Identified coordinates:</strong> (The last Lat/Long that was found)</p></li><li><p><strong>The Why:</strong> A short explanation of the main visual cues utilised to confirm (for example, &#8220;Matched unique church steeple at N48.8584, E2.2945&#8221;).</p></li></ol></li><li><p><strong>Make a Hash:</strong> Make a SHA-256 hash of the original video or image file that you downloaded and the archived HTML page. This digital signature shows that the file hasn&#8217;t changed since it was collected.<br><br><strong>Command Line Example (Linux/macOS):</strong> <em>shasum -a 256 [filename]</em><br></p></li><li><p><strong>Secure Storage:</strong> To prevent unauthorised access, save all log files, archival evidence, and hashes on an encrypted drive, such as&nbsp;<a href="https://proton.me/drive">Proton</a>&nbsp;or&nbsp;<a href="https://veracrypt.io/en/Downloads.html">VeraCrypt</a>.</p></li></ol><div><hr></div><h4><strong>&#129504; </strong>Check and analyse for reporting</h4><p> <strong>Strategy for corroboration</strong></p><ol><li><p><strong>Technical data check:</strong> To ensure the GPS coordinates are correct, verify them against at least two separate mapping sources, such as Google Earth Pro and OpenStreetMap.  If you&#8217;re looking for a building, check old photos to make sure it was there at the time of the event.</p></li><li><p><strong>External source check:</strong> Verify outside sources to ensure the broad area aligns with non-visual data, such as local news reports, government databases, or public documents that discuss occurrences in that area or involve the features found.  For instance, if you observe a one-of-a-kind building, look for planning applications for that address in your area.</p></li></ol><p><strong>Connecting data to story:</strong> Geolocation findings must be transformed from technical data into journalistic facts that anyone can verify.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ob8u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ob8u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ob8u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ob8u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ob8u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ob8u!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg" width="1200" height="502.37121831561734" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:512,&quot;width&quot;:1223,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:140752,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/176145552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ob8u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ob8u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ob8u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ob8u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe99aa4a-5ddf-405c-aebe-57a153fddf49_1223x512.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h4><strong>&#129302; </strong>AI Assistance in Analysis</h4><p>For advanced geospatial analysis, journalists need to use multimodal AI models (that can ingest and understand visual data) rather than text-based LLMs.  An AI can&#8217;t &#8220;geolocate&#8221; a target image on its own (it needs maps and confirmation from a person), but it can quickly and efficiently analyse small visual clues, which speeds up the work of the human geolocator.</p><p><strong>AI techniques for accelerating geolocation: R.A.F.T.</strong></p><p>R.A.F.T. is a framework adopted by the Eurovision Social Newswire and Spotlight teams for a wide range of daily research and analysis tasks. From geolocation to web scraping to data analysis, R.A.F.T. is a portable, reusable asset that provides a solid structure upon which to build for non-editorial tasks and tailors the output to the journalist&#8217;s needs.</p><pre><code><code>Role (R): Assign a persona (e.g., &#8220;Forensic Accountant,&#8221; &#8220;Legal Verification Expert&#8221;) - Ensures the AI uses the appropriate industry terminology and level of scepticism. </code></code></pre><pre><code><code>Action (A): Define the specific, measurable task - Prevents generic text. Focuses AI on the immediate, time-critical task.</code></code></pre><pre><code><code>Format (F): Demand a specific, usable output structure (e.g., Markdown table, JSON, bullet points) - Makes data instantly ready for a spreadsheet, map, or article bullet list.</code></code></pre><pre><code><code>Tone (T): Set the language, perspective, or scepticism (e.g., &#8220;Neutral and objective,&#8221; &#8220;Sceptical&#8221;) - Prevents the AI from injecting hyperbolic or opinionated language.</code></code></pre><ul><li><p><strong>Feature identification and labelling:</strong> You can upload the picture and ask the AI to &#8220;Identify the utility pole structure style and compare it to documented regional standards,&#8221; or &#8220;Transcribe all non-English text visible on signs and posters.&#8221; Both of these give you instant keywords for map searches.</p></li><li><p><strong>Pre-analysis of temporal clues:</strong> The AI is asked to determine the azimuth (direction) of the main shadow and the altitude (height) of the sun from the length of the shadow. This gives SunCalc an initial hypothesis to work with.</p></li></ul><p>For more on using AI prompting for geolocation: </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bb075d10-9da2-48af-8e37-bd231b989f08&quot;,&quot;caption&quot;:&quot;As a journalist, verifying the who, what, where, when and why of an image is paramount. Determining an image&#8217;s exact geolocation is a critical OSINT skill and forms one of the three pillars of social newsgathering verification.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The OSINT prompt for AI-powered image geolocation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-10T10:06:33.376Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9419368e-ac64-41b7-97c8-4cd147e302c8_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175776074,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p><strong>&#9888;&#65039; IMPORTANT WARNING: The risk of hallucination and privacy<br><br></strong>Never send sensitive, source-provided, or private data (like private login information or parts of confidential documents) to public LLMs. This could expose the source and violate privacy. </p><p>Use only private, dedicated enterprise AI solutions or models on closed systems for sensitive information. </p><p>Because of the high risk of hallucination, people need to check all AI-processed data against the original source documents and pictures.  A human journalist must verify every fact reported by the AI using a source other than the AI itself.</p><div><hr></div><h4>&#128640; Next Steps and Practice</h4><h5><strong>Exercise to Practise</strong></h5><p><strong>The &#8220;tourist clue&#8221; challenge</strong>  </p><ul><li><p>Get a vacation picture from a friend or family member that shows only a certain building facade and a small part of a road sign in a different country.  </p></li><li><p>Use the visual clues (building, language, sign colour/shape, and shadow angle/time) to find the exact intersection without asking them.  </p></li><li><p>Check your accuracy by comparing your final latitude and longitude with theirs.</p></li></ul><div><hr></div><h4>&#127758; Advanced Resources Geolocating Methods:</h4><ol><li><p><strong><a href="https://www.suncalc.org/#/27.6936,-97.5195,3/2025.10.20/12:12/1/3">SunCalc</a></strong> is an interactive map that shows the sun's position and the shadow (chronolocation) at any time and place.</p></li><li><p><strong><a href="https://pimeyes.com/en">PimEyes</a></strong> and <strong><a href="https://facecheck.id/">FaceCheck</a></strong> are advanced reverse image search engines that can help you find the original social media post if you can see the face. Be very careful when using this.</p></li><li><p><strong><a href="https://www.sentinel-hub.com/">Sentinel Hub</a></strong> is an open-source platform that lets you view high-resolution satellite imagery (which is helpful for hard-to-reach areas).</p></li></ol><div><hr></div><p> <strong>&#9989; Important things to remember and investigative principles</strong></p><ul><li><p><strong>Put the micro clues first:</strong>  A power line, a distinctive streetlamp, or a painted curb are just a few of the small, one-of-a-kind things that set a city apart from an intersection.</p></li><li><p><strong>Always double-check:</strong> At least two independent mapping sources, and your own derived Chronolocation, must confirm your final Lat/Long.</p></li><li><p><strong>Document everything:</strong> A chain of custody (logs, hashes, archival sources) is not up for discussion.  Without it, what you found is just an accusation, not a fact that can be proven.</p></li><li><p><strong>Ethical constraint:</strong> Don&#8217;t tell anyone where private individuals or victims are, just because you can find them on a map.  Privacy considerations must come after the public&#8217;s interest.</p></li><li><p><strong>AI is a tool, not a final check:</strong> LLMs can translate and process, but they can&#8217;t check facts.  The journalist is responsible for the final check of all technical data.</p></li></ul><div><hr></div><h4><strong>&#128065;&#65039; </strong>Coming next week&#8230;</h4><p><strong>&#129517; Mastering Video Verification and Chronolocation</strong><br>We will go from still pictures to moving video and learn how to check its authenticity and timestamp. This tutorial will show you how to use Google Historical Imagery (Earth Pro, Maps, Timelapse) to compare landmarks, changes in construction, and cycles of vegetation. In the end, it will show you when a video was recorded and turn simple footage into reliable, chronological proof.</p><div><hr></div><p>&#127891; <strong>Other tutorials in the Deep Web, geolocation, and metadata mastery series</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;5c871aec-ed63-4b48-bcb9-c5496dc784d9&quot;,&quot;caption&quot;:&quot;Investigative discoveries are not often on the first page of a search. Advanced search tactics, sometimes known as &#8220;dorking,&#8221; are very important because they cut through the noise of ordinary search results, which are often full of commercial content.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Advanced search engine alchemy: Exposing hidden data with dorking, Shodan, and Censys&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-14T09:23:21.765Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91f3d7dd-27ee-416c-9dd1-b02b5523550f_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/advanced-search-engine-alchemy-exposing&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175978617,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8dc984fb-7b73-4ad1-bfe8-ff8128b3f58e&quot;,&quot;caption&quot;:&quot;As a journalist, verifying the who, what, where, when and why of an image is paramount. Determining an image&#8217;s exact geolocation is a critical OSINT skill and forms one of the three pillars of social newsgathering verification.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The OSINT prompt for AI-powered image geolocation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-10T10:06:33.376Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9419368e-ac64-41b7-97c8-4cd147e302c8_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175776074,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a36cc5c0-a559-46a7-84f7-190812b59ed0&quot;,&quot;caption&quot;:&quot;In a time when deepfakes and easy-to-use photo-altering software are common, being able to check the authenticity and context of a photo is not only helpful but also necessary for journalistic integrity.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Unmasking image manipulation with EXIF data &amp; ELA&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-21T08:00:51.993Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5942a34-1143-4f1f-a74b-671b3f2ed73c_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/unmasking-image-manipulation-with&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176136645,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Eurovision News Spotlight! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Unmasking image manipulation with EXIF data & ELA]]></title><description><![CDATA[Verify photo authenticity, detect deepfakes, and preserve the chain of evidence]]></description><link>https://spotlight.ebu.ch/p/unmasking-image-manipulation-with</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/unmasking-image-manipulation-with</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 21 Oct 2025 08:00:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7f7f7cc5-7ce2-4ba4-8b6f-fd9bb4264462_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nhFz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nhFz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nhFz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nhFz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nhFz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nhFz!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:6280786,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/176136645?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nhFz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nhFz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nhFz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nhFz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5be2f512-bc39-4f79-8d78-fb493c1130de_8256x5504.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In a time when deepfakes and easy-to-use photo-altering software are common, being able to check the authenticity and context of a photo is not only helpful but also necessary for journalistic integrity.</p><p>You can change source photos to change the facts, trick people, or frame people in a deceptive way. </p><p>To determine where a digital image originated and whether it is real, journalists need to go beyond merely examining it and utilise forensic methods like EXIF data analysis and Error Level Analysis (ELA). This skill is essential for high-stakes investigations where photographic evidence is crucial to the story.</p><div><hr></div><p><strong>&#128065;&#65039; Goals for learning</strong></p><ul><li><p>Learn how to get and understand Exchangeable Image File Format (EXIF) metadata.</p></li><li><p>Learn how to find important geographical (GPS) and temporal (date/time) information in an image file.</p></li><li><p>Learn the basics of Error Level Analysis (ELA) and how to use it to find fake digital documents.</p></li><li><p>Establish a standard method to maintain the Chain of Custody for photographic evidence.</p></li></ul><div><hr></div><h4>&#128161; Basic ideas</h4><p><strong>Important words</strong></p><ul><li><p><strong>EXIF data:</strong> </p><ul><li><p>The Exchangeable picture File Format is a standard for storing metadata in digital picture files like JPEG and TIFF. It has details about the camera, settings, date and time, and sometimes GPS locations.</p></li></ul></li><li><p><strong>Metadata:</strong> </p><ul><li><p>Data that tells you about other data. In OSINT, it&#8217;s often file information that isn&#8217;t visible.</p></li></ul></li><li><p><strong>Error Level Analysis (ELA):</strong> </p><ul><li><p>A forensic method that looks at the small variances in the JPEG compression error rate across an image to find image manipulation. These differences are usually uniform in an untreated image but not in a manipulated one.</p></li></ul></li><li><p><strong>Chain of custody:</strong></p><ul><li><p> The chronological record or paper trail that shows the seizure, custody, control, transfer, analysis, and disposal of physical or electronic evidence.</p></li></ul></li><li><p><strong>Stenography:</strong></p><ul><li><p>The act of hiding a file, message, image, or video inside another file, message, image, or video. Sometimes, ELA can show this.</p></li></ul></li></ul><div><hr></div><h4>&#9888;&#65039; Important for journalists: Ethical and legal limits</h4><p><strong>Privacy and consent</strong><br>EXIF data might include very private information, such as the exact GPS coordinates (latitude and longitude) of where a photo was shot. This could put a source at risk or reveal a private location.</p><p><strong>Ethical duty</strong><br>Always hide or remove sensitive EXIF data before publishing to ensure privacy and source security.</p><p><strong>The &#8220;Public Domain&#8221; limit</strong><br>You can only use data that is available to everyone and can be shared legally. Don&#8217;t ever try to guess login information or get into private systems by looking at the filename or other metadata.</p><p><strong>Things to think about legally<br></strong>Verification is Required: All forensic results, including EXIF and ELA, are merely technical results. Before you report these as facts, you need to back them up with journalistic methods like interviews, records, and independent checks.</p><p><em><strong>Disclaimer: Depending on where you live, using forensic tools and techniques on publicly available data could have legal consequences. Always talk to your news organisation&#8217;s lawyers about the best methods to handle, keep, and report digital evidence.</strong></em></p><div><hr></div><h4>&#128736;&#65039; The Method: Putting it into action step-by-step</h4><p><strong>Tools and setup needed</strong></p><p><strong>ExifTool Command-Line tool:</strong> The standard for reading, creating, and altering metadata in almost any file type. Put it on a separate OSINT Virtual Machine (VM) or Secure Operating System.</p><p><strong>Browser Extension for dedicated browser:</strong> For rapid tests, use Exif Viewer extensions like <a href="https://github.com/ElevenPaths/FOCA">FOCA</a> for desktop or simple web viewers. Only use on photographs that don&#8217;t need a lot of detail; command-line tools are more dependable.</p><p><strong><a href="https://fotoforensics.com/">Online ELA Tool from FotoForensics:</a></strong>  A tool on the web for rapid, basic ELA and signature analysis. Use only for photographs that are available to the public and are not sensitive.</p><p><strong>Secure VM OS:</strong> A dedicated machine, like <a href="https://tails.net/">Tails</a> or a regular OS that has been hardened with security settings. It is essential to keep personal information separate from investigative work.</p><div><hr></div><h4><strong>&#128119;&#8205;&#9792;&#65039; </strong>How to put it into practice</h4><p><strong>Scenario 1: Checking an image&#8217;s source and time</strong></p><p><strong>Aim:</strong> Find out where and when a key piece of photographic evidence was made and what device was used.</p><p><strong>Download the image safely:</strong> Directly save the original image file to your safe VM or isolated storage. Don&#8217;t take a screenshot of the picture because it makes a new file with new metadata.</p><p>To run ExifTool, open your terminal in the folder where the image is stored and type in the basic command.</p><pre><code>Bash

# Command to generate SHA-256 hash on most Linux/macOS systems
sha256sum original_image.jpg &gt; hash_log.txt</code></pre><p><strong>Important EXIF interpretation:</strong> Look over the output for the most useful fields:</p><ul><li><p><strong>GPS Latitude and Longitude:</strong> The exact place where the snapshot was taken. Use a tool like latlong.net to find the coordinates.</p></li><li><p><strong>Date/time original/create date:</strong> The exact time the shutter was pressed. Be careful with your timezone settings!</p></li><li><p><strong>Make and model:</strong> This tells you what kind of device it is (for example, Nikon D850 or Apple iPhone 17).</p></li><li><p><strong>Software:</strong> This can refer to editing software (like Adobe Photoshop 2024), which clearly indicates that something has been changed.</p></li></ul><p><strong>Table of actionable EXIF data:</strong></p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/PKEIN/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5620eb23-702b-415d-875d-188dce369547_1220x558.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55b87fa7-2655-4d9a-8e78-29aec48f297e_1220x558.png&quot;,&quot;height&quot;:269,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/PKEIN/1/" width="730" height="269" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>Scenario 2: Evaluating an image for digital alteration (ELA)</strong></p><p><strong>Goal:</strong> Find out if a part of the picture (such as a person or an object) was added or changed digitally.</p><ol><li><p><strong>Upload to ELA tool:</strong> Use a trusted online ELA tool like FotoForensics or a desktop program like GIMP with a plugin to upload the image.</p></li><li><p><strong>Look at the ELA output:</strong> The ELA tool will create a new image that displays the error levels, typically using different colours or intensities. The error level over the whole image should be quite even and bright.</p></li><li><p><strong>Modified/manipulated areas:</strong> The error level will be very different (typically considerably darker or lighter/sharper) in areas that have been cut, added to, or modified because of re-compression or a different original compression signature.</p></li><li><p><strong>Examine:</strong> Look for a clear, sharp line between a bright area (the original image) and a dark or dull area (the inserted element or heavy re-save), especially around the edges of things or words that you think might be there.</p></li></ol><div><hr></div><p><strong>&#128190; Keeping data safe: The audit trail</strong></p><p>For all digital evidence in journalism, it is necessary to establish a Chain of Custody.</p><ul><li><p><strong>Original file isolation:</strong> Move the file you just downloaded right away to a secure storage folder where it can&#8217;t be changed by mistake.</p></li><li><p><strong>Hash generation:</strong> Create a cryptographically secure hash of the original file and all subsequent files, such as the ELA picture. The SHA-256 hash is the standard.</p></li></ul><pre><code>Bash

# Command to generate SHA-256 hash on most Linux/macOS systems
sha256sum original_image.jpg &gt; hash_log.txt</code></pre><p><strong>Comprehensive logging:</strong> Log every single action in a contemporaneous audit log:</p><ul><li><p>Date and time of file download.</p></li><li><p>Source URL or method of acquisition.</p></li><li><p>The <strong>SHA-256 hash</strong> of the original file.</p></li><li><p>Every tool used (ExifTool version, FotoForensics URL/date).</p></li><li><p>The results of the analysis (e.g., &#8220;EXIF data shows GPS coordinates...&#8221;, &#8220;ELA output is consistent with a re-saved original&#8221;).</p></li></ul><div><hr></div><h4><strong>&#129504;</strong> Verification and analysis for reporting</h4><p><strong>Strategy for corroboration</strong></p><p>Technical data is not proof; it is evidence. It has to be verified.</p><ol><li><p><strong>Geospatial corroboration:</strong> If the EXIF data gives you coordinates, utilise at least two different mapping services (like Google Earth/Maps and Bing Maps, or a satellite imagery resource like Sentinel Hub) to make sure the photo matches the real area and features (such as buildings and unique landmarks).</p></li><li><p><strong>Temporal corroboration:</strong> Check the EXIF timestamp against local weather reports, aircraft logs, or publicly recorded activities for that date and time to ensure the photo could have been taken then.</p></li><li><p><strong>Manipulation corroboration:</strong> whether ELA suggests manipulation, use a second analysis tool that is completely different from the first one (such a desktop ELA software) to process the image and check whether the abnormality happens again. A convincing manipulation finding must be robust enough to endure independent, expert examination.</p></li></ol><p><strong>Connecting data to story</strong></p><p>It is important for clarity and effect to turn raw technical discoveries into verifiable journalistic facts.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/8An0K/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c684b12-240f-4f38-94dd-8cdf9a8a28aa_1220x696.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0bea5868-d4c1-4fe0-929a-7589c461503f_1220x696.png&quot;,&quot;height&quot;:338,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/8An0K/1/" width="730" height="338" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h4><strong>&#129302; </strong>AI Assistance in analysis</h4><p>AI and LLMs can help with processing textual metadata, but they need to be used very carefully.</p><p><strong>Summarising large documents or log files:</strong> If your OSINT operation generates extensive text-based logs, such as a large ExifTool output with thousands of items, you can use an LLM to quickly summarise the most important information. </p><p><strong>Example Prompt using the R.A.F.T model:</strong> </p><pre><code>Role: Metadata Analyst / Investigative Team Contributor

Audience: Lead Investigative Journalist / Editorial Board

Format: Data-Driven Analytical Report based on a provided CSV log of EXIF data.

Topic/Task: Analyze the provided EXIF data (CSV log) to identify trends in image capture, editing, and timeline anomalies. Ensure all foreign-language metadata for camera models and software is translated and presented in English.

Your analysis must address the following four deliverables:

Top Camera Models: List the five most frequently used camera models (from the &#8216;Model&#8217; field).

Software Analysis: Examine the &#8216;Software&#8217; field entries. Consolidate related software versions (e.g., &#8216;Adobe Photoshop CC 2021&#8217; and &#8216;Adobe Photoshop CC 2022&#8217; should be grouped under &#8216;Adobe Photoshop CC&#8217;) and identify the single most common editing tool used.

Timeline Anomalies (Grouping Data): Group the image records by &#8216;Date/Time Original&#8217; and flag any records where the &#8216;Modify Date&#8217; is more than three (3) months after the &#8216;Original Date&#8217;.

Summary: Based on your findings from deliverables 1, 2, and 3, provide a concise, two-paragraph summary outlining the dominant equipment (cameras), the primary post-processing software used, and any significant timeline anomalies noted. This summary should be suitable for inclusion in a preliminary investigative report.</code></pre><h4>&#9888;&#65039; IMPORTANT WARNING: The risk of hallucination and privacy</h4><p><strong>Risk of hallucination:</strong> LLMs are likely to see things that aren&#8217;t there. Never say that something an AI found or summarised is true without having a human evaluate it against the original data.</p><p><strong>Privacy concern:</strong> Don&#8217;t put private, sensitive, or confidential data from a source into public LLM platforms like ChatGPT or Gemini Public. You could lose your sources and your research if this data is used to train the model. Use AI technologies that have been checked out by the institution, or solely with data that is available to the public.</p><div><hr></div><h4><strong>&#128640; </strong>Next steps and practice</h4><h5>Exercise to practise</h5><ul><li><p>Look for a current news shot of a big breaking story. Click the right mouse button and save the picture.</p></li><li><p>Use ExifTool to get all of the metadata.</p></li><li><p>Find the GPS coordinates. If you find them, put them on a map.</p></li><li><p>Use FotoForensics (or a similar ELA tool) to look at the picture. Look for any bright or dark spots that don&#8217;t match up. This could mean that a logo, text, or item was copied into the picture.</p></li><li><p>Write down what you found and make a SHA-256 hash of the original file.</p></li></ul><div><hr></div><h4><strong>&#128214; </strong>More advanced resources</h4><ol><li><p><strong><a href="https://exiftool.org/exiftool_pod.html">ExifTool Documentation</a>:</strong> The official manual is the best place to find information about every tag and command.</p></li><li><p><strong><a href="https://forensics.wiki/">Forensic Wiki on ELA</a>:</strong> A thorough, technical look at the principles and limits of Error Level Analysis.</p></li><li><p><strong><a href="https://openminds.exopaedia.org/EXIF%20samples/exif%2069667671.egLsAwK4.Staroselciweb64_6625.htm">Jeffrey&#8217;s Image Metadata Viewer</a>:</strong> A great web viewer that often shows metadata fields that aren&#8217;t very well known.</p></li></ol><div><hr></div><h4>&#9989; Important things to remember and investigative principles</h4><ul><li><p><strong>EXIF is like a fingerprint:</strong> When you see an image in the Exchangeable Image File Format, think of it as the image&#8217;s embedded, non-repudiable fingerprint. It has information about the time, place, and device.</p></li><li><p><strong>ELA is the truth detector:</strong> Error Level Analysis is the most essential tool you have that doesn&#8217;t harm files to find digital manipulation by looking for differences in compression.</p></li><li><p><strong>Stop at the Hash:</strong> The first thing you should do when you get a file is to make and record its SHA-256 hash to ensure a verifiable Chain of Custody.</p></li><li><p><strong>Check everything:</strong> Technical information (such as EXIF coordinates and ELA anomalies) is not a fact; it needs to be checked against at least two separate journalistic sources.</p></li><li><p><strong>Privacy first:</strong> Never share sensitive EXIF data (particularly GPS) without the source&#8217;s clear permission or a strong public interest reason.</p></li></ul><div><hr></div><h4><strong>&#128065;&#65039; </strong>Coming next week&#8230;</h4><p><strong>&#127760; Pinpointing location with subtle visual clues</strong><br>Next week, we&#8217;re diving into the essential art and science of geolocation&#8212;pinpointing a location using only subtle visual clues in an image. In a crisis or breaking news situation, knowing the exact time and place a piece of media was created is paramount. This tutorial will empower you to become a visual intelligence detective, transforming common image elements into solid geographic evidence.</p><p>&#127891; <strong>Other tutorials in the Deep Web, geolocation, and metadata mastery series</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;8a1c1b7e-0476-41d8-8ee0-e6403f4873c6&quot;,&quot;caption&quot;:&quot;Investigative discoveries are not often on the first page of a search. Advanced search tactics, sometimes known as &#8220;dorking,&#8221; are very important because they cut through the noise of ordinary search results, which are often full of commercial content.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Advanced search engine alchemy: Exposing hidden data with dorking, Shodan, and Censys&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-14T09:23:21.765Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91f3d7dd-27ee-416c-9dd1-b02b5523550f_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/advanced-search-engine-alchemy-exposing&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175978617,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f3a46641-c2a0-4d27-8d7e-3a192fec2c3e&quot;,&quot;caption&quot;:&quot;As a journalist, verifying the who, what, where, when and why of an image is paramount. Determining an image&#8217;s exact geolocation is a critical OSINT skill and forms one of the three pillars of social newsgathering verification.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The OSINT prompt for AI-powered image geolocation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-10T10:06:33.376Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9419368e-ac64-41b7-97c8-4cd147e302c8_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175776074,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c76809be-0525-4fa7-ae03-49589b00908c&quot;,&quot;caption&quot;:&quot;In a time when digital misinformation is everywhere, it&#8217;s just as important to find out where a photo, video, or event took place as it is to find out who and what it was.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Investigative geolocation: A journalist's guide to verifying time &amp; place&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-28T09:01:29.268Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/555581b6-d140-446a-af77-911572993854_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/investigative-geolocation-a-journalists&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176145552,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Eurovision News Spotlight! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Advanced search engine alchemy: Exposing hidden data with dorking, Shodan, and Censys]]></title><description><![CDATA[Unlocking files, servers, and sensitive data hidden in plain sight]]></description><link>https://spotlight.ebu.ch/p/advanced-search-engine-alchemy-exposing</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/advanced-search-engine-alchemy-exposing</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Tue, 14 Oct 2025 09:23:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/beb295b7-5ae6-4f3a-b8ba-67931445848d_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C0aI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C0aI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg 424w, https://substackcdn.com/image/fetch/$s_!C0aI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg 848w, https://substackcdn.com/image/fetch/$s_!C0aI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!C0aI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C0aI!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:5956094,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/175978617?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C0aI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg 424w, https://substackcdn.com/image/fetch/$s_!C0aI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg 848w, https://substackcdn.com/image/fetch/$s_!C0aI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!C0aI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb0d437-afb2-467e-8508-313dbf862f81_8554x5703.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Investigative discoveries are not often on the first page of a search. Advanced search tactics, sometimes known as &#8220;dorking,&#8221; are very important because they cut through the noise of ordinary search results, which are often full of commercial content. </p><p>They help journalists find and disclose files, database dumps, sensitive system configurations, and misconfigured assets that were accidentally made public but are still indexed by search engines. </p><p>This feature turns a regular search engine into a powerful forensic tool that can help find key evidence for tales about financial fraud, government mistakes, and cybersecurity breaches.</p><div><hr></div><p><strong>&#128065;&#65039; Goals for Learning</strong></p><p> When you&#8217;re done with this tutorial, you&#8217;ll be able to:</p><ul><li><p>Learn how to utilise complex Boolean operators and Google Dorks to find specific file kinds and server information.</p></li><li><p>Use Google Custom Search Engines (CSEs) and syntax that is specific to each platform to search social media and speciality sites like Telegram.</p></li><li><p>Use Shodan and Censys to explore the open internet, identify an organisation&#8217;s digital footprint, and find services available to the public.</p></li><li><p>Set up a chain of custody for digital evidence to make sure it stays safe and can be used in court.</p></li><li><p>Use AI technologies responsibly to look at big datasets while lowering the chance of hallucination.</p></li></ul><div><hr></div><h4>&#128161; Basic Ideas</h4><p><strong>Important Words</strong></p><ul><li><p><strong>Google Dorking:</strong></p><ul><li><p>Using advanced search operators (such as filetype: and inurl:) to find specific, often private, information that search engines have made public.</p></li></ul></li><li><p><strong>Google CSE (Custom Search Engine):</strong></p><ul><li><p>A search engine that uses Google&#8217;s index but only searches a certain set of domains (for example, just .gov sites or a selected list of Telegram channels).</p></li></ul></li><li><p><strong>Passive OSINT:</strong></p><ul><li><p>Getting publicly available information without directly interacting with the target system (for example, utilising Google Dorks, Shodan, or CSEs). This is the best and safest way to do things.</p></li></ul></li><li><p><strong>Shodan/Censys:</strong></p><ul><li><p>These are specialised search engines that scan and index the Internet of Things (IoT) and connected devices. They provide you with information on open ports, services, banners, and data on hardware and software versions.</p></li></ul></li><li><p><strong>Chain of Custody:</strong> </p><ul><li><p>A very important written method follows digital evidence from collection to final presentation, ensuring it is real and hasn&#8217;t been altered.</p></li></ul></li></ul><div><hr></div><h4>&#9888;&#65039; Important for Journalists: Moral and Legal Limits</h4><p><strong>Privacy and Consent<br></strong>The &#8220;Stop at the Login&#8221; Rule is the most important rule for ethical OSINT: Don&#8217;t try to get around any password, login prompt, or access protection. Anyone can see publicly indexed content, and it&#8217;s lawful to use a Dork to access it. It is against the law and wrong to try to log in, scan, or probe a system directly to get access. Even if sensitive data is made public, it must be treated with the utmost care regarding the privacy of those who are not public figures.</p><p><strong>Things to think about legally<br></strong>It is okay to utilise tools like Shodan and Censys to look for their publicly available data. Still, you should know that scanning or port sweeping a target&#8217;s network without their consent could break anti-hacking or computer fraud laws (such as the CFAA in the U.S.). Don&#8217;t do anything that would be considered unauthorised access or a denial-of-service attack. You can only use these tools to ask questions about the data they have already collected.</p><p><em><strong>Disclaimer: Before looking into any system vulnerabilities or disclosed non-public data, you should talk to your news organisation&#8217;s legal counsel.</strong></em></p><div><hr></div><h4>&#128736;&#65039; The Method: Putting It into Action Step by Step </h4><p><strong>Tools and Setup Needed</strong></p><p><strong>Dedicated Virtual Machine (VM) or Sandbox Browser:</strong> For all of your OSINT work, use a separate environment, either a Linux VM or a dedicated browser profile. This keeps your main computer safe and lowers the chance that your identity will be revealed.</p><p><strong>VPN/TOR:</strong> To be anonymous and hide your location when searching, use a trusted commercial VPN or the <a href="https://www.torproject.org/download/">Tor Browser</a>.</p><p><strong>Hashing Tool:</strong> A simple program that makes <a href="https://emn178.github.io/online-tools/sha256.html">SHA-256 hashes</a>, like built-in command-line utilities or a separate hash generator.</p><p><strong>Web Archiving Tool:</strong> Use services like <a href="https://web.archive.org/">The Wayback Machine </a>or specialist browser extensions like <a href="https://hunch.ly/">Hunchly</a> or <a href="https://www.pagefreezer.com/">PageFreezer</a> to save proof.</p><p><strong>Accounts:</strong> You can get free or paid access to <a href="https://www.shodan.io/">Shodan</a> and <a href="https://search.censys.io/">Censys</a> to learn more about devices and servers.</p><h4><br>&#128119;&#8205;&#9792;&#65039; Practical execution (The &#8220;How&#8221;)</h4><p><strong>Scenario 1: Auditing a Company&#8217;s Exposed Internal Documents (Advanced Google Dorking)</strong></p><p><strong>Investigative Goal:</strong> Locate publicly available PDF, Excel, or PowerPoint files on a target company&#8217;s site that contain the keywords &#8220;budget,&#8221; &#8220;confidential,&#8221; or &#8220;Q3 earnings.&#8221;</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/fCAZS/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8cecd7b-4577-4a20-b6d0-02706034b7d2_1220x850.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/991c0ef8-09df-4a9f-a178-55c11459ef1c_1220x850.png&quot;,&quot;height&quot;:415,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/fCAZS/1/" width="730" height="415" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>Scenario 2: Using Google CSEs and Platform Syntax to Mine Social and Niche Platforms</strong></p><p>A Google Custom Search Engine (CSE) is an invaluable tool for journalists, as it allows you to apply the power of Google&#8217;s operators to a hand-picked list of sites (like a list of activist blogs, a nation&#8217;s government websites, or, famously, a list of indexed public social channels).</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/c5jD5/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f990d0d-65a6-4ff7-a583-6ed1d84b9946_1220x1042.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fd531500-ffed-4102-98d1-b1e988976efa_1220x1042.png&quot;,&quot;height&quot;:511,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/c5jD5/1/" width="730" height="511" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>Scenario 3: Checking the Security Posture of a Target (Shodan and Censys)</strong></p><p>These apps work like &#8220;search engines for the internet of things,&#8221; giving you a quick look at services that are open to the public.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/ktzpc/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03b65b29-86a4-4d42-b2d4-2eea5999687b_1220x1042.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1dd40896-52dd-4240-9b2f-48a468577a68_1220x1042.png&quot;,&quot;height&quot;:526,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/ktzpc/1/" width="730" height="526" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><p><strong>&#128190; The Audit Trail: Keeping Data Safe</strong></p><p>Establishing a Chain of Custody is not optional; it distinguishes an unproven lead from evidence that can be used in court.</p><ol><li><p><strong>Capture the Artefact:</strong> Don&#8217;t just take screenshots of the search results page. You need to either save the page or download the file. To get the whole page (including the HTML source and headers) with a timestamp that can&#8217;t be changed, use a tool like Hunchly or PageFreezer.</p></li><li><p><strong>Make a Hash:</strong> As soon as you download a file (such as a PDF or spreadsheet) or take a picture of a webpage, make a SHA-256 cryptographic hash of it. This one-of-a-kind alphanumeric string shows that the file is safe. Even a single space in the file will change the hash completely.</p><ol><li><p><strong>Windows:</strong> Get-FileHash -Algorithm SHA256 C:\path\to\file.pdf.pdf</p></li><li><p><strong>For Linux and macOS:</strong> use shasum -a 256 /path/to/file.pdf</p></li></ol></li><li><p><strong>Log the Evidence:</strong> Make an unchangeable record of the following in a secure spreadsheet or database:</p><ol><li><p><strong>Date and Time of Collection (in UTC):</strong> YYYY-MM-DD HH:MM:SS UTC</p></li><li><p><strong>Query: </strong>The precise query string was used for the investigation.</p></li><li><p><strong>Source URL:</strong> The complete URL of the artefact that was created.</p></li><li><p><strong>SHA-256 Hash:</strong> The hash that was made.</p></li><li><p><strong>Collector:</strong> Your name and investigator ID.</p></li></ol></li></ol><div><hr></div><h4>&#129504; Check and Analyse for Reporting</h4><p><strong>Strategy for Corroboration</strong></p><p>The first search result is a lead, not a fact. Always check technical results against other sources that are not related to the work:</p><p><strong>IP Address:</strong> To ensure that an IP address detected by Shodan (for example, one hosting a susceptible database) belongs to or is associated with the target business, it must be checked against Whois information, DNS lookups, or Certificate Transparency logs (like those in Censys).</p><p><strong>File Content:</strong> You need to check the primary claims and financial numbers in a file you found using Dorking against at least two additional independent sources, such as a public financial disclosure, a company statement, or a separate whistleblower document.</p><p><strong>Geolocation:</strong> If a dork finds a social media post, you can utilise reverse image search, shadow/sun analysis, and comparison of satellite images (like Google Earth) to make sure the photo is real.</p><p><strong>Connecting Data to Story</strong></p><p>Technical data is not easily understandable. You need to turn it into facts that are easy to understand and verifiable.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/WyDwi/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6df96cea-1106-48df-80eb-02dcc9e7acdc_1220x1074.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0200ac7b-9d25-4268-ad52-c634e9144c2a_1220x1074.png&quot;,&quot;height&quot;:479,&quot;title&quot;:&quot;| Created with Datawrapper&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/WyDwi/1/" width="730" height="479" frameborder="0" scrolling="no"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h4>&#129302; AI Assistance in Analysis </h4><p>AI/LLMs can be very helpful for analysts, but they should never be utilised as the main source or to check facts.</p><p><strong>Summarising Big Documents:</strong> Upload a publicly indexed 500-page PDF (such a policy or legal filing) and tell the LLM to find &#8220;all mention of dates, people, and financial values over $1M.&#8221; This saves hundreds of hours of manual review.</p><p><strong>Finding Important People and Grouping Them:</strong> Give an LLM a cleaned-up list of 1,000 email addresses you got through dorking and ask it to group them by department (for example, finance@, hr@, support@) to figure out how the company is set up.</p><p><strong>Translation:</strong> Use AI to quickly translate documents written in other languages, such as a Russian log file or an Arabic contract, so the investigation can proceed smoothly.</p><h4>&#9888;&#65039; IMPORTANT WARNING: The risk of hallucination and privacy</h4><ul><li><p><strong>Hallucination Risk (NEVER Trust):</strong> LLMs are designed to generate language that sounds believable, not to verify facts. They often make up sources, dates, and even whole documents. Every piece of data, number, date, or entity name provided by the AI must be checked by a person against the original source document. You need to access the source file and check if the AI says the date is &#8220;March 15, 2025.&#8221;</p></li><li><p><strong>Privacy Warning (NEVER Upload):</strong> Don&#8217;t ever upload sensitive, source-provided, or non-public data (such as PII) to an AI/LLM service that is open to the public. Public models use your information to train their algorithms, which means that a lot of data is leaked, and your source&#8217;s security is put at risk. Only use enterprise models that are safe, self-hosted, or validated and have a policy that guarantees no logging or training for this kind of material.</p></li></ul><div><hr></div><h4>&#128640; Next Steps and Practice </h4><h5> Exercise to Practise</h5><p> <strong>The Policy That Leaks:</strong></p><ul><li><p><strong>Goal:</strong> Find public documents on a big, well-known university&#8217;s website that talk about &#8220;COVID-19 policy&#8221; and include a staff member&#8217;s entire &#8220;personal email address.&#8221;</p></li><li><p><strong>Query:</strong> Use the site:, filetype:, and intext: operators to search for .pdf files on a big university domain (like site:harvard.edu) that have the words &#8220;COVID-19 policy&#8221; AND &#8220;@university.edu&#8221; in them.</p></li><li><p><strong>Task:</strong> Your first step in making a Chain of Custody log is to download any document you find and make its SHA-256 hash.</p></li></ul><div><hr></div><h4>&#128214; More advanced resources</h4><ol><li><p><strong><a href="https://www.exploit-db.com/google-hacking-database">Google Hacking Database (GHDB)</a>:</strong> A carefully chosen and organised list of Google Dorks that have been able to find and reveal a number of sensitive files and system weaknesses.</p></li><li><p><strong>Spotlight&#8217;s OSINT Toolkit (EBU members only):</strong> Tools and links to bespoke CSEs (like the Telegago CSE) for searching on social media and other platforms.</p></li><li><p><strong><a href="https://docs.censys.com/">Censys Search Documentation</a>:</strong> This is where you can discover the powerful, SQL-like query language that lets you look at internet hosts and certificates in great detail.</p></li><li><p> <strong><a href="https://hunch.ly/">Hunchly</a></strong> is a commercial OSINT collecting and reporting program that automates preservation, hashing, and audit trails. </p></li></ol><div><hr></div><h4>&#9989; Important things to remember and investigative principles</h4><ul><li><p><strong>Precision is power:</strong> Advanced operators (site:, filetype:, inurl:, intitle:) change search engines from libraries into tools for surgical intelligence.</p></li><li><p><strong>Always look for a wall:</strong> If you see a login or paywall, stop. You can only use publicly available information in your research. Don&#8217;t try to get around access limits.</p></li><li><p><strong>Document everything (CoC):</strong> To keep a verifiable Chain of Custody for every important artefact, you need to record the Query, the URL, the Timestamp, and the SHA-256 Hash.</p></li><li><p><strong>AI is an assistant, not a source:</strong> Use LLMs to summarise data, translate it, and extract entities. Do not trust facts made by AI or give private information to a public model.</p></li><li><p><strong>Translating technical data:</strong> A discovery like &#8220;Open MongoDB port&#8221; needs to be turned into a clear journalistic fact, such as &#8220;Unauthenticated customer database.&#8221;</p></li></ul><div><hr></div><h4>&#128065;&#65039; Coming next week&#8230;</h4><p><strong>&#128248; Forensic image analysis: EXIF data &amp; error level analysis (ELA) </strong><br>Without proof in the form of pictures, the infrastructure intelligence you&#8217;ve obtained is worthless. The next stage is to learn how to use pictures as digital proof. We will show you how to get EXIF data (location, camera, date) and how to utilise advanced methods like Error Level Analysis (ELA) to find digital picture alteration, photo forgeries, and re-saves. This is very important for checking user-generated content in a crisis.</p><div><hr></div><p>&#127891; <strong>Other tutorials in the Deep Web, geolocation, and metadata mastery series</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7d60bad0-a93e-457a-be04-9fe89baaf3fd&quot;,&quot;caption&quot;:&quot;As a journalist, verifying the who, what, where, when and why of an image is paramount. Determining an image&#8217;s exact geolocation is a critical OSINT skill and forms one of the three pillars of social newsgathering verification.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The OSINT prompt for AI-powered image geolocation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-10T10:06:33.376Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9419368e-ac64-41b7-97c8-4cd147e302c8_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175776074,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;64bc413b-709a-4203-b786-f36e81fee4ba&quot;,&quot;caption&quot;:&quot;In a time when deepfakes and easy-to-use photo-altering software are common, being able to check the authenticity and context of a photo is not only helpful but also necessary for journalistic integrity.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Unmasking image manipulation with EXIF data &amp; ELA&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-21T08:00:51.993Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5942a34-1143-4f1f-a74b-671b3f2ed73c_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/unmasking-image-manipulation-with&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176136645,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e21207f9-a5ad-45e5-bf12-94ac56d895c8&quot;,&quot;caption&quot;:&quot;In a time when digital misinformation is everywhere, it&#8217;s just as important to find out where a photo, video, or event took place as it is to find out who and what it was.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Investigative geolocation: A journalist's guide to verifying time &amp; place&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-28T09:01:29.268Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/555581b6-d140-446a-af77-911572993854_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/investigative-geolocation-a-journalists&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176145552,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Eurovision News Spotlight! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[The OSINT prompt for AI-powered image geolocation]]></title><description><![CDATA[Mastering the art of specifying place in generative AI prompts]]></description><link>https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image</link><guid isPermaLink="false">https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image</guid><dc:creator><![CDATA[Derek Bowler]]></dc:creator><pubDate>Fri, 10 Oct 2025 10:06:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fd17a26e-5311-45b0-a6b4-0e2d7394ffc7_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nON6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nON6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nON6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nON6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nON6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nON6!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:7685718,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/175776074?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nON6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nON6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nON6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nON6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cf0a72c-d2aa-42ce-b6ec-f8031a41cef1_5539x3695.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As a journalist, verifying the <strong>who, what, where, when </strong>and<strong> why</strong> of an image is paramount. Determining an image&#8217;s exact geolocation is a critical OSINT skill and forms one of the three pillars of social newsgathering verification. </p><p>LLMs can provide a wide range of research and analysis support for open-source journalists through targeted prompting. </p><p>Building prompts is not an exact science. Depending on the complexity of the task, few prompts will provide the format or output you require without iterations or continuous debugging analysis.</p><p>What is essential is adopting a structured framework that can be adapted across a wide range of different tasks, which will help you build consistency across your prompts. </p><p>The same can be adopted for geolocation work. </p><p>This tutorial breaks down an AI prompt that creates step-by-step analysis, transforming a simple AI response into a detailed investigative geolocation report.</p><div><hr></div><h4>R.A.F.T.</h4><p>R.A.F.T. is a framework which has been adopted by the Eurovision Social Newswire and Spotlight teams for use in a wide range of daily research and analysis tasks. From geolocation to webscraping to data analysis, R.A.F.T. is a portable, reusable asset that provides a solid structure upon which to build from for non-editorial tasks and tailor the output to the journalist&#8217;s needs. </p><pre><code><strong>Role (R):</strong> Assign a persona (e.g., &#8220;Forensic Accountant,&#8221; &#8220;Legal Verification Expert&#8221;) - Ensures the AI uses the appropriate industry terminology and level of scepticism. </code></pre><pre><code><strong>Action (A):</strong> Define the specific, measurable task - Prevents generic text. Focuses AI on the immediate, time-critical task.</code></pre><pre><code><strong>Format (F):</strong> Demand a specific, usable output structure (e.g., Markdown table, JSON, bullet points) - Makes data instantly ready for a spreadsheet, map, or article bullet list.</code></pre><pre><code><strong>Tone (T):</strong> Set the language, perspective, or scepticism (e.g., &#8220;Neutral and objective,&#8221; &#8220;Sceptical&#8221;) - Prevents the AI from injecting hyperbolic or opinionated language.</code></pre><p><strong>The geolocation prompt</strong></p><p>The prompt is designed to put the AI into an analytical mindset, mandate a Chain-of-Thought (CoT) process, and structure the output for maximum usefulness.</p><pre><code>Assume the role of an expert OSINT analyst specialising in image geolocation.

Core Task: &#8220;Analyse the provided image meticulously to determine its geographic location. Aim for country, city, and, if possible, specific street address or coordinates.&#8221;

Guided Instructions:
1.Identify and list all significant visual cues** present in the image. Focus on: identifiable landmarks, architectural styles, landscape features (mountains, coastlines, vegetation type), visible vehicles (note make/model, license plate details if readable), all readable text on signs or buildings (transcribe text and identify language), flags, distinctive clothing or uniforms, and overall weather/environmental conditions.

2. Based only on the visual cues identified, provide a step-by-step reasoning process (Chain-of-Thought) explaining how these cues lead to a potential geographic location or region. Discuss ambiguities or conflicting clues if present.

3. State your most likely geolocation estimate(s).Provide coordinates if confidence is high.

4. Finally, explain the confidence level (High/Medium/Low) for your estimate and briefly justify it based on the strength of the evidence.

(Optional Context - Use with Caution): &#8220;Consider the following potential context, but prioritise visual evidence:.&#8221; (Use this section only if you have external, non-visual information that might guide the AI, like &#8220;The photo was posted by an account located in Europe.&#8221;)
</code></pre><h4>Deconstructing the prompt: How it works</h4><p>The prompt leverages several key AI prompting techniques: Role assignment, task definition, feature extraction, chain-of-thought, and confidence assessment.</p><ol><li><p><strong>Role Assignment and Tone Setting</strong></p><pre><code><code>Assume the role of an expert OSINT analyst specialising in image geolocation.</code></code></pre><p>Assigning an &#8220;expert&#8221; role dramatically increases the quality, specificity, and technical depth of the response. It primes the AI to use specialised terminology and analytical rigour, rather than providing a casual guess.<br></p></li><li><p><strong>The Core Task</strong></p><pre><code>Analyse the provided image meticulously to determine its geographic location. Aim for country, city, and, if possible, specific street address or coordinates.</code></pre><p>This section directly addresses the Action (A) element of the R.A.F.T. framework. It sets a clear, ambitious, and measurable goal: Analyse the provided image meticulously to determine its geographic location. Aim for country, city, and, if possible, specific street address or coordinates. &#8220;Meticulously&#8221; encourages detailed analysis, and the required output hierarchy (country &#8594; city &#8594; street/coordinates) ensures the AI doesn&#8217;t stop at a vague region.</p><p><br>The subsequent Guided Instructions (1-4) further break down this single &#8220;Action&#8221; into verifiable, step-by-step sub-tasks.<br></p></li><li><p><strong>Feature Extraction and Data Structuring (Guided Instruction 1)</strong></p><pre><code><code>Identify and list all significant visual cues present in the image. Focus on: identifiable landmarks, architectural styles, landscape features (mountains, coastlines, vegetation type), visible vehicles (note make/model, license plate details if readable), all readable text on signs or buildings (transcribe text and identify language), flags, distinctive clothing or uniforms, and overall weather/environmental conditions.</code></code></pre><p>This is the most crucial part. You are training the AI on what to look for, ensuring it executes the first step of OSINT before jumping to a conclusion. You&#8217;re essentially providing the AI with a checklist of features it is good at identifying (text, architecture, cars, flags).<br><br><strong>Tip:</strong> This structured list makes it easy to spot if the AI missed an obvious clue (e.g., a foreign-language sign).<br></p></li><li><p><strong>Mandatory Chain-of-Thought (Guided Instruction 2)</strong></p><pre><code><code>Based only on the visual cues identified, provide a step-by-step reasoning process (Chain-of-Thought) explaining how these cues lead to a potential geographic location or region. Discuss ambiguities or conflicting clues if present. </code></code></pre><p>The Chain-of-Thought (CoT) technique is a powerful enhancer for complex tasks. It forces the AI to demonstrate its analytical process.</p><ul><li><p><em>Cue 1: Text in Cyrillic.</em> &#8594; <em>Conclusion: Likely Eastern Europe or a Slavic country.</em></p></li><li><p><em>Cue 2: Specific vehicle model (Lada Niva).</em> &#8594; <em>Conclusion: Supports Eastern European region, common in Russia/Ukraine.</em></p></li><li><p><em>Cue 3: Distinctive mountain range.</em> &#8594; <em>Conclusion: Matches geography of the Carpathian mountains.<br></em></p></li></ul><p>This not only explains the answer but also helps <em>you</em> (the journalist) verify the logic.<br></p></li><li><p><strong>Final Estimate &amp; Coordinates (Guided Instruction 3)</strong></p><pre><code>State your most likely geolocation estimate(s). Provide coordinates if confidence is high.</code></pre><p>This forces the AI to move from the analytical process (CoT) to a definitive, actionable answer. Requiring coordinates only when confidence is high prevents speculative guessing, ensuring that the provided geographical data meets a threshold of certainty required for professional use. <strong><br></strong></p></li><li><p><strong>Confidence Assessment (Guided Instruction 4)</strong></p></li></ol><pre><code>Finally, explain the confidence level (High/Medium/Low) for your estimate and briefly justify it based on the strength of the evidence.</code></pre><p>A geolocation estimate is useless without a confidence level. This section forces the AI to self-critique based on the quality of the evidence (e.g., <em>High</em> confidence due to a unique street sign; <em>Low</em> confidence due to blurry text and generic architecture).</p><p><strong>Optional context (Use with Caution)</strong></p><pre><code>Consider the following potential context, but prioritise visual evidence: (Use this section only if you have external, non-visual information that might guide the AI, like "The photo was posted by an account located in Europe.")</code></pre><p>Use this section only if you have external, non-visual information that might guide the AI, like &#8220;The photo was posted by an account located in Italy&#8221;.</p><div><hr></div><h4>Example</h4><div id="youtube2-AH1njFV27Gw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;AH1njFV27Gw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/AH1njFV27Gw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>On October 4, a video emerged on YouTube showing a appearing to showing a protest in Israel. The video was simply titled &#1495;&#1497; &#1510;&#1497;&#1500;&#1493;&#1501; &#1499;&#1504;&#1505;&#1497;&#1501; &#1510;&#1497;&#1500;&#1493;&#1501; &#1488;&#1497;&#1512;&#1493;&#1506;&#1497;&#1501; &#1513;&#1497;&#1491;&#1493;&#1512; &#1495;&#1497; SATVIEW.TV &#1512;&#1495;&#1507; (translated: &#8220;Live Conference Photography Event Photography Live Broadcast SATVIEW.TV Hover&#8221;)</p><p>At the time of the video&#8217;s publication, it was a live broadcast and offered few visual clues about the exact location, apart from blurred text in both Hebrew and English. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PobI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PobI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PobI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PobI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PobI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PobI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg" width="1186" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:1186,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:187547,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/175776074?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PobI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PobI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PobI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PobI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbd04e49-55fe-47bd-bcdc-0748c9d2c6e3_1186x608.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Courtesy of SATVIEW.TV</figcaption></figure></div><p>In the top right corner of the screen, the text &#8220;Tel Aviv Museum of &#8221; was visible on one of the buildings. This could be sufficient for a manual search on Google to find the location. Additionally, it provides an opportunity to take a quick screenshot of the area and use a geolocation prompt.</p><div><hr></div><p><strong>Process</strong></p><ol><li><p><strong>Upload content</strong></p><p>Start your interaction by uploading the image (in this case, a screenshot) you need to geolocate.</p></li><li><p><strong>Paste the full prompt</strong></p><p>Paste the entire prompt into the AI&#8217;s chat box, including the role assignment and all instructions. In this instance, we are going to also invoke the <strong>Optional context</strong> section of the prompt to include &#8220;Tel Aviv Museum of&#8221; observed in the screenshot.</p></li><li><p><strong>Step 3: Review the output</strong></p><p>Critically evaluate the AI&#8217;s output.</p></li></ol><div><hr></div><h4>AI output (Gemini)<br></h4><blockquote><p><em>Based on the image analysis, here is the geolocation estimate:</em></p><p><em>Geolocation Estimate </em></p><p><em>The most likely location is is <strong>Sderot Sha&#8217;ul HaMelech, Tel Aviv-Yafo, Israel</strong>.</em></p><p><em>The demonstration is taking place in the plaza area along this boulevard, known as <strong>Hostages Square (Kikar HaHatufim)</strong>, which is directly in front of the <strong>Tel Aviv Museum of Art</strong> complex.</em></p><p><em><strong>Coordinates (Approximate Centre of Square):</strong> 32&#176;04&#8217;37.4&#8221;N 34&#176;47&#8217;14.6&#8221;E</em></p></blockquote><div><hr></div><blockquote><p><em>1. <strong>Visual Cues Identification &#128269;</strong></em></p><p><em><strong>Feature:</strong> Readable Text</em></p><ul><li><p><em><strong>Description &amp; Detail: </strong>The text visible on the image, including the text below the image, is in <strong>Hebrew</strong>. Banners and signs contain Hebrew characters.</em></p></li><li><p><em><strong>Clue Significance:</strong> High: Confirms the country/language of the event is Israel.</em></p></li></ul><p><em><strong>Feature:</strong> Flags: </em></p><ul><li><p><em><strong>Description &amp; Detail:</strong> Multiple flags are visible, predominantly the Flag of Israel (Blue Star of David on a white field between two blue stripes).</em></p></li><li><p><em><strong>Clue Significance: High:</strong> Strongly points to <strong>Israel</strong>.</em></p></li></ul><p><em><strong>Feature:</strong> Landmarks/Architecture: </em></p><ul><li><p><em><strong>Description &amp; Detail: </strong>The imposing and well-lit institutional buildings visible in the background, though partially obscured, match the architecture found in the cultural and civic centre of Tel Aviv. The building in the background is part of the extensive complex that includes the <strong>Tel Aviv Museum of Art</strong> and the surrounding cultural institutions on <strong>Sderot Sha&#8217;ul HaMelech</strong>.</em></p></li><li><p><em><strong>Clue Significance:</strong> Anchors the location to Tel Aviv&#8217;s institutional core along this boulevard.</em></p></li></ul><p><em><strong>Feature:</strong> Event Type</em></p><ul><li><p><em><strong>Description &amp; Detail:</strong> The large gathering of people, presence of a stage, organised banners, and a live broadcast setup strongly suggest a major political demonstration or rally, consistent with events held at Hostages Square.</em></p></li><li><p><em><strong>Clue significance:</strong> Medium: Consistent with frequent public gatherings at this prominent civic location. </em></p><p></p></li></ul></blockquote><div><hr></div><blockquote><p><em><strong>2. Reasoning Process (Chain-of-Thought)</strong> &#129300;</em></p><ol><li><p><em><strong>Country/City Identification:</strong> The presence of <strong>Hebrew</strong> text and <strong>Israeli flags</strong> definitively places the event in Israel, with the large scale suggesting <strong>Tel Aviv</strong>, the hub for major political gatherings.</em></p></li><li><p><em><strong>Landmark Recognition:</strong> The location, <strong>Sderot Sha&#8217;ul HaMelech</strong>, is known for its large public plaza, which sits directly in front of the <strong>Tel Aviv Museum of Art</strong> (TAMA). This plaza, recently established as <strong>Hostages Square</strong>, is defined by the surrounding institutional buildings and is frequently utilised for massive public events and rallies.</em></p></li><li><p><em><strong>Architectural Context:</strong> The visible background architecture is congruent with the complex that includes the Tel Aviv Museum of Art&#8217;s buildings and the adjacent cultural centres, establishing the exact location on this boulevard.</em></p></li></ol></blockquote><div><hr></div><blockquote><p><em><strong>3. Confidence Level and Justification &#9989;</strong></em></p><p><em><strong>Confidence Level: High</strong> &#128640;</em></p><p><em><strong>Justification:</strong></em></p><p><em>The combination of unambiguous national symbols (<strong>Israeli flags</strong>, <strong>Hebrew text</strong>) and the definitive identification of the location as <strong>Sderot Sha&#8217;ul HaMelech</strong>, a major civic location in Tel Aviv defined by the presence of the <strong>Tel Aviv Museum of Art</strong> and its public plaza, provides a high degree of confidence in the geolocation.</em></p></blockquote><div><hr></div><p>In this example, there are many visual clues to aid the AI&#8217;s response, with <a href="https://www.google.com/maps/place/Hostage+Square+Tel+Aviv/@32.0768654,34.7872159,3a,75y,276.42h,95.2t/data=!3m7!1e1!3m5!1so8QaaVjVRTKGDxFQn4X8dg!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fcb_client%3Dmaps_sv.tactile%26w%3D900%26h%3D600%26pitch%3D-5.203496033810424%26panoid%3Do8QaaVjVRTKGDxFQn4X8dg%26yaw%3D276.41820934875494!7i13312!8i6656!4m6!3m5!1s0x151d4b0076f97bbb:0x74613d3f6c9efd84!8m2!3d32.0770017!4d34.787282!16s%2Fg%2F11y25tn658?entry=ttu&amp;g_ep=EgoyMDI1MTAwNy4wIKXMDSoASAFQAw%3D%3D">Google Maps confirms</a> the location is correct. However, this will not always be the case, and in some instances, it  will not yield the expected results. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_Xhj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_Xhj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_Xhj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_Xhj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_Xhj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_Xhj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg" width="1456" height="705" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:705,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:291149,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://spotlight.ebu.ch/i/175776074?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_Xhj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_Xhj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_Xhj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_Xhj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd7c06a-d3d1-4fec-8cc7-777c57de7a94_1801x872.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Courtesy of Google Maps</figcaption></figure></div><p>It is vital to remember that detailed prompts won&#8217;t work miracles if the source content lacks distinguishable information. If an image is too blurry, too generic, or completely lacking in unique visual cues, even the best prompt can only state that geolocation is impossible and justify the low confidence level.</p><p>Always temper expectations based on the quality of the image itself.</p><p>However, the prompt shows how using the R.A.F.T. framework, you can move beyond simple guesses and obtain a robust, evidence-based OSINT report every time.</p><div><hr></div><p>&#127891; <strong>Other tutorials in the Deep Web, geolocation, and metadata mastery series</strong></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;21de70da-6918-49bc-a41f-7458c3fa3a72&quot;,&quot;caption&quot;:&quot;Investigative discoveries are not often on the first page of a search. Advanced search tactics, sometimes known as &#8220;dorking,&#8221; are very important because they cut through the noise of ordinary search results, which are often full of commercial content.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Advanced search engine alchemy: Exposing hidden data with dorking, Shodan, and Censys&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-14T09:23:21.765Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91f3d7dd-27ee-416c-9dd1-b02b5523550f_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/advanced-search-engine-alchemy-exposing&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:175978617,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4718ff29-ff11-449e-9c0f-7558e13d9ec7&quot;,&quot;caption&quot;:&quot;In a time when deepfakes and easy-to-use photo-altering software are common, being able to check the authenticity and context of a photo is not only helpful but also necessary for journalistic integrity.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Unmasking image manipulation with EXIF data &amp; ELA&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-21T08:00:51.993Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5942a34-1143-4f1f-a74b-671b3f2ed73c_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/unmasking-image-manipulation-with&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176136645,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c3457cf9-d26f-4cf4-ae5a-56d1c915f9b8&quot;,&quot;caption&quot;:&quot;In a time when digital misinformation is everywhere, it&#8217;s just as important to find out where a photo, video, or event took place as it is to find out who and what it was.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Investigative geolocation: A journalist's guide to verifying time &amp; place&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:42646072,&quot;name&quot;:&quot;Derek Bowler&quot;,&quot;bio&quot;:&quot;Head of Eurovision Social Newswire&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c8b745f-95a7-4872-bba5-aacdee78cf6b_4892x4892.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-10-28T09:01:29.268Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/555581b6-d140-446a-af77-911572993854_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://spotlight.ebu.ch/p/investigative-geolocation-a-journalists&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:176145552,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601478,&quot;publication_name&quot;:&quot;Eurovision News Spotlight&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!k13P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68a0c530-b9fe-4036-8ab4-fac493073032_400x400.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>Master advanced investigative techniques in the &#8220;Prompting for Geolocation&#8221; session, part of the Specialised Context &amp; Content module within the EBU Academy&#8217;s <em><a href="https://academy.ebu.ch/advanced-prompting-for-journalists">Advanced Prompting for Journalists</a></em> course.</p><div id="youtube2-V9ERMiX_bCY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;V9ERMiX_bCY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/V9ERMiX_bCY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Instructor Derek Bowler leads this training, offering high-level skills essential for modern journalism. The full course curriculum also covers: Core Advanced Workflows, Editorial Integrity &amp; Ethics, and Automation &amp; Data Pipelines.</p><p>Demand is exceptionally high for the upcoming session on December 1, 2025.  Spaces are limited&#8212;register today to secure your spot!</p><div><hr></div><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Eurovision News Spotlight! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://spotlight.ebu.ch/p/the-osint-prompt-for-ai-powered-image?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p><p></p>]]></content:encoded></item></channel></rss>