What MorrowTab stores, and where.
MorrowTab is a new tab page for Chrome and Edge. It uses your browser's extension storage by default and also offers an optional, email-based FixQuotes Sync account. This policy explains what data is collected, why it is used, where it is stored, who receives it, how it is protected and retained, and how you can delete it.
Effective
The short version
- Your boards, columns, links, extra search engines, shared settings, per-link click counts and configured auto-close intervals use Browser Sync by default. Google or Microsoft operates that sync service. FixQuotes receives no copy through Browser Sync.
- FixQuotes Sync is optional. Requesting a sign-in code sends your email address to FixQuotes and Mailgun. Verifying the code creates a FixQuotes Sync account and device session. Only after you review the disclosure and choose Connect to FixQuotes sync does MorrowTab upload and store your board data with FixQuotes.
- Browser Sync and FixQuotes Sync both contain saved addresses and other information you enter. Data travels over HTTPS, but neither mode is end-to-end encrypted by MorrowTab. Authorized FixQuotes server operators can read a FixQuotes cloud replica, so treat synced data as non-confidential.
- Device-only preferences, caches, recovery copies and, when applicable, a FixQuotes Sync credential and offline replica stay in local extension storage. Uploaded backgrounds, downloaded calendar events, cached images and saved search suggestions are not uploaded to FixQuotes Sync.
- If you enable link auto-close, live managed tab IDs, original hostnames and countdown state stay in extension session storage only. They are never synced, exported or kept after the browser session ends.
- MorrowTab contacts
fixquotes.comfor the daily quote,api.fixquotes.comfor optional FixQuotes Sync, nature metadata and website-icon lookup,images.pexels.comfor nature photos, and only sites or calendar feed addresses you explicitly provide and grant access to. - The daily quote is on by default and requests
fixquotes.comat most once per local day. Setting it to Off stops that request completely. - The nature background is on for new sample setups and their read-only previews,
which may request photo metadata from
api.fixquotes.comand photo bytes fromimages.pexels.com. Turning it off in Settings stops those requests. Existing background choices are unchanged; an absent or theme-only preference stays off. - Download website icons is on by default on each computer. For a link without a working bundled icon, eligible lookups send only its hostname to FixQuotes, not its complete address or title. FixQuotes retrieves public website artwork directly. Turn this setting off on a computer to stop new icon requests there; cached icons remain.
- On Zoom recording pages, MorrowTab reads the page title and video source addresses only to provide its download overlay. That information stays on the Zoom page and is not stored in Browser Sync or FixQuotes Sync.
- There is no analytics, no telemetry, no advertising tracker and no remote code in the extension. This website runs no analytics and sets no cookies.
1. Who publishes MorrowTab
MorrowTab is published by FixQuotes. You can read about the publisher on the FixQuotes about page (opens in a new tab).
This policy covers the browser extension declared as MorrowTab: Links & Calendar, a Manifest V3 extension for Chrome and Edge on Chromium 114 or newer, together with this website. MorrowTab is distributed through Microsoft Edge Add-ons (opens in a new tab) and the Chrome Web Store (opens in a new tab). This policy applies to both distributions.
For a private support or privacy request, use the FixQuotes contact page for MorrowTab (opens in a new tab). That form is required for FixQuotes Sync account deletion; the live page may also offer FixQuotes' Discord community for general public conversation. There is no in-extension feedback form or separate MorrowTab support address.
No account is required to install or use MorrowTab. Browser Sync uses the account and settings of your browser profile. If you voluntarily enable FixQuotes Sync, MorrowTab creates a separate FixQuotes Sync account identified by your email address; it uses one-time email codes rather than a password.
2. Browser Sync and the shared board format
Browser Sync is MorrowTab's default. It writes shared data to chrome.storage.sync, the
browser's own extension sync area. That data travels through the sync service of the browser
profile you are signed into — Google's for Chrome, Microsoft's for Edge. FixQuotes operates no
server for Browser Sync and receives no copy through it. The optional FixQuotes Sync service in
section 3 uses the same logical board format but has different recipients and storage.
Schema 2 separates your logical MorrowTab data from the way it is transported. Each browser profile creates a random actor identifier and publishes only its own compressed checkpoint. A checkpoint includes the logical records below plus counters and causal context needed to merge work from online and long-offline computers without one computer replacing another's copy.
The checkpoint is canonical JSON compressed with gzip, base64-encoded and divided into bounded Sync items when necessary. Its envelope declares compressed and uncompressed sizes and a SHA-256 digest; MorrowTab validates the complete item set, sizes, digest and decoded records before using it. This compression saves space. It is not encryption. Exact transport key names are intentionally not part of this policy because they carry no additional user data and may change without changing what is collected.
A normal save submits that profile's new chunks, schema marker and actor pointer in one multi-key browser Sync write. Superseded chunks owned by the same actor are removed after editing becomes idle; a failed cleanup backs off and retries. Another profile's actor checkpoint is never removed by that routine.
Your content materializes into five logical record shapes:
Plugin.meta
One record holding schemaVersion, boardOrder (the order your boards
appear in), and a settings object: theme, density,
openLinksInNewTab, layout, openSearchInNewTab,
fetchLinkTitles, orderLinksByUsage, dailyQuoteMode,
backgroundMode and boardPicker. These are single shared settings, not
per-board ones.
Plugin.board.<id>
One record per board: id, name (the board name you typed),
columnOrder, searchEngineIds, and lastSearchEngineId. A
calendar board also stores kind, up to ten calendarFeeds entries with
the name, private feed address and accent color you chose, and optional timeFormat
and calendarFullWidth display settings.
Plugin.column.<id>
One record per column: id, title (the column heading you typed),
boardId, linkIds, and an optional color holding the accent
you picked.
Plugin.link.<id>
One record per saved link: id, title, url,
boardId, columnId, an optional newTab for a per-link "opens
in" override, an optional autoCloseMinutes set to 5, 10, 15, 30, 60 or 120 only when
newTab is true, and an optional clicks integer. The record format also
allows an optional description of up to 200 characters, typed into the link editor's
single-line Description field. Quick Save never writes a description or inactivity timeout.
About clicks: every left-click and middle-click on a saved link
increments that link's usage value, and the new value is included in the synced logical record. This happens
whether or not "Order links by most used" is switched on. It is a plain integer — there are no
dates or times in the value itself — but schema 2 surrounds changes with pseudonymous actor and
logical-counter metadata. The usage value syncs with the rest of your data and is included in an
exported backup. "Reset usage" appears while usage ordering
is enabled and clears every counter after confirmation.
Plugin.searchEngine.<id>
One record per extra search engine you add: id, name,
urlTemplate (the address template containing {query}),
boardId, visibleOnAllBoards, and the optional list of boards a search engine is shown on. The permanently-first "Browser default"
option is built in and is not a stored record.
How conflicts are represented
Record presence and each top-level field have causal version metadata; shared settings are tracked separately per setting. The metadata consists of the random actor IDs, increasing logical counters and the counters a device had already observed. It contains no hardware serial number, operating system account, wall-clock activity time, IP address, tab history or browsing log.
Causally later changes replace values they observed. Concurrent changes to different records or fields both survive. Concurrent values for the same field remain represented and choose one deterministic result on every computer. A live edit concurrent with a delete is kept; a delete made after observing an edit wins, and an explicit later recreation wins again. Child ownership establishes membership, while board/column/link ordering arrays are only ordering hints, so an older ordering list cannot hide a newer item.
The current schema-2 release validates and automatically upgrades a complete schema-1 MorrowTab graph before publishing its first schema-2 checkpoint. Incomplete or invalid legacy data is unchanged and read-only. A newer-schema marker also makes schema-1 releases refuse writes, although every computer should still be updated to the current release before editing.
What is not in there
The configured autoCloseMinutes value is a setting, not activity history. Logical link
records carry no wall-clock timestamp, tab ID, live deadline, visit history or browsing log. The text you type into
the search box is never written to sync. Nothing about the pages you visit is written to sync
unless you deliberately save that page as a link.
Sync is not end-to-end encrypted
Whatever encryption or sync passphrase your browser applies to extension data is the browser's feature, not MorrowTab's. MorrowTab adds no application-level or end-to-end encryption of its own; gzip and base64 only make checkpoints smaller and transportable. Treat board names, column headings, link titles, saved addresses, custom search templates, random actor IDs and logical counters as non-confidential. If something should not sit in your browser profile's sync data, do not save it in MorrowTab.
How Browser Sync is controlled
There is no in-extension switch for Browser Sync. It follows the sync settings of the browser profile itself. If your browser profile is not syncing extension data, those records stay in that profile's storage on that computer; if it is, they travel with the profile. Connecting to FixQuotes Sync changes which copy MorrowTab actively edits, but does not delete the existing Browser Sync records.
How much can go in
MorrowTab enforces its own ceilings before every write: at most 500 Sync transport items, 8 KB per item and 100 KB in total, within logical caps of 30 boards, 120 columns (40 per board), 250 links (200 per column) and 80 search engines (20 per board). Checkpoint chunks use a smaller internal target. Exceeding any limit means the write is refused, not truncated.
Zero records can mean a genuinely new profile or Sync that has not hydrated yet. Missing chunks, partial legacy records, corrupt compressed bytes and size/hash mismatches also remain read-only. None of those states is treated as permission to publish the sample board or delete arrived data. A new user can explicitly choose Start with sample board on the welcome page; a returning user can choose Use my synced boards, which writes nothing while Sync catches up.
3. Optional FixQuotes Sync
FixQuotes Sync is an optional account-based alternative for people who need more storage or want to use the same boards across Chrome and Edge. Browser Sync remains the default. A storage-limit notice may invite you to set it up, but showing or opening that notice does not create an account or transfer board data.
What happens when you sign in and connect
- When you choose Send sign-in code, MorrowTab sends the normalized email address you entered to FixQuotes. FixQuotes sends a one-use, eight-digit code through Mailgun.
- When you submit the code, FixQuotes verifies it and creates or opens a FixQuotes Sync account with a random account ID and a device session. This step lets MorrowTab inspect whether that account already has boards; it does not by itself upload this computer's boards.
- MorrowTab shows the destination and data disclosure. If the account already has data, you choose whether to use it or merge it with this computer's boards. Only when you press Connect to FixQuotes sync is the selected board replica uploaded and stored.
Each computer signs in separately. The service allows up to 4 MiB of serialized replica data and 5,000 active links per account. MorrowTab keeps an offline working copy and queues changes locally when the service cannot be reached.
Information FixQuotes collects and stores
- Account and authentication information: your normalized email address, a random account ID, hashed sign-in codes, failed-code counts, hashed device-session tokens, session creation and expiry times, and temporary rate-limit counters. Rate limiting uses keyed hashes of email and IP address where required; it does not store the sign-in code or device token in plaintext on the server.
- Your board replica: board and column names and order; saved link addresses, titles, descriptions, board placement, opening choices, auto-close settings and click counts; custom search-engine names, address templates and visibility; shared preferences; private calendar feed names and addresses; random actor IDs, logical counters, revisions, update time, conflict values and deletion metadata described in section 2.
- Request information: the FixQuotes server, Cloudflare and IIS necessarily
receive the source IP address, user-agent and ordinary HTTPS request metadata. Access logs can
contain date and time, request method and path, edge and client IP addresses, user agent,
referrer, response status, byte counts and request duration. They do not contain the sync
request body or its
Authorizationheader. Sync routes bypass FixQuotes' general application request logger. Local IIS log files are currently retained for approximately 75 days; upstream providers can apply their own retention.
A private calendar feed address can grant anyone holding it access to that calendar. Store one with FixQuotes only if you accept that risk. FixQuotes Sync stores the address so other computers can fetch the feed; it does not upload the downloaded event titles, times, locations or descriptions.
FixQuotes Sync does not upload saved search suggestions or search-box history, uploaded background images, cached quotes, downloaded website icons or nature photographs, downloaded calendar events, the local calendar layout, live tab IDs, browsing history, or Zoom page and video information.
Why the information is used
FixQuotes uses the email address to deliver sign-in codes, identify the sync account, verify an account-deletion request and provide account support. Authentication and rate-limit information protects the service against unauthorized access and abuse. The board replica, revision and update information are used only to store, synchronize, merge, recover and enforce the capacity limits of the MorrowTab boards you chose to connect. They are not used for advertising, marketing, profiling or unrelated product development.
Who receives the information
- FixQuotes operates the MorrowTab API and dedicated account database. Its authorized infrastructure and operators can process the account and board information above only as needed to provide, secure, maintain or support FixQuotes Sync.
- Cloudflare processes API traffic and infrastructure metadata as a service provider used to route and protect FixQuotes requests. It is not authorized to use MorrowTab data for advertising or another independent purpose.
- Mailgun processes your email address, the sender, subject, one-time-code message and delivery metadata as FixQuotes' email delivery provider. For the FixQuotes mail domain, message content is retained for three days and delivery-event metadata is normally retained for about 30 days. Open and click tracking are disabled for these messages. A hard bounce or complaint can create a suppression record containing the address; Mailgun keeps that record until FixQuotes removes it or closes the account, and may keep a deleted suppression in disaster-recovery backups for up to 30 days. Requesting a code does not subscribe you to a newsletter or marketing email.
- Google or Microsoft processes the Browser Sync data in section 2 when that feature is enabled in your Chrome or Edge profile. They do not receive FixQuotes device tokens through MorrowTab.
- Google or Apple Maps receives the selected address as a URL query only when you choose its right-click action. The temporary selection reader runs locally and the other provider and FixQuotes receive none of that selected text. MorrowTab does not retain it; handling after navigation is controlled by the selected provider.
- The other functional recipients — Pexels, a calendar-feed host, a page-title site, a search provider or a public website whose icon FixQuotes retrieves — receive only the requests described in section 5 when you use the corresponding feature.
FixQuotes does not sell MorrowTab user data, share it with advertisers or data brokers, use it for personalized advertising, or use it to determine creditworthiness or lending eligibility. It may disclose information only to service providers needed to operate the feature, when you direct it, to investigate abuse or security incidents, or when legally required.
Security and human access
FixQuotes Sync requests use HTTPS, refuse redirects and omit cookies and referrers. The device
token is sent only in the HTTPS Authorization header. Server-side sign-in codes and
device tokens are stored as cryptographic hashes, and the authentication key is kept outside the
web root with restricted system-administrator access. On this computer, MorrowTab keeps the device
token in extension local storage and restricts that storage to trusted extension contexts; anyone
who can access the browser profile or operating-system account may still be able to read it.
FixQuotes Sync is not end-to-end encrypted. HTTPS protects data in transit, but the server must be able to read the board replica to validate, store and return it. MorrowTab clients perform the merge. Authorized operators may access identifiable board data only with your explicit consent for support, when necessary to investigate abuse or a security incident, when legally required, or where the data has been aggregated and de-identified for internal service operations. Do not store information in MorrowTab that must remain confidential from the service operator.
Retention, access and deletion
A sign-in code expires after ten minutes, can be used once and stops working after five failed attempts. A device session expires after 30 days; when the service is reachable, signing out revokes that computer's current server session. At most 20 device sessions are retained for an account. Expired challenge, session and rate-limit rows are removed by later cleanup; expiry is enforced even before a row is physically removed. Rate-limit records use one-minute, ten-minute or one-hour windows.
The account email, account ID and latest board replica remain while the FixQuotes Sync account is active. You can access and correct board content by signing in and editing it in MorrowTab. Signing out or uninstalling the extension does not delete the server account, because another connected computer may still use it. To delete the FixQuotes Sync account, board replica and all server sessions, submit a request through the FixQuotes contact page for MorrowTab (opens in a new tab). FixQuotes will require fresh verification of the account email before completing deletion.
Account deletion removes the active account, board replica, sign-in challenges and device sessions from the service database. FixQuotes maintains multiple infrastructure and database backup or recovery layers for disaster recovery. Deleted data can remain in those recovery copies; they are not used for ordinary service operation or restored selectively for one account. Not every current layer has a verified automatic expiry or a single maximum retention period, so FixQuotes cannot promise when deleted data will leave every recovery copy. Mailgun and hosting or proxy providers control any additional delivery and infrastructure logs as described above. Deleting the FixQuotes account does not delete copies already held in Browser Sync, local extension storage or exported files; section 10 explains how to remove those separately.
Chrome Web Store Limited Use
The use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements (opens in a new tab). MorrowTab uses or transfers data obtained through Chrome APIs only to provide or improve its user-facing features, subject to the narrow security, legal and user-consent exceptions described above.
4. What stays on this computer
MorrowTab keeps device preferences, caches, safety and recovery values in
chrome.storage.local. They belong to one browser profile on one computer. The schema-2
actor identifier is also included as pseudonymous metadata in the board replica this profile
publishes. FixQuotes Sync adds the three local values listed separately below, and one separate
paint-only value is stored in web localStorage as described after them.
- A persistent schema-2 actor identifier — a random installation ID used with logical counters so this profile can own its checkpoint and merge causally. It is not derived from hardware, your browser account or personal information.
Plugin.localActiveBoardId— which board this computer is currently showing.Plugin.localQuickSaveTarget— the board and column Quick Save last saved to, as{ boardId, columnId }.Plugin.localSearchHistory— the search text you submitted, kept per search engine so it can be offered back as autocomplete. Each entry is normalized and capped at 512 characters, de-duplicated case-insensitively, and limited to 50 entries per engine. There is no time-based expiry; entries for engines you delete are dropped on the next load.Plugin.localSearchHistoryEnabled— whether new queries are recorded. It defaults to on, and the "Save search suggestions" toggle in Settings controls it.Plugin.localBackgroundImage— a background image you uploaded, downscaled to a 2560 px maximum side and re-encoded as a WebP data URL. The original file is never uploaded anywhere and never enters sync.Plugin.localPexelsNatureBackground— the nature photo cached while that feature is enabled, stored as a verified WebP data URL alongside the SHA-256 digest it is re-checked against on every read.Plugin.localDailyQuote— the cached quote of the day, so the page can render before any request is made.Plugin.localLastGoodSnapshot— a rolling copy of the last cleanly-loaded synced records, kept so a damaged sync state can be recognized.Plugin.localPreReplaceSnapshot— a copy of the synced records a backup import replaced, kept so an unwanted import stays reversible.Plugin.managedTabs.failClosed— a temporary Boolean safety marker written only if the background worker cannot safely persist or cancel an automatic-close deadline. It contains no tab ID, hostname, URL or timer.Plugin.localAutoClosePermissionPrompted— a Boolean remembering that this installation has already offered the optional auto-close permission, so a refusal does not trigger another automatic prompt on later clicks, new tabs or reloads. It contains no tab ID, hostname, URL or browsing history and is not itself a permission grant.Plugin.localFaviconCache— up to 128 hostname-keyed icon entries within 256 KiB, containing verified small PNG images and expiry metadata. Successful icons stay fresh for seven days and can be used stale for at most 30 days. Explicit no-icon or blocked results are remembered for 24 hours. Transport failures start with a five-minute retry delay and back off to at most 24 hours, with a shared cooldown to reduce requests during outages.Plugin.localFaviconDownloadsEnabled— whether this computer downloads missing or stale website icons. It defaults to on. Turning it off stops new requests without deleting the reusable icon cache.Plugin.localCalendarCache— for each calendar feed a calendar board subscribes to, the feed address, download and success times, success state, last error, a content fingerprint, and the events for the coming weeks. An event can contain its source UID, feed address, all-day flag or start/end values, title, location, description and a direct event link when the feed supplies enough information. It exists only on a computer that has downloaded a feed, and an entry is deleted as soon as no board references that feed any more.Plugin.localCalendarView— which calendars you have hidden on a calendar board and whether it shows the agenda, week or month layout. Written only when you change one of them; it contains the selected layout and hidden feed addresses, but no downloaded event data.
If you sign in to or connect FixQuotes Sync, MorrowTab also keeps:
Plugin.localCloudSession— the FixQuotes account ID, normalized email address, service address, device-session expiry and the bearer device token. The token is deliberately excluded from Browser Sync and exported backups.Plugin.localCloudSync— the account ID, email, service address, local actor ID, complete offline board replica, pending-edit marker, server revision, last successful sync time and latest error state. Keeping the replica locally lets you continue editing offline.Plugin.localBeforeCloudSync— a recovery copy of the logical board records that were active immediately before this computer first connected to FixQuotes Sync. It can be exported separately from Settings.
morrowtab.appearance (web localStorage)
The new-tab page writes one device-local appearance cache to its own extension origin's web
localStorage so the next tab can paint without a theme flash. It contains the last
rendered theme, density, layout, daily-quote mode, whether custom or nature backgrounds were
active, the reserved quote height and the document title. The document title can include the name
of the board that was visible. The values are validated before use, overwritten as the appearance
changes, and never enter Browser Sync, FixQuotes Sync or an exported backup.
These are ordinary extension storage values held in plain text inside your browser profile directory. MorrowTab does not encrypt them. After a FixQuotes credential is created, MorrowTab restricts local extension storage to trusted extension contexts, but anyone with access to that browser profile or operating-system account may still be able to read it.
Find saved links (temporary page memory)
The separate Find saved links dialog searches titles, addresses and descriptions in the board library already loaded on this computer. Its query and results exist only in that open page's memory and are cleared when the dialog closes. Queries are not written to local search history, Browser Sync, FixQuotes Sync or exported backups, and are not sent to a search provider or FixQuotes. Choosing a result then opens the saved address normally; choosing Show on board navigates within MorrowTab instead. This feature is separate from web search and saved web-search suggestions.
Plugin.managedTabs (session only)
If at least one saved link has an inactivity timeout and MorrowTab opens it, the background worker
writes one temporary registry to chrome.storage.session. It is keyed by the managed
tab ID; each entry contains that tab's window ID, the original hostname with a leading
www. removed, the selected number of minutes, and either the time it entered the
background or null while its countdown is stopped. The single alarm name
Plugin.managedTabs.autoClose carries no additional data.
This registry exists only so a suspended Manifest V3 worker can safely resume the current browser session. It is not written to Sync or local storage, is not exported, and is cleared when the browser session ends or the extension is reloaded, disabled, removed or updated. MorrowTab does not rebuild it from saved links, so no old tab is closed after a restart.
If the Boolean fail-closed marker is present when a background worker starts, automatic closing stays disabled while the worker removes the session registry and its alarm. Only after both are cleared does it remove the marker and allow newly opened managed tabs. The marker is never synced or exported.
5. Every network request MorrowTab can make
The extension declares three fixed hosts plus one optional, per-site permission that two features use, each for a site you name yourself. The table below is the complete list of requests the code can issue.
| Host | When | What is sent |
|---|---|---|
fixquotes.com |
While the daily quote is set to Text, Picture (bottom) or Picture (top). Text is the default, so a fresh install does make this request. At most one attempt per local calendar day: once the day's quote is cached, other tabs use the cache. Setting the quote to Off aborts any request in flight and makes no further one. | A GET of
https://fixquotes.com/feeds/qotd-v2.json: no cookies or credentials,
no referrer, no query string, no request body, no identifier of any kind.
Redirects are refused and the attempt times out after 8 seconds. In the two
Picture modes the quote image is then loaded from the same host. |
api.fixquotes.com |
When you voluntarily use FixQuotes Sync: requesting and verifying a one-time email code, checking the account's existing state, connecting, synchronizing, retrying queued edits or signing out. No account or board request is made if you do not use the FixQuotes Sync controls. | HTTPS requests under
/public/morrowtab/sync. Code requests send the normalized email;
verification sends the random challenge ID and eight-digit code. Authenticated
requests send the device token in the Authorization header. State
uploads send the server revision and complete board replica described in sections
2 and 3. Cookies, referrers and URL credentials are omitted, redirects are
refused, responses are not cached, and each request times out after 15 seconds. |
api.fixquotes.com |
Only while "Daily Pexels nature" is enabled. New sample setups and their read-only previews enable it by default; existing background choices are preserved. Turning it off stops background requests. An uploaded background takes priority and suppresses the request entirely. | A GET of
https://api.fixquotes.com/public/morrowtab/nature-background for the
photo's metadata: no cookies or credentials, no referrer, no query string.
Redirects are refused and the attempt times out after 10 seconds. |
images.pexels.com |
Immediately after that metadata request, to download the photograph it names. Never on its own, and never while the nature background is off. | A GET of the photo address returned in the metadata, which must be
an https://images.pexels.com/photos/… URL: no cookies or credentials,
no referrer, redirects refused. Pexels is a third party operating its own image
service. |
api.fixquotes.com |
While Download website icons is enabled on this computer (the default), when a link has no working bundled icon and its downloaded icon is missing or due for refresh. Fresh cached icons avoid requests. Turning the setting off stops new icon requests and keeps cached icons. | A POST to
https://api.fixquotes.com/public/morrowtab/favicon with JSON
{ "hostname": "..." }. It preserves the exact subdomain, including
www, but contains no saved path, query, fragment, title, username or
password. Cookies and referrers are omitted. FixQuotes retrieves the artwork
directly from public websites and returns a verified 32×32 PNG; no third-party
favicon service is used. |
| The one site you typed | Only when both are true: "Fetch page titles when adding links" is on (it is off by default) and you granted that single site's access at your browser's own permission prompt. It never runs while you edit an existing link. | A GET of the exact address you typed, 400 ms after you stop typing:
no cookies or credentials, no referrer, Accept: text/html,application/xhtml+xml, a
7-second timeout. A declared response larger than 1 MB is rejected; otherwise
MorrowTab uses at most the first 1 MB to find the page's <title>,
then sanitizes and cuts it to 160 characters. |
| The calendar feeds you subscribe | Only on a calendar board, and only for a feed address you added yourself and whose site you allowed at your browser's own permission prompt (asked when you save the calendar, or from the board's Allow access button). A feed is fetched when a calendar board opens and its copy is older than 30 minutes (5 minutes after a failure), once a minute while the board stays visible if it has gone stale, and when you press Refresh. Removing the calendar stops its requests. | A GET of the exact private iCal address you pasted (a
webcal:// address is stored as https://): no cookies or
credentials, no referrer, Accept: text/calendar, a 15-second timeout,
at most 32 MB, and the answer must be an iCalendar file. Event titles, times,
locations and descriptions downloaded from that file are kept only on this
computer and are not uploaded by MorrowTab; MorrowTab never writes to a calendar.
The feed address itself syncs with the board through Browser Sync or FixQuotes
Sync, and anyone who obtains it can read that calendar, so treat it like a
password. |
What a request unavoidably reveals
Any request from your computer to any server reveals your IP address and your browser's
user-agent string to whichever server answers it. That is true of the requests above.
MorrowTab omits cookies and referrers. Quote, nature and icon requests carry no account
credential; authenticated FixQuotes Sync requests necessarily carry the device token in
the authorization header. Icon lookup carries a hostname in its POST body. The Pexels image URL carries only the sizing
parameters FixQuotes chose, and a page-title request uses the address you typed — but it
cannot control what those servers choose to log, and
images.pexels.com is operated by a third party whose logging is outside
MorrowTab's control entirely. MorrowTab is not anonymous, and this policy does not claim
it is.
FixQuotes Sync uploads the complete board replica only after you explicitly connect it. The quote, nature and website-icon endpoints never receive that replica, and no endpoint receives the text you type into the search box. Website-icon lookup does reveal a saved link's hostname to FixQuotes. Keeping it in a POST body avoids putting it in the application request URL; it is not a guarantee against body, infrastructure or operational logging.
Icon lookup rejects private IP literals and obvious internal or reserved hostnames, but cannot reliably distinguish a public-looking intranet hostname from a public website. Turn Download website icons off before showing sensitive internal links if disclosing their hostnames is unsuitable. Private or login-only artwork may remain unavailable. The public website sees a request from FixQuotes, not your browser's cookies or saved URL path.
FixQuotes keeps validated website icons in a shared server-side folder, named from the requested hostname, so different computers and users can reuse the same PNG without contacting that website again. These files survive server restarts and are retained until removed by the operator; there is no automatic expiry. The filenames reveal which hostnames have cached icons, but contain no user identifier, saved URL path or board contents. They are not per-user records. Turning downloads off on your computer does not delete this shared server cache.
A separate bounded in-memory cache holds up to 256 hostname results within 4 MiB; no-icon results are cached there for 24 hours. An additional in-memory image-validation cache holds up to 256 verified images within 4 MiB. Short-lived rate-limit buckets use a hash of the client IP address. Those in-memory values disappear when the process restarts. This route uses no database and adds no per-request application log. This does not describe or disable infrastructure access logs.
Search and local icon fallbacks
Searching. "Browser default" hands your query to the browser itself, which sends it to whichever provider your profile is configured to use. A custom engine is an ordinary navigation to your own template with the query inserted. Either way the search goes straight to the engine, exactly as if you had typed it in the address bar. It never passes through a FixQuotes server: the quote, nature-background and favicon endpoints have nothing to do with search.
Local fallbacks. A working icon bundled inside the extension needs no remote
lookup. Otherwise a cached downloaded icon can be used, while the browser's own
chrome-extension://…/_favicon/ result or a two-letter badge provides a fallback.
Chromium may return a generic globe on a computer that has not seen that site; this does not
suppress an eligible download while the setting is enabled.
6. Each permission, and why it is there
MorrowTab runs an automatic content script only on top-level HTTPS Zoom recording pages matching https://*.zoom.us/rec/*. It reads video source addresses and adds a dismissible download overlay that updates as the player loads. Closing it stops watching the player; refresh the recording page to show it again. There is no Zoom context-menu action. Addresses stay on that page and are not stored in Browser Sync or FixQuotes Sync. Saving a video uses the Zoom document's normal referrer policy and browser session context. MorrowTab declares no tabs permission. Choosing the Google or Apple Maps context-menu item
provides the selected text to MorrowTab. A one-shot script reads the selected range and its layout
boundaries in the clicked frame to preserve spaces between address fields, then sends that text
to your selected provider, Google or Apple, as an address query in a new tab. It does not modify the page, monitor future selections,
store the text, or send it to FixQuotes. If the selection changed or cannot be read, the
browser-provided text is used. Link auto-close uses the optional webNavigation permission to
receive navigation events, but the worker considers only tab IDs that MorrowTab itself created and
compares only their top-level hostname. It stores no navigation log.
| Permission | Why MorrowTab needs it |
|---|---|
| Zoom recording page access | The content script matches https://*.zoom.us/rec/* so the download overlay appears automatically. It reads the page title and video sources, watches for player changes while open, and keeps this information on the page. It does not run automatically on other Zoom pages. |
contextMenus |
Adds Save to MorrowTab, Google Maps and Apple Maps, in that order. Save to MorrowTab opens a dialog with the current page address and title; nothing is saved until you confirm. Selected text is sent only to the Maps provider you choose; it is not saved by MorrowTab. |
storage |
Keeps your boards, columns, links, extra search engines and shared settings in the browser's sync storage, device preferences, caches, safety and recovery data in local storage, the optional FixQuotes Sync credential and offline replica in local storage, and the live managed-tab registry in session storage. |
alarms |
Schedules a wake-up for the earliest managed tab that may be ready to close, and retries queued FixQuotes Sync changes once per minute while the optional service is connected. Alarms let the Manifest V3 worker resume after suspension. The worker rechecks every safety condition before closing anything; no auto-close alarm is created for a link whose timeout is off. This permission does not collect browsing history, run analytics or display notifications. |
favicon |
Lets a saved link show the browser's own locally-cached site icon. It is checked at runtime; missing access skips only that native lookup. Bundled icons, downloaded icons and initials remain available independently. |
search |
Powers the permanently-first "Browser default" option, which submits through the provider already configured in your browser profile. MorrowTab never sets or replaces your default search engine. |
activeTab |
Grants temporary access after a toolbar, keyboard or context-menu action. Quick Save reads the current page title and address. Maps uses this temporary access to read the selected address's layout. It grants no standing access to any site. |
scripting |
Runs the one-shot, isolated selection reader only after you choose Google or Apple Maps
address search, in the clicked frame using temporary activeTab access.
It preserves address spacing without an always-running page reader. No page changes,
selection monitoring, storage or FixQuotes transfer occur. |
webNavigation (optional) |
Requested from your action when you save an enabled Auto-close timeout, first open a synced timed link without this device's access, or choose Enable auto-close in the notice. No prompt is needed when access is already granted. Chromium describes it as "Read your browsing history". MorrowTab uses the events only for tabs MorrowTab opened, to keep same-host navigation eligible and permanently cancel closing after another hostname is reached. Declining an editor save leaves the link unchanged; declining while opening still opens an ordinary tab without automatic closing. The local prompt marker prevents repeated automatic requests after a refusal. The notice action explicitly retries for future timed openings, not tabs already opened normally. The permission belongs to that browser installation and does not sync. No page content or browsing log is stored. |
https://fixquotes.com/* |
Fetches the Quote of the Day, and its image in the Picture modes. The code
accepts only credential-free HTTPS addresses whose host is exactly
fixquotes.com. |
https://api.fixquotes.com/* |
Fetches metadata while the daily nature photo is enabled and resolves eligible
website icons while Download website icons is enabled. It also
provides email authentication and board storage only when you use the separate,
optional FixQuotes Sync controls. The host is validated to be exactly
api.fixquotes.com; these features have separate controls. MorrowTab
holds no Pexels API key. The icon route uses this existing permission, without new
website access or a third-party icon provider. |
https://images.pexels.com/* |
Downloads the actual photograph while that background is enabled, including in
new sample setups and previews. The host must be exactly images.pexels.com and the
credit link to be exactly www.pexels.com. |
https://*/* (optional) |
Declared as an optional host permission, so the store listing shows it, but nothing is granted when you install. It is requested one origin at a time, from your browser's own prompt, for two things only: the off-by-default page-title autofill, and the site of a calendar feed you add to a calendar board. Decline the first and MorrowTab simply asks you to type the title yourself; decline the second and the calendar stays saved but shows an Allow access button instead of events. |
The extension's own Content-Security-Policy is
script-src 'self', style-src 'self', object-src 'none',
base-uri 'none', with images restricted to the extension itself,
data: URLs, fixquotes.com and images.pexels.com. No script
is ever loaded or executed from a remote source.
7. What a backup contains
"Export backup" in Settings writes an optional disaster-recovery or point-in-time file named
morrowtab-backup-YYYY-MM-DD.json to your own computer through the browser's normal
download. The file itself is never uploaded by MorrowTab. It has exactly four top-level fields:
application— the string"MorrowTab".schemaVersion—2.exportedAt— the timestamp of the export.records— the materialized logical record set described in section 2: meta and settings, boards, columns, links (including each link'sclickscount and configuredautoCloseMinutesvalue), and search engines.
The file is plain text. It is not encrypted and it cannot be password-protected. Anyone who opens it can read your board names, link titles, saved addresses and search templates, so store it the way you would store any other file containing that information.
A backup is not required for normal schema-2 convergence between computers. It deliberately excludes actor IDs, logical clocks, causal alternatives, delete markers, checkpoint compression envelopes and chunks, plus device-local preferences, caches, safety values and credentials:
- the schema-2 actor identity used by this browser profile;
- the cached calendar feeds and their downloaded events (the feed addresses themselves are part of the synced board and therefore of the backup);
- which calendars are hidden and which calendar layout is shown;
- your saved search suggestions and the "Save search suggestions" preference;
- your uploaded background image, and the cached nature photo — no image bytes are ever exported;
- the cached daily quote;
- the board this computer is showing, and the remembered Quick Save destination;
- both local safety snapshots;
- the managed-tab fail-closed safety marker and the auto-close permission-prompt marker.
- the downloaded favicon cache, including hostname metadata, and its download preference.
- the FixQuotes Sync email, account ID, service metadata, device token, server revision and sync status. The exported logical records still contain your current board content, whether Browser Sync or FixQuotes Sync is active.
- the separate pre-cloud recovery copy. When present, Settings offers its own explicit export control.
- the
morrowtab.appearanceweblocalStoragepaint cache.
The session-only Plugin.managedTabs registry and its live countdowns are also excluded.
Restoring a full backup replaces the current active logical board records, after
a confirmation. If FixQuotes Sync is active, that replacement becomes the local cloud working
copy and is queued for synchronization. Before replacement, the existing records are copied to
Plugin.localPreReplaceSnapshot on that computer, and "Restore pre-import copy…"
brings them back. A valid schema-1 MorrowTab backup is fully validated and upgraded to schema 2
during import. Importing a single exported column is different: it adds that column to the current
board rather than replacing anything.
Two other files can be produced on request, and both are written locally by the browser, never uploaded: a single-column export, and — from the recovery view — a raw, unrepaired diagnostic snapshot of the synced records. The diagnostic snapshot contains your data verbatim, so treat it as you would a backup if you ever send it anywhere.
8. No analytics, telemetry or trackers
There is no analytics library, no telemetry, no beacon, no WebSocket, no
XMLHttpRequest, no EventSource and no third-party script anywhere in the
extension. There is no advertising tracker and no advertising identifier. Nothing measures how
you use MorrowTab and reports it anywhere.
There is no remote code of any kind: everything MorrowTab runs is shipped inside the extension package and is loaded from it. Apart from the requests listed in section 5, resource loading reads packaged extension files or the browser's native favicon endpoint. Downloaded website icons are normalized image data, never executable code.
Browser Sync stores the board replica with the browser provider, while optional FixQuotes Sync stores it in the FixQuotes account database after you connect. Neither is analytics. Website-icon lookup is a separate functional request that discloses an eligible saved hostname to FixQuotes and causes FixQuotes to contact that public website for its icon. It does not send your complete saved address, title, board name or search text.
This website. These pages are static files. They run no analytics, set no cookies, embed no third-party scripts and show no consent banner — which is why you have not been asked to dismiss one. GitHub Pages serves the website and necessarily receives ordinary request metadata such as your IP address and user-agent; GitHub controls any resulting infrastructure or security logs.
9. Credits and third-party material
Bundled brand icons
MorrowTab ships 49 brand icons covering 63 domains inside the extension package. They are a
generated subset of the theSVG Color icon collection (also called The SVG Company Icon Set),
distributed as @iconify-json/thesvg-color, collection author
thesvg.org, under the MIT license, Copyright © 2025 thesvg.org. The full license text is
reproduced in the extension's third-party notices.
The icon data is converted to self-contained SVG files during development. MorrowTab includes no Iconify runtime and never contacts an Iconify API or any other third-party icon service.
Fallback site icons
For a saved link without a working bundled icon, MorrowTab can download a verified small PNG through FixQuotes and cache it on this computer. FixQuotes fetches public website artwork directly, not through a third-party favicon provider. These runtime images are not part of the bundled MIT icon collection. Site names and logos remain the property of their respective owners and their display does not imply endorsement. Native browser icons or initials remain available when no downloaded icon can be obtained.
Quotes
The Quote of the Day comes from FixQuotes (opens in a new tab). A catalog of 150 quotes ships inside the extension, so the quote area renders before — and without — any network access; the daily refresh from the FixQuotes feed then runs at most once per local day unless the quote is set to Off.
Photographs
The switchable daily nature photographs come from Pexels (opens in a new tab). They are downloaded at the moment they are used and are not bundled with the extension. Attribution is required and is shown in the product: MorrowTab rejects the photo metadata unless it carries the exact credit Photo by <photographer> on Pexels pointing at Pexels' own pages. MorrowTab holds no Pexels API key.
Trademarks
Product names and logos are the trademarks of their respective owners. Their inclusion in the bundled icon set does not imply any partnership with, sponsorship by, or endorsement from those companies.
10. Deleting your data
These are the controls MorrowTab actually gives you:
- Clear saved suggestions (Settings) — appears while saving suggestions is on, asks for confirmation, then permanently removes the saved search text from this computer. It does not change whether future searches are recorded.
- Save search suggestions (Settings) — switch it off and existing suggestions are kept but nothing new is recorded.
- Remove image (Settings) — removes the background image you uploaded from this computer.
- Daily Pexels nature (Settings) — switching it off stops all further requests
for nature metadata and photos. The separate website-icon setting can still use
api.fixquotes.com. - Download website icons (Settings) — switching it off stops new favicon requests on this computer. Cached icons remain available; the preference and cache do not sync and are excluded from backups.
- Reset usage (Settings) — appears while usage ordering is on and clears every per-link click count after confirmation.
- Auto-close (link editor) — setting a link back to Off removes its synced timeout. Closing the tab, ending the browser session, reloading the extension, or revoking its optional navigation permission removes the corresponding live tracking state. The local permission-prompt marker remains, preventing repeated automatic prompts; choosing Enable auto-close in the notice or saving an enabled timeout explicitly asks again when access is missing.
- Deleting a link, column or board — deleting a column also removes its links, and each deletion leaves a six-second Undo in the toast. The deletion is then propagated through whichever sync mode is active.
- Import backup… (Settings) — replaces everything currently synced, after confirmation, while keeping a restorable copy of what it replaced on this computer.
- Sign out (FixQuotes Sync) — sends a request to revoke this computer's current server session. It completes only while the service is reachable and then keeps the offline board replica. It does not delete the FixQuotes account or its server copy.
Schema 2 represents a deletion with causal metadata so a stale offline checkpoint cannot mistake an intentional deletion for missing data. The marker carries actor/counter context, not a new browsing record. A current causal tombstone can retain the deleted record's former fields, and a profile's pointer may retain one prior checkpoint while the Sync budget permits it. Unreferenced superseded chunks can also remain briefly while idle cleanup is pending, or longer if the browser rejects cleanup until a later retry. Those values are not shown in the board or included in a normal exported backup, but they can remain inside compressed Sync transport data; older profiles can retain them too until they return and publish again. Physical retention inside the browser's sync service is controlled by Google or Microsoft, not FixQuotes. The same causal record format is used by FixQuotes Sync, so its latest cloud replica can also retain a deletion marker and former fields for an item that is no longer displayed. Deleting the FixQuotes account removes that active cloud replica.
Removing every copy requires separate steps
To delete a FixQuotes Sync account, its board replica and all server sessions, submit a request through the FixQuotes contact page for MorrowTab (opens in a new tab). Fresh verification of the account email is required. As explained in section 3, deletion from backup and recovery copies is not necessarily immediate; not every current layer has a verified automatic expiry, so no maximum removal time is promised.
Removing the extension from a browser profile deletes that installation's local and session storage, including its device token, offline cloud replica and caches. It does not delete FixQuotes account data, Browser Sync data held by Google or Microsoft, local copies on another computer, or files you exported. Use the browser provider's own sync-data controls for its copy and delete exported files through your operating system.
11. Changes to this policy
This policy describes the current MorrowTab release. If a future release changes what is stored, what is requested, or which permissions are declared, this page will be updated before that release is published, and the effective date at the top will change with it.
Material changes will be summarized on the changelog alongside the release that introduced them, so you can see what changed and when. The version of this policy in force is always the one on this page.
If anything here is unclear, or you believe something on this page does not match what the extension does, please tell us through the FixQuotes contact page for MorrowTab (opens in a new tab).
Effective