The LMKFR Blog

The archive was always yours

Your Instagram data export is not a backup. It is a record of years of ordinary attention: when you posted, what you saved, who answered. These are notes on opening it, reading it honestly, and deciding what it means now.

Understanding your Instagram export

A four-part series · read in order

A four-part walk from the folder you downloaded to the story you can finally read: what the archive is, what is inside it, what it can honestly tell you, and what to do with it.

Understanding your exportStart here

How to read your Instagram data export

Your Instagram data export is a folder of folders, in formats most people cannot read. Here is how to request it, open it, and understand what is actually inside.

22 min read
Understanding your export

What's actually inside your Instagram data export

An Instagram data export is a folder of folders with no table of contents. Here is a guided tour of what is actually in each one, which files carry the real record, and which parts Meta computes rather than stores.

21 min read
Reading your archive

Your archive as a time capsule

An Instagram export is not a live feed - it is a snapshot. Reading it as a time capsule means asking what it can honestly show you about a period of your life, without overreading signals that simply were not recorded.

2 min read
Reclaiming your story

Local-first and data sovereignty for your Instagram export

Data sovereignty means you decide where your archive lives and who can touch it. A local-first design keeps custody in your hands by default, with opt-in sync only under strict constraints.

1 min read

Everything else

9 posts

Reclaiming your story

Is it safe to upload your Instagram data export?

Your Instagram data export is the most sensitive file most people will ever hold. Here is how to judge any tool that asks for it, how to verify a local-processing claim yourself, and what LMKFR does and does not send anywhere.

15 min read
Reclaiming your story

Security and privacy for your Instagram export

Processing a ZIP of your entire Instagram history comes with concrete threats. This is the engineering posture: harden parsing against ZIP bombs/path traversal, XSS/prototype pollution, worker DoS, and the split-key crypto envelope for the opt-in sync tier.

3 min read
Decoding your data

Who was actually in your Instagram life?

Almost your entire Instagram social graph lives in two files, and none of its history does. Here is every relationship list your export really contains, the set arithmetic that turns them into answers, and the three things it can never tell you.

23 min read
Reading your archive

What you actually said - messages and DMs in your Instagram export

Your Instagram export splits conversations into thread folders, and large threads are sharded across message_1.json, message_2.json and so on. This is how DMs, group chats and owned broadcast channels are reconstructed, and why unsent messages, media-in-thread and reactions can look odd if you read only one file.

3 min read
Decoding your data

Your posts, stories, reels and DM media in your Instagram export

Your own content is spread across several files. Posts, reels, stories, profile photos, recently deleted, watch history and DM media are all parsed separately. This is what each bucket is, how it is found in the archive, and what can look like a missing post when it is not.

2 min read
Decoding your data

Activity - what you did and what you saw in your Instagram export

The activity folder is the biggest and least obvious. Likes, comments, searches, story interactions, poll/Q&A answers, saved items, reposts, link history, ads, posts you viewed/interested in, note interactions and watch history are all separate files. This is what they map to in the archive and the rule that matters: watch history is consumption, not "your activity" in the same sense as actions you took.

3 min read
Understanding your export

What you told Instagram about yourself

Your profile details live in a few small files under personal information. The parser normalizes different shapes (modern string_map_data with label_values merged, and older simple objects), filters untrusted labels to avoid prototype pollution, and extracts only what is actually recorded.

2 min read
Building LMKFR

Why local-first matters for your Instagram export

Your Instagram data export is sensitive. A local-first approach means it never leaves your device unless you explicitly opt in. LMKFR processes everything client-side by default, with an opt-in claim layer designed to avoid taking your archive.

2 min read

What this blog will not do

It will not tell you who your real friends are. It will not turn your archive into a personality test, and it will not pretend your export is more complete than it is. Several of these posts exist mostly to say where the data stops.

The LMKFR Blog — LMKFR