Eksport zweryfikowany
Kopia rozmowy, która ujawnia każdą zmianę. Każdy może potwierdzić, że nie została zmieniona, bez wierzenia nam na słowo.
W skrócie
Eksport zweryfikowany to plik .zip, który możesz dać każdemu. Każdy plik w nim ma odcisk, a niezależny urząd opatruje cały pakiet znacznikiem czasu, więc każdy może udowodnić, że nie został zmieniony po jego utworzeniu. To twierdzenie o plikach, a nie o wiadomościach: pokazuje, że nic nie zostało zmienione, a nie co rozmowa znaczy ani jaką wagę należy jej przypisać.
Czym jest eksport zweryfikowany
Eksport zweryfikowany (zwany też eksportem poświadczonym) pakuje jedną rozmowę albo całe archiwum w jeden plik .zip, na wypadek gdy zapisowi musi ufać ktoś inny niż Ty. Różnica w porównaniu ze zrzutem ekranu: ujawnia każdą zmianę i da się go niezależnie zweryfikować. Odbiorca może standardowymi narzędziami potwierdzić, że pakiet nie został zmieniony i istniał bez zmian w określonym momencie. W żadnym z tych punktów nie musisz ufać Text2Store.
Jest w zakupie Text2Store. Aby go utworzyć, otwórz rozmowę, wybierz Eksportuj, a potem Eksport zweryfikowany (.zip)….
Eksport z poświadczonej kopii zapasowej jeszcze to wzmacnia: dowód eksportu sięga wtedy do chwili utworzenia kopii, a nie tylko eksportu. Tę część opisuje strona o poświadczonych kopiach.
Co jest w pakiecie
Plik .zip rozpakowuje się do małego zestawu plików, które same się objaśniają:
- transcript.pdf to wiadomości jako czytelny zapis do wydruku.
- conversation.json to te same wiadomości jako dane, łącznie ze wszystkim, czego PDF nie potrafi pokazać.
- attachments/ zawiera każde zdjęcie, film i plik z rozmowy, w oryginalnych bajtach.
- certificate.pdf to czytelna strona tytułowa: urządzenie, rozmowa, zakres dat, liczby i sposób weryfikacji.
- manifest.json to serce pakietu: odcisk SHA-256 każdego innego pliku.
- VERIFY.txt zawiera polecenia w prostym angielskim, by wszystko sprawdzić samodzielnie.
- DECLARATION.txt to oświadczenie do wypełnienia, które ktoś może podpisać (zobacz niżej).
- manifest.json.tsr to zaufany znacznik czasu, dodany, gdy byłeś online.
- tsa/cacert.pem to certyfikat urzędu znaczników czasu, by czas dało się sprawdzić z samego pakietu.
- source/backup-timestamp.tsr pojawia się tylko, gdy eksport powstał z poświadczonej kopii zapasowej: znacznik czasu utworzenia samej kopii, przeniesiony, by dowód eksportu sięgał do chwili utworzenia kopii.
Co dowodzi
- Integralności. Każdy plik jest wymieniony z odciskiem SHA-256 w manifest.json. Ponowne obliczenie odcisku dowolnego pliku potwierdza, że jest bajt w bajt taki sam jak przy eksporcie. Zmień jeden piksel jednego zdjęcia, a weryfikacja się nie powiedzie.
- Pochodzenia z Twojej kopii. Każdy załącznik zapisuje też odcisk, jaki miał w kopii urządzenia, z której pochodzi, wiążąc wyeksportowany plik z tą konkretną kopią, a nie z czymś wpisanym ręcznie. Eksport odmawia zbudowania, jeśli któryś załącznik przestał się zgadzać.
- Czasu. Gdy jesteś online, niezależny urząd znaczników czasu opatruje cały pakiet znacznikiem według standardu RFC 3161 (ten sam mechanizm co przy znacznikach czasu podpisywania kodu). To dowodzi, że pakiet istniał bez zmian w określonym momencie, co odpowiada na zarzut „edytowałeś to w zeszłym tygodniu”.
Dlaczego zmiana się nie prześlizgnie
„Ujawnia każdą zmianę” to precyzyjne twierdzenie, więc oto dlaczego jest prawdziwe. Nie znaczy, że pliku nie da się edytować. Każdy plik da się edytować. Znaczy, że każda edycja zostanie wykryta. Kto chce przemycić zmianę obok weryfikatora, napotyka po kolei trzy mury:
- Odcisku nie da się podrobić. Odcisk SHA-256 każdego pliku to 64-znakowa wartość obliczona z jego dokładnych bajtów. Zmień jeden bajt, gdziekolwiek, a odcisk zmieni się całkowicie. Nie jest znany żaden sposób, by zmienić plik i zachować jego SHA-256, więc zmieniony plik nie może już pasować do zapisanego odcisku. To pierwszy mur.
- Lista też ma odcisk. Oczywistym następnym krokiem byłaby zmiana odcisku w manifest.json, by pasował do zmienionego pliku. To też się nie uda: manifest ma odcisk główny treści obliczony z własnej listy, a zaufany znacznik czasu obejmuje cały manifest. Edycja listy psuje oba. Drugi mur.
- Znacznik czasu wymaga klucza, którego nikt nie ma. Ostatnim krokiem byłoby odbudowanie manifestu i uzyskanie nowego zaufanego znacznika dla przepisanej wersji. Do tego potrzebny jest prywatny klucz podpisujący urzędu znaczników czasu, który przechowuje niezależna strona trzecia (DigiCert). Ani Ty, ani Text2Store, ani napastnik nie wytworzy bez niego ważnego znacznika. Właśnie dlatego weryfikacja w Text2Store zgłasza Zweryfikowany tylko wtedy, gdy jest ważny zaufany znacznik czasu: znacznik to kotwica, która uniemożliwia przepisanie i ponowne zapieczętowanie wszystkiego pod nią. Pakiet bez zaufanego znacznika jest zgłaszany jako Niezweryfikowany, a nie zweryfikowany, właśnie dlatego, że brakuje tej kotwicy. Trzeci mur.
- Nie musisz nam ufać. Każda z tych kontroli używa otwartych standardów (SHA-256, RFC 3161) i da się ją odtworzyć standardowymi narzędziami dostępnymi na Macu i w Windows. Bezpieczeństwo nie opiera się na wierze w słowo Text2Store, a nawet w aplikację Text2Store.
Uczciwą granicę warto powiedzieć wprost: to ujawnia zmiany, a nie je uniemożliwia. Każdy wciąż może zmienić lub usunąć plik. Nikt nie może natomiast go zmienić tak, by nadal przechodził weryfikację. Jeśli pakiet przechodzi weryfikację, to jest ten wyeksportowany. Jeśli ktoś przy nim majstrował, weryfikacja to powie.
Czego nie dowodzi (przeczytaj)
Uczciwość co do ograniczeń jest częścią tego, co czyni resztę wiarygodną. Eksport zweryfikowany nie dowodzi:
- Że wiadomości są prawdziwe ani że telefon nie był zmanipulowany przed utworzeniem kopii. Dowodzi, że pakiet nie zmienił się od eksportu, a nie tego, co działo się wcześniej.
- Jak zostanie przyjęty. Text2Store nigdy nie twierdzi, że eksport zweryfikowany zostanie przyjęty przez konkretnego odbiorcę czy w konkretnym postępowaniu, i nigdy nie nazywa go „dopuszczalnym w sądzie” ani „uwierzytelnionym”. Wagę zapisu zawsze ocenia odbiorca; oprogramowanie może jedynie uczynić zapis sprawdzalnym.
- Kompletności. Eksport zweryfikowany może zawierać tylko to, co telefon jeszcze miał w chwili archiwizacji. Wiadomości usuniętych przed przechwyceniem po prostu nie ma. Zapis oznacza wiadomości usunięte na urządzeniu, edytowane lub cofnięte, jeśli ta informacja przetrwała do przechwycenia.
- Dokładnego momentu wysłania każdej wiadomości, w sensie bezwzględnym. Zaufany znacznik czasu poświadcza, kiedy istniał eksport, a nie kiedy wysłano wiadomości. Czasy wiadomości pochodzą z urządzenia.
Zabezpieczenie hasłem (opcjonalne)
Eksport zweryfikowany to zwykły plik .zip: każdy, kto go ma, może czytać wiadomości. Zwykle o to właśnie chodzi, bo otwiera się wszędzie bez oprogramowania. Gdy jednak plik ma podróżować, możesz go zablokować. Zaznacz Zabezpiecz ten plik .zip hasłem przy tworzeniu eksportu, a zawartość zostanie zaszyfrowana AES-256. Domyślnie jest wyłączone i wybierasz to dla każdego eksportu osobno.
Szyfrowanie i ujawnianie zmian to dwie różne rzeczy. Hasło nie pozwala innym czytać wiadomości. To odciski i znacznik czasu dowodzą, że nic nie zostało zmienione, i działają tak samo w obu przypadkach. Hasło nie czyni eksportu łatwiejszym do zweryfikowania, a jego brak nie czyni go trudniejszym.
Zanim zabezpieczysz go hasłem
- Hasła nie da się odzyskać. Ani Tobie, ani nam, bo nigdy nie jest do nas wysyłane i nie jest zapisywane w pakiecie. Jeśli je zgubisz, eksportu nie da się już otworzyć.
- Na Macu po prostu się otwiera. Kliknij dwukrotnie w Finderze, wpisz hasło, a wszystko się rozpakuje (sprawdzone na macOS 26). W Windows potrzebujesz 7-Zip: Eksplorator plików pokaże listę plików w środku, ale nie potrafi ich rozpakować (sprawdzone na Windows 11). Na Macu działają też Keka i The Unarchiver.
- Nie używaj polecenia
unzip. Nie obsługuje AES: przy zabezpieczonym eksporcie tworzy pusty folder i kończy bez błędu, więc wygląda, jakby się udało. Użyj zamiast tego7z xalbo rozpakuj w Finderze. - Poczta e-mail często go odrzuca. Wielu dostawców poczty i firmowych filtrów usuwa lub blokuje załączniki chronione hasłem, bo ich skanery nie mogą zajrzeć do środka. Wspólny dysk, link do przesyłania plików lub pendrive są pewniejsze.
- Wyślij hasło osobno. Hasło w tym samym e-mailu co plik niczego nie chroni.
Wszystko w środku jest zaszyfrowane, także VERIFY.txt, więc zabezpieczony eksport bez hasła niczego nie zdradza. Jednej rzeczy nie ukryje: plik zip nigdy nie szyfruje listy nazw plików, więc każdy zobaczy, że pakiet zawiera zapis, manifest i jakieś załączniki. Nazwy są ogólne, więc nie mówią nic o tym, z kim rozmawiałeś ani co zostało powiedziane.
Aby zweryfikować zabezpieczony eksport w Text2Store, wybierz go jak zwykle; aplikacja zauważy, że jest zablokowany, i poprosi o hasło. Aby zweryfikować ręcznie, najpierw rozpakuj go jednym z powyższych narzędzi, a potem wykonaj zwykłe kroki opisane niżej.
Jak go zweryfikować, nie ufając nam
Są dwa sposoby, a oba sprawdzają te same odciski i ten sam znacznik czasu.
W aplikacji: wybierz Plik, potem Zweryfikuj eksport…, i wskaż plik .zip. Text2Store ponownie sprawdza każdy odcisk i znacznik czasu i zgłasza Zweryfikowany, Zmieniony lub Niezweryfikowany. „Zweryfikowany” znaczy, że pliki się zgadzają, a zaufany znacznik czasu dowodzi, że pakiet jest niezmieniony. „Zmieniony” znaczy, że coś się już nie zgadza. „Niezweryfikowany” znaczy, że pliki są wewnętrznie spójne, ale pakiet nie ma zaufanego znacznika czasu, więc sam w sobie nie może dowieść, że jest niezmieniony (porównaj odcisk jego manifestu z kopią, której ufasz). Nie potrzeba internetu ani niczego instalować, a działa tak samo na Macu i w Windows. Dla niezależności używa własnej przypiętej kopii certyfikatu urzędu znaczników czasu, a nie tej z pakietu.
Ręcznie: dołączony plik VERIFY.txt zawiera dokładne polecenia. Na macOS i Linuksie użyj shasum; w Windows Get-FileHash w PowerShellu. Aby potwierdzić też zaufany czas, użyj openssl. Uczciwa uwaga z samego VERIFY.txt: LibreSSL dostarczany z macOS nie potrafi zweryfikować łańcucha certyfikatów tego znacznika, więc zainstaluj pełny OpenSSL (Homebrew) albo użyj weryfikatora w aplikacji; w Windows działa OpenSSL dołączony do Git for Windows. VERIFY.txt wypisuje też SHA-256 certyfikatu urzędu znaczników czasu, byś mógł porównać go z opublikowanym certyfikatem głównym DigiCert na cacerts.digicert.com, zanim zaufasz poświadczonemu czasowi.
Szczegóły techniczne
Dla tych, którzy chcą sprawdzić mechanizm zamiast ufać streszczeniu: wszystko poniżej korzysta z opublikowanych standardów (SHA-256, RFC 3161, CMS) i da się odtworzyć standardowymi narzędziami. Nic nie jest zastrzeżone ani tajne. Ta otwartość jest właśnie celem: twierdzenie, które możesz niezależnie potwierdzić, jest warte więcej niż takie, które trzeba przyjąć na wiarę.
Odciski i manifest
Każdy plik w pakiecie jest haszowany SHA-256 po jego dokładnych bajtach. manifest.json wymienia każdy plik ze ścieżką i jego SHA-256:
{
"format": "text2store/verified-export",
"artifacts": [
{ "path": "transcript.pdf", "sha256": "9f2c..." },
{ "path": "conversation.json", "sha256": "4a1e..." },
{ "path": "attachments/0001.jpg", "sha256": "b7d0...",
"source_backup_sha256": "b7d0..." }
],
"content_root_sha256": "e3b1..."
}
content_root_sha256 to pojedynczy odcisk całej listy, więc także sama lista ujawnia każdą zmianę. Oblicza się go, biorąc po jednym wierszu path:sha256 na plik, sortując te wiersze, łącząc je znakami nowej linii i haszując wynik SHA-256. Każdy może obliczyć go ponownie z manifestu i potwierdzić zgodność.
Wiązanie załączników z kopią urządzenia
Każdy załącznik zapisuje też source_backup_sha256, odcisk, jaki ten plik miał w kopii zapasowej iPhone’a lub iPada, z której pochodzi. Eksport jest budowany względem własnej bazy sum kontrolnych tej kopii i odmawia zbudowania, jeśli któryś załącznik przestał się zgadzać, więc wyeksportowane zdjęcie jest związane z tą konkretną kopią urządzenia, a nie z czymś dodanym ręcznie.
Co jest poza listą odcisków
Tylko dwa pliki nie są wymienione na liście, z powodu strukturalnego: manifest.json nie może zawierać własnego odcisku, a manifest.json.tsr (znacznik czasu) powstaje z odcisku manifestu, więc pojawia się dopiero po jego zapieczętowaniu. Wszystko inne, w tym czytelne certificate.pdf, VERIFY.txt, DECLARATION.txt i tsa/cacert.pem urzędu, jest haszowane w manifeście jak każdy inny plik. Weryfikator ponownie oblicza SHA-256 samego manifestu i traktuje go jako odcisk pakietu.
Zaufany znacznik czasu
manifest.json.tsr to token znacznika czasu RFC 3161, struktura CMS SignedData, której messageImprint to SHA-256 pliku manifest.json. Aby go przyjąć, weryfikator potwierdza, że podpis tokenu jest ważny, że certyfikat podpisującego prowadzi do certyfikatu głównego DigiCert (token zawiera pełny łańcuch podpisu, od certyfikatu końcowego przez pośredni do głównego), że w poświadczonym czasie był w okresie ważności, że ma krytyczne rozszerzone użycie klucza id-kp-timeStamping (jak wymaga RFC 3161) i że skrót odpowiada SHA-256 tego manifestu. Weryfikator w Text2Store robi to wszystko w czystym kodzie bez dostępu do sieci i przypina własną kopię certyfikatu głównego DigiCert zamiast ufać cacert.pem z pakietu, więc podmieniony certyfikat go nie oszuka. VERIFY.txt wypisuje SHA-256 tego certyfikatu, byś mógł porównać go z opublikowanym certyfikatem głównym DigiCert na cacerts.digicert.com.
Sprawdź to sam, dokładnie
Zahaszuj dowolny plik i porównaj z jego sha256 w manifeście:
# macOS / Linux
shasum -a 256 transcript.pdf
# Windows (PowerShell)
Get-FileHash transcript.pdf -Algorithm SHA256
Sprawdź, czy zaufany znacznik czasu obejmuje dokładnie ten manifest i prowadzi do urzędu:
openssl ts -verify -data manifest.json -in manifest.json.tsr -CAfile tsa/cacert.pem
Plik VERIFY.txt w pakiecie rozpisuje te polecenia, łącznie z ponownym obliczeniem odcisku głównego, więc wystarczy je skopiować i wkleić.
Co liczy się jako zaliczone
Weryfikator powinien zgłosić Zweryfikowany tylko wtedy, gdy spełnione jest wszystko poniżej: każdy wymieniony plik jest obecny i pasuje do odcisku, odcisk główny daje się ponownie obliczyć, nie ma dodatkowych ani zdublowanych plików, a zaufany znacznik czasu przechodzi weryfikację dla manifest.json. Pakiet bez zaufanego znacznika jest Niezweryfikowany, wewnętrznie spójny, ale niezakotwiczony niezależnie, bo manifest nie może dowieść własnej integralności bez tego zewnętrznego podpisu. Każda niezgodność, dodatkowy plik lub znacznik, który nie przechodzi weryfikacji, oznacza Zmieniony.
Podpisane oświadczenie
Niektóre postępowania wymagają obok zapisu oświadczenia człowieka: osoby, która na piśmie stwierdza, jak zapis powstał. Oprogramowanie nie złoży takiego oświadczenia; może to zrobić tylko człowiek. Dlatego pakiet zawiera DECLARATION.txt: prosty szablon do wypełnienia, który ktoś (Ty lub osoba odpowiedzialna za akta) może dostosować i uzupełnić odciskiem manifestu, który sam obliczył.
To szablon, nic więcej. To nie porada prawna, a jeśli przygotowujesz coś do formalnego postępowania, najpierw daj to do przejrzenia prawnikowi.
Godziny i strefy czasowe
W czytelnych plikach PDF czasy wiadomości są pokazane w czasie lokalnym komputera eksportującego z wyraźnym przesunięciem UTC (na przykład 2026-06-30 21:14 -08:00), ze strefą czasową podaną na górze, więc zgadzają się z tym, co widziałeś na telefonie, i pozostają jednoznaczne. Dane do odczytu maszynowego (conversation.json) i zaufany znacznik czasu trzymają wszystko w UTC, więc ekspert zawsze odtworzy dokładne czasy.
Uczciwa granica
Eksport zweryfikowany jest tak kompletny jak kopia, na której się opiera. Text2Store może uwzględnić tylko to, co telefon jeszcze miał w chwili archiwizacji. Najlepszy nawyk jest prosty: rób kopie regularnie, by rozmowa była bezpiecznie przechwycona na długo, zanim będzie potrzebna. iOS utrzymuje usuniętą wiadomość jako możliwą do odzyskania przez kilka tygodni, więc świeża kopia często obejmuje więcej, niż się spodziewasz. Więcej w częstych pytaniach.
To nie porada prawna
Ta strona i materiały w eksporcie zweryfikowanym to ogólna informacja, a nie porada prawna, a korzystanie z Text2Store nie tworzy żadnej relacji zawodowej. Jeśli zamierzasz użyć eksportu w sprawie prawnej, to sprawa między Tobą a wykwalifikowanym prawnikiem w Twojej jurysdykcji; nic tutaj nie jest radą, czy i jak to zrobić.
Chcesz go wczytać do platformy przeglądu?
Eksport zweryfikowany dowodzi, że zapis nie został zmieniony. Jeśli zamiast tego musisz przekazać rozmowę zespołowi przeglądu eDiscovery, by wczytał ją do swojej platformy, potrzebny jest eksport RSMF (Relativity Short Message Format). Oba wykonują różne zadania i możesz przekazać oba: eksport zweryfikowany, by dowieść, plik RSMF, by wczytać.
Zobacz też
RSMF do przeglądu eDiscovery, eksport do PDF i czaty WhatsApp w kopii zapasowej.
Masz pytania?
Napisz na hello@text2store.com, pomożemy.