Tablerone was designed to protect users’ privacy because we value it ourselves.

  1. We can not see your application data (your browsing history)
  2. We do collect some developer data about usage and metadata about users — all anonymous and fully compliant with GDPR, CCPA, and PECR regulations
  3. We are fully committed to our pledge to never snoop on you, never share data with third parties, and to address any potential privacy breaches

Table Of Contents

Application permissions
Application data
User data
Usage data (analytics)
Caveats and opt-out
Business model
Open-source


Application permissions

As a browser extension app, Tablerone relies on browsers’ API capabilities to deliver its functionality. Upon installing Tablerone, you are granting the extension permissions to access information and data in your browser.

These are regularly audited for security and privacy by Google’s technical team before being approved into Chrome Web Store.

favicon Used to show favicons of the websites you visit in the Tablerone timeline.
tabs Enables Tablerone to interact with the browser’s tab system to create, modify, and rearrange tabs in the browser.
activeTab Provides information about active tab when invoked via the action or context menu and enables screenshots via captureVisibleTab.
bookmarks Enables Tablerone to import bookmarks as sessions and mirror its database within bookmarks to be synced with other devices.
contextMenus Used for right-click menu features (e.g. adding notes, naming the collection, toggling sleep/awake etc.)
alarms Used for triggering the Tab Sleep and Daily Clean-up functions at a particular time.
host permission <all_urls> — Grants the extension access to all hosts. We need it to ensure we don’t run into problems when calling 3rd party services (such as Mixpanel).
https://tabler.one — For calling services on Tablerone server (in-app notifications and share functionality).
storage Allows access to a limited storage area in the browser. Used to safely store user application data backups.
unlimitedStorage Tablerone IndexedDB was getting wiped by browser storage eviction; this permission guarantees exempt from that.
offscreen Browser-provided hidden page enabling extensions to perform manipulation without opening windows or tabs. Used to manipulate screenshot images.
downloads Used for downloading exported Tablerone data. (Optional, and sought only when required. Can be denied.)

Application data

Your application data (browsing history, saved collections, tags, etc.) is stored locally and leaves your device only if:

  1. You opt-in to “Add Tablerone sessions to Other Bookmarks” — this feature stores a copy of your Tablerone collections as native bookmarks, which can be uploaded to your browser vendor’s cloud storage and synced with other devices using the same profile.
  2. Use the “Publish” functionality to share specific collections with other people — in which case only the selected links are uploaded to our servers, made accessible to others, and automatically deleted after one day/week/month (user’s preference).

User data

The “no account” claim means that Tablerone works without standard e-mail and password log-in credentials.

Personal data

Personal data (first name, last name, and e-mail address) is collected only when you make a donation (required by the law) or send us an e-mail. We have no way to cross-reference or match your personal information with your user ID and associated usage data.

User metadata

Tablerone does collect some metadata about users and the way they use Tablerone through Mixpanel analytics. This metadata is stored under anonymised user IDs which can not be associated with any of your digital identities. Following is the full table of user profile properties being collected.

Property Property Description
$last_seen Timestamp of the last profile update.
$distinct_id The way to uniquely identify your users. You can set this to any value using the identify method. Some Mixpanel libraries assign a random value by default.
$city The city of the event sender, parsed from IP.
$country_code The two-letter country code of the event sender, parsed from IP.
$geo_source Internal Mixpanel property to record the source used to determine location
$region The region (state or province) of the event sender that is parsed from IP.
$timezone The timezone of the event sender, parsed from IP. If set, messages can be scheduled to be sent based on a user's timezone.
$browser The browser being used at the time the event was fired. (Not versioned)
$browser_version The version number of the browser being used at the time the event was fired.
$initial_referrer The referring URL at first arrival.
$initial_referring_domain The referring domain at first arrival.
$os The operating system of the event sender.
USER_ID
autoSaveToBookmarks Whether to save to bookmarks or not (Add Tablerone sessions to Other bookmars enabled)
closeTabsAndSave If true, we have one button (Save & close), if false we have two buttons (Save / Close)
doNotSuspendActiveTabs Free memory and CPU > unless "In focus"
doNotSuspendAudibleTabs Free memory and CPU > unless "Playing Audio/Video"
doNotSuspendPinnedTabs Free memory and CPU > unless "Pinned"
doNotSuspendWhitelist This is always true - we never suspend tabs from whitelisted domains.
newWindowMode ['one', 'two'] we assume from this setting also what user wants as "newTabMode", one => new tab is tablerone, two => new tab is default
notification0Clusters Was initial notifications at 0 Clusters seen: "Saving tabs will also close them. It’s “OK”, don’t panic..."
notification100Clusters Was notification at 100 saved clusters seen: "Happy 100th collection! We sincerely hope Tablerone helps you stay focused and achieve goals every day. Please, consider donating so we can keep Tablerone fresh and in shape!"
notification10Clusters Was notification at 10 saved clusters seen: "Hi! We are thrilled that you adopted Tablerone. Please, rate it on Chrome Web Store and tell us how we can improve!"
openCollectionSuspended Speedy loading enabled.
popupButtonClickAction If "openPopup" => we open popup, we just save. If "openTableroneTab" => we open Tablerone tab (old setting). If "openManagerTab" => dropdown with tabs to manage.
settingsVersion If we update settings, we upgrade version. For future planning in mind.
sleepEnabled Is Daily clean-up enabled.
sleepHour At what hour does clean-up start.
store From which store was extension loaded (future-proofing, all values are "chrome" at the moment).
suspendEnabled Does user have Put tabs to sleep enabled
suspendTimeMinutes After how many minutes do we suspend/discard tab.
tableroneDateFormat Date format set in Settings > Time.
tableroneTimeFormat Time format set in Settings > Time.
tableroneTimestampFormat
userFromDate From when does user use the Tablerone (install date)
userUid Unique ID of the user
tableroneVersion Version of Tablerone user is running at the moment
notificationSuspendOptInShown If true, suspend notification was shown. "X tabs are slowing your computer. Put them to sleep?"
notificationSeanEllis2021Shown If true, SeanEllis notification was shown.
theme Automatic => from OS, "dark" => Dark, "light" => Light
allFavouriteCollections Number of favourite collections
allTaggedCollections Number of collections with 1 or more tags
allTagsInCollections All different tags in collections
opened Counter: last number of opened collections
openedHidden Counter: last number of hidden collections (getting started etc.)
openedVisible Counter: last number of visible collections (listed on Tablerone tab)
openedVisibleTabs Counter: last number of tabs in visible collections (listed on Tablerone tab)
saved Number of saved collections
savedTabs Number of tabs in all saved colections
suspendWhitelist Array of suspend whitelist.
dbNotificationProductHuntTickerShown
uninstalled If true => user has uninstalled the product and does not use it anymore.
uninstalledDate Date of uninstall.
backupHour
extensionsDisabled We tried to find out if extension is disabled => impossible, ignore this when doing analysis.
extensionsEnabled We tried to find out if extension is disabled => impossible, ignore this when doing analysis.
extensionsEverDetected Legacy: ignore
extensionsInstalled Legacy: ignore
newTabOrHomeMode Legacy: ignore
backupTime
backupEnabled
suspendViaDiscard Legacy: ignore
$distinct_id_before_identity Internal Mixpanel property to track an events original $distinct_id before it updated due to $identify, $merge, or $alias. Only events that were copied over the canonical identifier have this property set. This property can be used to determine an event's $distinct_id before it was merged.
$had_persisted_distinct_id
$insert_id A random 36 character string of hyphenated alphanumeric characters that is unique to an event. Used to deduplicate events.
$ip_hash A hash of the ip for trends purposes
$is_reshuffled Internal Mixpanel property to identify if the event data is currently shuffled due to a recent identity merge
mp_processing_time_ms Time in milliseconds in Unix Time Stamp when an event was ingested by Mixpanel. While the "Time" property in Mixpanel is set in the time zone specified by the project, mp_processing_time_ms will always be in UTC (GMT) time.

Usage data (analytics)

Anonymised website data

We use Plausible Analytics to analyse our website traffic without tracking. For detailed information, please see Compliance details, Metrics and definitions, and Data Processing Agreement.

Anonymised usage data

We use Mixpanel to collect event-based data about which Tablerone functionalities are being used, when, and how. Following is the full table of events and properties being collected.

Event Event Description
suspendTab A tab is automatically put to sleep with the browser’s native discard method if the “Free memory and CPU: Put tabs to sleep after MM min of inactivity” setting is enabled.
tableroneTabFocused Tablerone tab becomes set to focus.
tableroneTabLoaded Content of the Tablerone tab is loaded automatically by opening a new browser window or manually by selecting the right-click context menu item or using a keyboard shortcut.
collectionReopen A collection is reopened by clicking the “Open all” button.
collectionTabXClicked An open tab inside a collection is closed by clicking the “X” icon button in the collection list.
collectionTabTitleClicked A tab is set to focus (if collection active) or opened as a new tab in the current window (if collection inactive) by clicking the tab’s page title in the collection list.
collectionSave A collection is saved by clicking the “Save” or “Save & Close” button.
extensionButtonClick A user-assigned action is triggered by clicking the Extension Button in the top right corner of the browser (default value: open save menu).
collectionShowAllClick A collection is expanded into the Highlight view by clicking the “Show all (#)” button below the collection list truncated to five items.
collectionTabClose A currently active collection is closed (with all tabs discarded) by clicking the “X Close” button (Note: applies only when the “Close tabs after saving” setting is OFF).
collectionDelete A collection is deleted from the Timeline by clicking the “Trash” icon.
sidebarOpen The sidebar is opened by clicking the “Open sidebar” icon in the top left corner.
sleep The “Daily clean-up” action is automatically triggered (if the “Autosave all tabs from the previous day at HH:MM” setting is enabled)
popupAction The Save Menu is opened by clicking the Extension Button in the top right corner of the browser, recorded after performing a specific action other than closing the menu. (Check “type” property for specific action.)
$identify Mixpanel event that merges an $anon_id and an identified $identified_id.
collectionTitleUpdate A collection title is changed by clicking the green checkmark icon button in the title edit mode.
timelineSearchQuery Tablerone Timeline is limited to collections containing a match with a search query string by typing at least three characters into the search input field.
unsuspendTab A currently selected tab is awakened by clicking “Tablerone > Put this tab sleep / Wake this tab” within the right-click context menu anywhere on a page.
collectionScreenshotClick A click on a collection screenshot is recorded; the action expands a collection into the Highlight view (same as “collectionShowAllClick”)
settingsOpen The “Settings” modal window is opened by clicking the “Settings” button (cog wheel icon) in the bottom right corner.
splashSlide A slide is moved forward/back within the “Getting started” user onboarding slideshow by clicking the arrow or pagination buttons.
sidebarClose The sidebar is closed by clicking the “Close” button (“X” icon).
collectionArchiveDelete A collection in the Archive is deleted by clicking the Trash icon.
openNewWindowViaButton A new session is started as a new browser window by clicking the “New session +” button on the top of the Timeline.
sidebarOpenArchive The archive timeline is opened by clicking the “Archive” link under the Tags section of the sidebar.
splashLoaded The “Getting started” user onboarding slideshow is loaded.
sidebarFavouritesCollectionClick A favourite collection is scrolled into view and expanded into Highlight view by clicking its title within the Favourites section of the sidebar.
collectionFavourite A collection is added to Favourites by clicking the “Add to Favourites” button (empty heart icon).
collectionClose A collection is closed by clicking the “Close” button (Note: this is not the same as the “Save & Close button”)
collectionTagsUpdate Tags describing a collection are added or modified by clicking the green checkmark icon button in the tag edit mode.
exportCollection A collection is copied to the clipboard in a format selected from the dropdown menu by clicking the “Copy as” button.
uninstalled Tablerone is uninstalled by clicking the “Remove” button within the browser’s about:extensions page. (Note: triggered by visiting a URL when uninstalling)
nuke All sessions are saved and closed by clicking the “Save & close all” button in the top right corner or pressing the keyboard shortcut combination.
collectionCollapseAndReturnToTimelineClick A collection in the Highlight view is collapsed by clicking the “Collapse and return to timeline” button.
buttonNukeClick “Save & close all" button is clicked.
collectionCopySelectedTabs Selected tabs (via checkbox) are copied to another collection by clicking the “Copy to” button and selecting/creating a collection from the dropdown menu.
clusterFocus Focus is set to an open Favourite collection by clicking on the floating right arrow icon in the sidebar.
sidebarTagClick A tag-specific timeline is opened by clicking the tag’s title link under the Tags section of the sidebar.
timelineSearchTag A specific tag’s timeline is limited to collections containing a match with a search query string that corresponds by typing at least three characters into the search input field. (Note: next event after sidebarTagClick)
shareCollectionPopupOpened The “Share” modal window is opened by clicking the “Share” button within a collection.
collectionMoveSelectedTabs Selected tabs (via checkbox) are moved to another collection by clicking the “Move to” button and selecting an existing collection from the dropdown menu.
emptyArchive All collections in the Archive are permanently deleted by clicking on the “Empty Archive” button.
contextMenuSuspend A currently selected tab is put to sleep by clicking “Tablerone > Put this tab sleep / Wake this tab” within the right-click context menu anywhere on a page.
collectionArchiveRestore A collection in the Archive is restored by clicking the “Restore” button.
settingsImportOpen The “Data import” modal window is opened by clicking any of the buttons within the “Settings > Import data” option.
editNotesPopupOpened A note editor modal window is opened by clicking the “Add+” button in the collection list within the Highlight view.
exportTablerone All Tablerone application data is exported in a selected format by clicking an option from the “Export data” pulldown menu in the Settings.
collectionMoveSelectedTabsToNewCollection Selected tabs (via checkbox) are moved to a newly created collection by clicking the “Move to “button and creating a new collection from the dropdown menu.
shareCollection A collection is shared as a web page by clicking the “Publish collection” button within the “Share” modal window.
contextMenuNewTableroneTab Tablerone is opened in a new (unpinned) tab by clicking “Tablerone > Open new Tablerone tab” within the right-click context menu anywhere on a page.
import Application data (OneTab, Session Buddy, or Tablerone backup) is imported by clicking the “Import” button in the data import modal window.
helpCenterOpen Tablerone Help Center modal window is opened by clicking the “Help” button (“?” icon) in the bottom left corner.
favouritesReorder A favourite collection is assigned to a new position within the Favourites sidebar list by drag-and-dropping it.
collectionTabCloseMultiple One or more open tabs inside a currently active collection are closed by selecting them with checkboxes and clicking the “Close selected” button.
collectionTabNoteSave A custom note associated with a specific tab is saved by clicking the “Save changes” button within the Add/Edit modal window.
collectionUnfavourite A collection is removed from favourites (in the sidebar list) by clicking the “Remove from favourites” (solid heart icon).
searchEmptyInput This event has been deprecated.
suspendMultipleTabsManual One or more tabs are manually put to sleep by selecting them with checkboxes and clicking the “Sleep” button.
bookmarksImport Tablerone’s import bookmarks feature is triggered.
shareCollectionShareSpecific The “Share with specific people” is turned ON by clicking the toggle within the “Share” modal window.
contextMenuDisplayScreenshots A screenshots viewer is opened in a new tab by clicking “Tablerone > Display screenshots” within the right-click context menu anywhere on a page.
helpcenterFaq Tablerone Help and Support website is opened in a new tab by clicking the “All support articles” link in the FAQ section within the Help Center modal window.
unsuspendMultipleTabsManual One or more tabs are reloaded by selecting them with checkboxes and clicking the “Wake” button.
donateClick Tablerone’s donate page is opened in a new tab by clicking any donation link instance (e.g. in Settings).
helpcenterSeeWalktroughVideo The walkthrough demo video is played by clicking the video player in the “Getting started” user onboarding slideshow.
helpcenterWriteAReview Tablerone’s Chrome Web Store listing page is opened in a new tab by clicking the “Review on Chrome Web Store” link within the Help Center modal window.
emptyArchiveCanceled Empty archive action is cancelled by clicking on the “Cancel” button within the alert dialogue.
collectionTabNoteDelete A custom note associated with a specific tab is deleted by clicking the “Delete note” button within the Edit modal window.
contextMenuRateUsOnChromeStore Tablerone’s Chrome Web Store listing page is opened in a new tab by clicking “Tablerone > Rate us on Chrome” within the right-click context menu anywhere on a page.
reportABug A new email compose window is opened in the default email client by clicking the “Email: feedback@tabler.one link within the Help Center modal window.
contextMenuNameThisCollectionClick The current collection’s title is changed to match the text selected on a page by clicking the “Tablerone > Name this collection” option in the right-click context menu.
contextMenuNameThisTabClick Selected text on the page is added as a note by clicking “Tablerone > Add note to this tab” within the right-click context menu anywhere on a page.
$session_end Mixpanel's virtual event triggered at the end of each user's session. Customize session timeout length, exclude events from sessions, or define event based sessions in project settings.
$session_start Mixpanel's virtual event triggered at the start of each user's session. Customize session timeout length, exclude events from sessions, or define event based sessions in project settings.
notificationSuspendOptInShown The Settings modal window is opened with the “Free memory and CPU “option highlighted after clicking the call to action button within this notification.
notificationSeanEllis2021Shown A Sean Elliott Test survey form is opened in a new tab after clicking the call to action button within this notification.
customNotification User clicks the call to action button within a custom notification; occasionally shown to all or specific users (by targeting anonymous user IDs that match a usage pattern)

Caveats and opt-out

We use Iubenda’s standardised Terms of Service and Privacy Policy legal documents.

“Types of Data collected” section states that “Unless specified otherwise, all Data requested by this Application is mandatory and failure to provide this Data may make it impossible for this Application to provide its services.

Technically, Tablerone can work without collecting any of the aforementioned data. However, usage analytics data is a crucial instrument for understanding how people use our application and being able to improve it.

We think it’s fair to collect anonymous usage data given the product and support are provided free of charge. In the future, we intend to provide a way to opt-out of it.


Business model

Currently, Tablerone is self-funded as we are still in the validation stage.

We accept and encourage donations as a signal of user satisfaction and business potential.

In the future, we intend to develop premium features that will ensure the sustainable long-term operations of the company.


Open-source

We know that open-source is the best way to stay accountable by enabling the public to verify our claims, so we pledge to open the codebase and roadmap once we pass the 1M ARR milestone. This is to secure a safe head-start and value of our intellectual property in a saturated and highly competitive market.