Repository navigation
Releases: shakibbinkabir/kept
Release list
v5.0.0 — Public launch
"Public launch." Kept is on Firefox Add-ons. Tested end to end in Brave against live Instagram before release: every check in Check Instagram passed (finding accounts, posts, reels, stories, highlights, single posts and chats); a chat of 269 messages exported with all 33 of its photos and shared-post pictures, its 17 shares drawn as Instagram's cards; and an export of an account's 3 latest posts saved a carousel, an image and a reel joined into one MP4. Mozilla's add-on checker finds no errors in the Firefox package.
Added
- On Firefox Add-ons: addons.mozilla.org/firefox/addon/kept-instagram-backup. Firefox 140 or later installs it in one click and keeps it up to date. The listing text is in
docs/store-listing.md.
Changed
- The README, the website and the privacy notes point to Firefox Add-ons; Chrome, Brave and Edge still install from the GitHub release. A Chrome Web Store listing comes later.
- The roadmap's 5.0 is done; a Chrome Web Store listing and a short demo video are next.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Firefox: install Kept from Firefox Add-ons (Firefox 140 or later); it updates itself. The kept-firefox-5.0.0.zip file below is the same package.
Full history: CHANGELOG.md
v4.9.3 — The website, simpler
"A website you can take in at a glance." Checked at desktop, tablet and phone widths: every headline fits in two lines, nothing runs off the side, and the pictures, the sample chat and the three steps all work.
Changed
- kept.thisissbk.com, rebuilt with far fewer words. One headline with the 3D ring; a row of numbers (no servers, a minute to set up, what it saves, four languages); See it at work, with real screens from Kept: a saved chat with Instagram's cards, which tilts into place as you scroll, the popup with its date picker and the Export Center; nine features, each an icon and one line; the three steps; the sample chat to type in; privacy as three short lists; what's working today; four install steps; questions that open when you tap them.
- Credit. A "Made by Shakib Bin Kabir" section with links to thisissbk.com, GitHub and Lintel, and a fuller footer: every page, the licence, and a line saying the site sets no cookies and loads nothing from anywhere else.
- The changelog and privacy pages share the new navigation and footer.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Firefox: the kept-firefox-4.9.3.zip file below is the same extension built for Firefox 140 or later. Load it from about:debugging → This Firefox → Load Temporary Add-on.
Full history: CHANGELOG.md
v4.9.2 — Kept's own controls
"Kept's own controls." Checked on every page in light, dark and Arabic: the date picker set the same values the old fields did (exports and jumps read them unchanged), worked from the keyboard, and axe, the accessibility checker, found nothing with it open.
Changed
- Switches for settings. Options in the popup and the Export Center are switches on the trailing side of each row, like a phone's settings; lists (chats, folders, highlights) use rounded checkboxes with a drawn tick, in place of the browser's grey boxes.
- Kept's own date picker replaces the browser's calendar in the popup and in chat archives: a month view with today marked, a month and year view for jumping far back, Clear and Today, arrow keys and Page Up/Down, and dates outside the chat greyed out. It follows the browser's language, including the first day of the week and right-to-left layout.
- Dropdowns have an arrow, the number field has no spinner, scrollbars are thin, and the search boxes in archives have a search icon and their own clear button.
- Faint text in dark mode is a little brighter, so it reaches a 4.5:1 contrast ratio on every panel.
Fixed
- In long chat archives, jumping to a date, a search result or "Show in chat" could land days away from the message, because days off screen aren't laid out until they're needed. It now lands on the right one.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Firefox: the kept-firefox-4.9.2.zip file below is the same extension built for Firefox 140 or later. Load it from about:debugging → This Firefox → Load Temporary Add-on.
Full history: CHANGELOG.md
v4.9.1 — Shares look like Instagram
"Shares look like Instagram." Checked against a real chat of 500 messages: its 28 shared reels, posts, story mentions and profiles came out as 17 reels, 2 posts, 6 story mentions and 1 profile, with 2 plain links left for shares that had no picture, and no "(no content)" rows remained. Each kind of card was compared side by side with instagram.com.
Changed
- Shared posts, reels, stories and profiles show as cards in chat archives, drawn the way Instagram draws them: a reel is a tall picture with the owner's photo, username and blue check on top; a post is a card with its picture and caption; a shared profile shows the photo, username and full name; a story mention shows "Mentioned you in their story" with the story's picture. The pictures and profile photos are saved in the archive's
shares/folder, so the cards work offline. With media turned off, a card falls back to its link and nothing is loaded from the internet. chat.txtandchat.mdname the owner of each share and say when it was a story mention.
Fixed
- Story mentions no longer show as "(no content)". Expired ones say "Story unavailable", as Instagram does, and are kept even when nobody reacted to them.
- The Links filter no longer counts story mentions as links.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Firefox: the kept-firefox-4.9.1.zip file below is the same extension built for Firefox 140 or later. Load it from about:debugging → This Firefox → Load Temporary Add-on.
Full history: CHANGELOG.md
v4.9.0 — Ready for everyone
"Ready for everyone." Tested in Brave with the interface in English, Bangla, Arabic and Spanish: every screen took its words from the browser's language, Arabic turned the whole layout right to left with usernames still reading correctly, and an export from the translated popup saved and checked out as before. axe, the standard accessibility checker, found nothing on the popup, the Export Center, the picker or the archive pages, in light and dark. The Firefox build passes Mozilla's add-on checker with no errors; it has not yet been run in Firefox itself.
Added
- Firefox.
node firefox/build.mjsbuilds the same extension for Firefox 140 or later, and each release now includeskept-firefox-<version>.zip. Firefox has no offscreen documents, so the export engine runs in the background page there; the first time, Kept asks for permission to read instagram.com, which Firefox doesn't grant on install. - Your language. The popup, the Export Center and the picker follow the browser's language: English, বাংলা (Bangla), العربية (Arabic) and Español, with English for anything not yet translated. Arabic turns the layout right to left; usernames, file names and date fields keep reading left to right. Adding a language is one file in
_locales/.
Changed
- Accessibility. The popup has a page title, a main region and a heading; faint text in light mode is darker, reaching a 4.5:1 contrast ratio; the picker's tip sits inside the page's main region; the selected filter in chat archives uses the deep blue, so its label is easy to read.
- Icons in the Export Center and the picker are built without
innerHTML.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Firefox: the kept-firefox-4.9.0.zip file below is the same extension built for Firefox 140 or later. Load it from about:debugging → This Firefox → Load Temporary Add-on.
Full history: CHANGELOG.md
v4.8.0 — Evidence mode and comments
"Evidence and comments." Tested end to end against live Instagram: a post export with comments saved 150 of a post's 2,938 comments with their replies; with evidence mode on, every file's SHA-256 checked out against the archive, the fingerprint matched, and a chat export recorded the people in it with their usernames, the thread, the date range, the exporting account, the timezone and a log.
Added
- Evidence mode. Tick Evidence mode (Options, or the Export Center) and every export gets an
evidence/folder:files.sha256with every file's SHA-256 (checkable withshasum -a 256 -c), one fingerprint for the whole export (the SHA-256 of that list, also shown when the export finishes),export.jsonwith what was exported (for chats: the thread, the people in it with their usernames, the first and last message), the account that exported it, when, the computer's timezone and browser, andlog.txt, the export step by step.README.txtexplains how to check it. Folder exports get a datedevidence_<time>folder. - Comments. Tick Include comments to save each post's comments (up to 150 per post) with the replies Instagram shows under them, as
comments.jsonand a readablecomments.txtbeside the post (for reels,<reel>.comments.json). Each says how many comments the post has in total.
Changed
- Chat archives keep the people's usernames and ids for evidence mode;
message_1.jsonstays exactly in Instagram's format.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Full history: CHANGELOG.md
v4.7.0 — Save button on instagram.com, best-quality video, JPG
"On Instagram itself." Tested end to end against live Instagram: the save button appeared in the top-left corner of a photo and saved it in one click, and on a six-photo carousel it saved just the photo on screen; a reel came out at 1080×1920 with sound (41 seconds long, seeking works) instead of 720p; images saved as JPG were real JPEGs.
Added
- A save button on instagram.com. Hover over a photo or video in the feed, on a profile grid, in a post or in Reels, and a small Kept button appears in its top-left corner, where Instagram has none of its own controls. One click saves that photo or video to
Downloads/Instagram/<account>/; on a carousel it saves the photo you're looking at. It floats above the page without changing it, and can be turned off in the Export Center. - Best-quality video. Instagram often keeps its sharpest video (up to 1080p) as separate picture and sound files. Kept now joins them into one MP4, without re-encoding, whenever that beats the ordinary 720p file, for posts, reels, stories, highlights, saved posts and the save button. If anything goes wrong it falls back to the ordinary file. On by default; turn it off under Options for smaller files.
- Save images as JPG. Instagram serves most images as WebP; tick Save images as JPG (Options, or the Export Center) to convert them as they're saved.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Full history: CHANGELOG.md
v4.6.0 — Followers and following CSV, snapshot comparison
"Your audience." Tested end to end against live Instagram: your own followers and following were exported in full as CSV with the accounts that don't follow you back; a second export compared itself with the first and listed new followers and unfollowers; another account's lists were exported slowly and capped.
Added
- Your followers and following, as CSV. My followers and following (CSV) saves both lists in full (username, name, id, private, verified and a profile link), opens in any spreadsheet app, and lists the accounts you follow that don't follow you back.
- What changed since last time. Kept keeps a snapshot of your lists in the browser, so the next export adds
new_followersandunfollowersfiles and a summary of the change. Each file is dated, so a folder export builds up a history. The Export Center can forget the snapshot. - Another account's lists, once. Their followers and following (up to 1,000) saves a public account's (or one you follow) lists, capped at 1,000 each and paced slowly so Instagram doesn't flag your account. Instagram shows other people only part of a large account's follower list; the summary says so. Kept never tracks other accounts over time.
- CSV files are safe to open in spreadsheet apps: text that would run as a formula is neutralised.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Full history: CHANGELOG.md
v4.5.0 — Tagged posts, archived stories, highlight covers
"More from profiles." Tested end to end against live Instagram: the popup opened on an account's Tagged tab offered its tagged posts and exported the newest three with their dates and authors; on your story archive it exported the newest archived stories by month, and a From/To range kept exactly the stories inside it; highlights with a date range saved only the stories in range, with each highlight's cover.
Added
- Posts they're tagged in. A new Posts they're tagged in choice saves the posts an account is tagged in, each with the account that posted it, its date and caption, and the usual Range, folder and file name options. Instagram's Tagged list leaves out dates and videos, so Kept loads each post's details one at a time, like reels.
- Your archived stories. My archived stories saves the stories in your own archive, sorted into a folder per month, with a gallery grouped the same way. A From/To range skips whole days outside it, so short ranges are quick.
- Highlight covers. Each highlight's cover image is saved as
cover.jpgin its folder, and the picker shows covers next to highlight names. - A date range for highlights. The Range options (everything, newest, oldest, From/To) now work for highlights too.
- The popup recognises an account's Tagged tab and your story archive, and picks the matching choice.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Full history: CHANGELOG.md
v4.4.0 — Chat insights and Markdown export
"Chat insights." Checked in a browser on a 20,000-message sample chat (every number cross-checked against the table views, hover labels, light and dark, reduced motion) and in a real export, which now carries chat.md and the Insights view.
Added
- Insights in the offline chat page. A new Insights button shows how the chat went: the number of messages and the days you talked, the first message, the busiest day, the longest streak of days in a row, photos, videos, voice notes, calls, links and reactions, and four charts: messages per person, by hour, by weekday, and per month (per year for chats longer than four years). The bars grow in when you open it (still with reduced motion), each shows its number on hover, and every chart has a table view.
- The chat as Markdown. Every chat archive now includes
chat.mdbesidechat.txt: a heading for each day, senders in bold, photos inline and videos and voice notes linked to their files, ready for notes apps and editors.
Not possible
- Voice-note transcripts. Instagram's web data has none: a voice message carries only the audio, its length and its waveform. If Instagram adds transcripts, Kept will save them.
Upgrading
Pull or download this release, then click the reload arrow on Kept in chrome://extensions. Keep an instagram.com tab open while exporting a profile.
Full history: CHANGELOG.md