EXIF stripping कसे कार्य करते
JPEG file म्हणजे APP markers नावाच्या tagged segments ची एक sequence आहे, दोन-byte SOI signature (0xFFD8) नंतर लगेच सुरू होणारी. EXIF data APP1 मध्ये राहतो, GPS त्याच APP1 block मध्ये sub-IFD म्हणून, आणि IPTC APP13 मध्ये. Stripper प्रत्येक marker चाला, metadata carry करणाऱ्या markers ओळखतो, ते काढतो आणि उर्वरित payload valid JPEG मध्ये पुन्हा जोडतो.
- APP markers parse करा. साधन raw ArrayBuffer वाचतो आणि JFIF marker sequence byte-by-byte चालतो. प्रत्येक दोन-byte marker tag एक segment type ओळखतो: APP0 (JFIF header), APP1 (EXIF आणि XMP), APP13 (Photoshop आणि IPTC), आणि APP15 पर्यंत. Parser काही touch करण्यापूर्वी प्रत्येक segment चे offset आणि byte length एका छोट्या table मध्ये record करतो, जेणेकरून मूळ buffer memory मध्ये intact राहतो.
- EXIF tags decode करा. APP1 payload चार Image File Directories सह एक mini TIFF structure आहे: 0th IFD (main image attributes), Exif SubIFD (exposure, lens, focal length, ISO), GPS IFD (latitude, longitude, altitude, direction), आणि 1st IFD (embedded thumbnail). प्रत्येक tag numeric code, data type (byte, short, long, rational, ASCII string) आणि value carry करतो. साधन piexifjs च्या tag dictionary वापरून numeric codes ला human-readable names शी map करतो, नंतर त्यांना IFD नुसार grouped metadata panel मध्ये render करतो.
- GPS tags flag करा. GPS IFD मधील कोणताही tag लाल privacy badge सह highlighted केला जातो. Latitude आणि longitude तीन rational numbers (degrees, minutes, seconds) आणि reference direction (N किंवा S, E किंवा W) म्हणून stored आहेत. साधन त्यांना six digits precision सह signed decimal degrees मध्ये रूपांतरित करतो (~11 cm equator वर) आणि OpenStreetMap link सोबत GPS panel मध्ये निकाल दाखवतो. कोणतेही tile request बाहेर जात नाही — link locally generated आहे आणि फक्त तुम्ही click केल्यावर उघडते.
- Metadata strip करा. JPEG files साठी default path piexifjs वापरून APP1 segment पूर्णपणे काढतो, pixel data न बदलता नवीन dataURL परत करतो. "Orientation ठेवा" चालू असताना, साधन stripping करण्यापूर्वी
<canvas>वर image rotate करतो जेणेकरून मूळOrientationtag value (1–8) शी जुळेल, त्यामुळे visual result तुमच्या camera च्या हेतूशी जुळतो — rotation pixels मध्ये baked आहे metadata flag वर अवलंबून न राहता. - Canvas पुनर्-एन्कोड मार्ग. "ICC color profile ठेवा" बंद असताना, साधन hidden
<canvas>वर image draw करतो आणिcanvas.toBlob('image/jpeg', quality)call करतो. हा path सर्व काही strip करतो (EXIF, XMP, IPTC, ICC profile, thumbnail) आणि JPEG quality slider 60 ते 100 नियंत्रित करू देतो. Default 92 आहे, जे बहुतेक फोटोंवर source पासून indistinguishable quality वर मूळ आकाराच्या काही टक्के मध्ये files produce करते. - स्वच्छ file डाउनलोड करा. Cleaned blob
<original-name>-stripped.jpgनावाने download म्हणून offered आहे. साधन निकाल पुन्हा parse करतो आणि download link दिसण्यापूर्वी EXIF GPS section empty आहे हे confirm करतो, जेणेकरून "stripped" लेबल केलेली file location tag अजूनही carry करत नाही. PNG आणि WebP files EXIF carry करत नाहीत; साधन "No EXIF" message दाखवतो आणि त्या formats साठी strip step वगळतो.
Share करण्यापूर्वी EXIF strip का करावे
- Location गोपनीयता. Smartphones डिफॉल्टने प्रत्येक फोटोमध्ये अचूक GPS coordinates embed करतात. Restaurant, office किंवा घरातून JPEG त्याच्या metadata मध्ये अंदाजे पाच-मीटर accuracy वर तो पत्ता carry करतो. Social media वर posting, अनोळखी व्यक्तीला email किंवा public support ticket ला screenshot attach करण्यापूर्वी GPS tag strip करा आणि तो location fingerprint पूर्णपणे काढा.
- Publications मध्ये anonymity. पत्रकार, कार्यकर्ते आणि whistleblowers फोटो submit करण्यापूर्वी EXIF strip करतात कारण camera serial number, lens firmware version आणि creation timestamp सर्व photographer ओळखण्यासाठी इतर published images शी cross-referenced केले जाऊ शकतात. ज्यांचा byline specific physical device शी जोडला जाऊ नये त्यांच्यासाठी हे tags काढणे baseline operational security step आहे.
- लहान file size. Typical smartphone JPEG त्याच्या APP1 segment मध्ये 5 ते 15 KB metadata carry करतो, 160 × 120 embedded thumbnail सह. 5 MB फोटोच्या तुलनेत हे लहान आहे, पण 1,000 product images च्या batch मध्ये strip केल्याने प्रत्येक upload round-trip मध्ये 5 ते 15 MB बचत होते.
- Camera fingerprint काढा. Camera make, model, firmware version, lens identifier आणि shutter-actuation count एक fingerprint बनवतात जे EXIF अन्यथा unremarkable असले तरी separate uploads वर photos link करू शकतात. Hardware न उघड करता images share करत असल्यास (bug report, competition submission, anonymous portfolio), Exif SubIFD मध्येच ती identifying information राहते. Strip करा आणि link तुटतो.
सामान्य वापर
EXIF stripping तेव्हा येते जेव्हा फोटो हात बदलतो आणि तो carry करणारे metadata sender किंवा subject साठी समस्या निर्माण करू शकतात.
- Social-media uploads: बहुतेक platforms EXIF server-side strip करतात, पण आधी client-side strip केल्याने मूळ coordinates platform च्या servers ला कधीच transmitted होत नाहीत. त्यांची pipeline कधी leak झाली (किंवा subpoenaed) तरी, मूळ GPS त्यांच्या logs मध्ये नाही कारण ते कधी पाठवलेच नाही.
- Journalism आणि documentary photography: wire services आणि photo desks स्वच्छ metadata require करतात जेणेकरून byline attribution आणि caption data camera नाही तर desk नियंत्रित करेल. AP, Reuters आणि AFP चे photo editors सर्व incoming images wire ला hit करण्यापूर्वी metadata-scrub step मधून चालवतात.
- Property आणि product listings: real-estate agents आणि e-commerce sellers नियमितपणे property किंवा warehouse address वर काढलेले फोटो upload करतात. Upload करण्यापूर्वी GPS strip केल्याने listing file मध्ये precise business address inadvertently publish होत नाही — warehouse खाजगी निवासस्थान असल्यास किंवा property अजूनही occupied असल्यास उपयुक्त.
एक काम केलेले उदाहरण
Recent iPhone वर काढलेला 3.5 MB JPEG सुमारे 12 KB APP1 metadata carry करतो: bearing आणि altitude सह GPS coordinates, millisecond पर्यंत capture timestamp, camera model आणि lens identifier, white-balance settings, आणि 160 × 120 embedded thumbnail. Default piexif path ने strip केल्यावर, file 3.488 MB वर येते. 12 KB हलकी, pixel-identical, आणि location ping शिवाय. वरील GPS panel download करण्यापूर्वी नक्की कोणते coordinates काढले ते दाखवेल.
EXIF metadata म्हणजे काय?
EXIF (Exchangeable Image File Format) म्हणजे digital cameras आणि smartphones image files मध्ये metadata कसे store करतात हे परिभाषित करणारा standard. Typical smartphone JPEG camera make आणि model, lens focal length, shutter speed, ISO, अचूक GPS location (काही meters पर्यंत), creation timestamp आणि एक छोटा embedded thumbnail carry करतो — rendered image मध्ये अदृश्य पण कोणत्याही EXIF-aware application ला वाचता येण्याजोगा.
फोटो share करण्यापूर्वी EXIF strip का करावे?
GPS tag फोटो कुठे काढला ते काही meters पर्यंत उघड करतो. Strip न करता फोटो share करणे म्हणजे ती location file receive करणाऱ्या प्रत्येकाशी share करणे. Camera serial numbers आणि lens identifiers फोटोग्राफरला separate uploads वर fingerprint करू शकतात, जे pseudonymously publish करणाऱ्यांसाठी महत्त्वाचे आहे. Stripping file तुमचे device सोडण्यापूर्वी हे सर्व काढते.
हे image quality वर परिणाम करते का?
Default piexif path APP1 segment image pixels न बदलता काढतो, त्यामुळे quality मूळशी bit-identical आहे. Canvas re-encode path ("ICC color profile ठेवा" बंद असताना, किंवा rotated image साठी "Orientation ठेवा" चालू असताना) selected JPEG quality slider value वर pixels re-encode करतो — बहुतेक फोटोंवर visible result source च्या जवळ ठेवण्यासाठी slider 95 किंवा त्यावर set करा.
iPhones मधील HEIC files बद्दल काय?
HEIC stripping तुमच्या browser च्या native HEIC support वर अवलंबून आहे. Safari 13+ HEIC natively decode करतो; Chrome आणि Firefox करत नाहीत. तुमचा browser HEIC display करू शकत नसल्यास, आधी फोनच्या "Export as JPEG" पर्यायाचा वापर करा (iOS Photos मध्ये: Share → Options → Most Compatible), नंतर येथे JPEG upload करा. Converted file वर strip step इतर कोणत्याही JPEG प्रमाणेच काम करते.
प्रत्येक strip तुमच्या ब्राउझरमध्ये locally चालते. मूळ फोटो कोणत्याही server पर्यंत पोहोचत नाही, आणि cleaned file पूर्णपणे upload time memory मध्ये loaded ArrayBuffer मधून produce होते. वर फोटो drop करा, metadata तपासा आणि stripped copy डाउनलोड करा.