Niška tvrđava
Zašto se vreme objave ne može lažirati
Na X-u i Instagramu trenutak objave ne bira korisnik — upisuje ga server platforme u sam broj (ID) objave, u trenutku kada je objava napravljena. Taj broj je deo linka, pa svako može sam da izračuna vreme.
Nalepite link objave
Proračun se izvršava u vašem pregledaču; ništa se ne šalje na server.
Snowflake: vreme je ugrađeno u ID
Svaka objava na X-u dobija 64-bitni broj („Snowflake“). Prvih 41 bit su milisekunde od 4. novembra 2010. 01:42:54,657 UTC; ostatak su broj servera i redni broj. Zvanična dokumentacija X-a: ID-evi su „generated using a system called Snowflake“ i kodiraju „Timestamp — When the object was created“.
U originalnom kodu sistema vreme uzima System.currentTimeMillis() — sat servera, ne telefona. Ako bi se sat servera vratio unazad, sistem odbija da izda ID („Clock moved backwards. Refusing to generate id“). API za objavljivanje nema polje kojim bi korisnik zadao vreme ili ID.
- Izmene: objava se može menjati do 1 sata, ali svaka izmena dobija novi ID, a istorija izmena je javna. Proverili smo: S-01 S-03 S-06 S-08 nisu nikada menjane.
- Zakazane objave dobijaju ID tek kada postanu javne — vreme može biti samo kasnije, nikad ranije.
- Brisanje i ponovna objava daje novi, kasniji ID.
Isti princip, druga epoha
Inženjerski blog Instagrama („Sharding & IDs at Instagram“) opisuje ID kao „41 bits for time in milliseconds“ + 13 bitova šarda + 10 bitova rednog broja. ID se generiše u bazi podataka u trenutku upisa, pomoću clock_timestamp() — sata baze, sa epohom 1314220021721 (24. avgust 2011.). „Shortcode“ u linku (npr. DeHwKSjtjEj) je taj isti ID zapisan u base64 alfabetu.
- Instagram nema funkciju antidatiranja objava.
- Slika ili video u objavljenoj objavi ne mogu se zameniti. Mogu se menjati opis, oznake, lokacija, alt tekst, a od jula 2026. i muzika na objavama i od juna 2026. redosled na profilu — ništa od toga ne menja ID.
- Metodu je moguće proveriti na poznatoj objavi: „jaje“ BsOGulcndj- daje 4. januar 2019. — tačno kako je zabeleženo.
Šta vreme objave dokazuje — a šta ne
- Dokazuje da je sadržaj postojao na platformi najkasnije u tom trenutku (tačnost oko ±1 s).
- Ne dokazuje kada je snimljeno, ko je snimio, niti da je to prva objava — repost (npr. S-11) dokazuje samo da je snimak postojao do tada.
- Facebook dozvoljava antidatiranje objava (Help Center; Graph API
backdated_time), a Facebook ID ne sadrži vreme. Zato su S-15 S-16 S-17 označeni kao „Nepoznato“ i ne koristimo njihovo vreme. - Datum u samom fajlu (EXIF, MP4 „CreateDate“) menja se jednom komandom alatom ExifTool — zato je serverski ID jači dokaz od metapodataka fajla.
- Meta zvanično ne dokumentuje vezu shortcode → ID, ali je metod potvrđen nezavisno (poznate objave, a S-03 je verifikovani snimak ekrana objave S-02, objavljen 7 minuta posle nje).
Nezavisne potvrde vremena
- S-03 (X, verifikovano 19:39:25) je snimak ekrana reela S-02 — reel je, dakle, postojao pre 19:39:25, što odgovara izračunatom vremenu 19:32:02.
- N1 je u 21:17 ugradio S-01 u svoj izveštaj (M-05); nova.rs je u 21:13 ugradila S-03 (M-04).
- Odgovor na objavu ne može imati raniji ID od same objave — server ga generiše tek kad original postoji.
Izvori
- X Developer Platform — X IDs (Snowflake)
- Twitter Snowflake — README (41 bit vremena, 10 bit mašina, 12 bit sekvenca)
- Twitter Snowflake — IdWorker.scala (twepoch = 1288834974657, serverski sat)
- X API — Create Post (nema polja za vreme/ID)
- X API — Edit Posts (svaka izmena = novi ID)
- Instagram Engineering — Sharding & IDs at Instagram
- Instagram Help — izmena objave (opis, alt tekst)
- Facebook Help — promena datuma objave (antidatiranje)
- Graph API — page/feed: backdated_time
- Bellingcat — TikTok timestamp
- ExifTool — izmena datuma u fajlu
- sunrise-sunset.org API — Niš, 05.10.2026.