OMF Oh My FeedSaved
English한국어

COOKIES & LOCAL DATA

Small browser preferences, under your control.

Oh My Feed uses account-session cookies only when you sign in. Browser-local values keep language, signed-out saved tools, a header auth hint, and analytics consent choices.

Cookies today

The application does not set first-party advertising cookies. When you sign in, it uses omf_session, an HttpOnly secure session cookie, and during Google sign-in it uses the temporary HttpOnly omf_oauth cookie under the auth path. Cloudflare currently injects its Web Analytics beacon on the homepage independently of the optional Google Analytics integration. These are separate measurement systems; their counts should not be added together. Cloudflare request processing for delivery and security still applies.

Cloudflare provides delivery and security infrastructure. Cloudflare may use security cookies or similar technology to protect or deliver the service. Cloudflare explains its data processing in its Privacy Policy. Cookie changes will be described on this page.

Browser-local storage

omf.lang stores your English or Korean language choice. omf.catalog.saved.v1 stores canonical IDs for tools you save while signed out. omf.analytics.consent.v1 records an affirmative local analytics choice if granted. omf.header.auth.v1 is session storage that remembers only whether this tab last saw a signed-in session, so the header does not flash a Log in button between pages; it holds no identity and is discarded when the tab closes. When signed in, your saved tool IDs are stored with your account and synchronized across devices. Existing browser saves are imported only on request. Account saves remain until removed or the account is deleted.

When you choose interest topics while signed in with Google, we store up to 20 GitHub topic identifiers with your account. Only topics you explicitly select are saved as personalization inputs; we do not store browsing or search history for personalization. You can change or clear them in Interest settings. They remain until you remove them or your account is actually deleted. Signing out or clearing browser data does not delete account interests. CLI project signals, selections, and feedback stay local and are not synchronized with your account. WebMCP continues to access public catalog data only.

Interest settings use the existing account session and add no cookies or browser storage keys. The Only my interests filter starts off on each page; saved topics do not turn it on automatically.

Clearing a language preference lets the next visit use the URL language or browser preference. Clearing saved items removes the shortlist from this browser; it does not delete account saves or interest topics. Neither action deletes unrelated browser storage, analytics consent, or account-session cookies. Use sign out or browser site-data controls for account-session cookies.

Optional aggregate product statistics

If you explicitly allow this first-party choice, the browser can send tool_row_open and outbound_github_click with an accepted public catalog ID to Oh My Feed. The service stores daily aggregate counts, not a visitor or session identifier, raw URL, free text, IP address, or User-Agent. This existing choice is stored in omf.analytics.consent.v1; it does not authorize Google Analytics.

Aggregate product statistics are off.

Optional Google Analytics

Google Analytics requires a separate choice stored in omf.analytics.ga4-consent.v1. A previous aggregate-statistics choice does not enable it. GA4 is configured for the public catalog, but the default is no GA4 collection: only allowing this separate choice loads Google Analytics 4 and permits sanitized page views and three catalog actions: tool detail open, outbound GitHub click, and successful save. Catalog events use only an accepted public canonical tool ID. Page locations omit search text, filter values, language, auth data, fragments, and other query parameters. The integration separately sends the external referring site's origin and bounded campaign labels from the six standard utm_* fields captured on the initial landing. It removes referrer paths, queries, hashes, credentials, local/private hosts, and self-referrals. Campaign labels allow no more than 100 letters, numbers, spaces, hyphens, underscores, or dots, and reject obvious email, URL, phone, control, and credential-like values. These checks cannot prove the absence of personal information; campaign owners must not put personal information in UTM labels. Admin, account, auth, support, contact, and correction pages are excluded.

This is not anonymous analytics: GA4 uses an omf_ga_ga pseudonymous client cookie and an omf_ga_ga_<measurement-id-suffix> property cookie. This integration configures both for up to 90 days; Google may refresh them during permitted use. We do not configure User-ID, ad storage, ad user data, or ad personalization, but Google may process device and network data as the analytics provider. Enhanced measurement and granular location and device data collection are off, Google Signals and user-provided data are not enabled, and advertising personalization is blocked in all regions. The GA4 property retains user and event data for two months with reset-on-activity off; that setting does not govern standard aggregated reports. The measurement ID is supplied only through the production build environment and is not committed to the repository. Withdrawing disables all further GA4 transmission from this page and removes accessible omf_ga-prefixed cookies, but does not erase data already received. No-consent visits, browser-suppressed referrers, and requests blocked by browsers or extensions cannot be recovered later. Other browsers retain their own choice.

Optional Google Analytics is off.

Optional member statistics

Separately opt in to account-linked statistics when signed in. We record daily flags for catalog activity, adding a saved tool, and opening a saved tool or its GitHub link in a 90-day UTC reporting window. Expired records are routinely deleted; physical deletion may take longer while cleanup catches up. Member analytics does not receive saved tool IDs or lists or import previous saves. Account save synchronization and interest settings are service operational data processing, separate from optional member statistics. Interest topics and lists are not sent to aggregate product statistics, Google Analytics, or member analytics; interest settings add no tracking events. Your aggregate product statistics and Google Analytics choices do not enable member statistics. GPC and Do Not Track disable collection. Signup-group statistics use previously consented daily activity to measure saves during UTC days 0–6 and activity on day 7 after signup. Incomplete observation windows are excluded. Later consent withdrawal or blocked collection can prevent a return from being observed; this is not a measure of every member’s actual return.

Withdrawing stops future collection in this browser only. Previously recorded flags remain in statistics until they fall outside the 90-day UTC reporting window, then are routinely deleted. Other browsers and devices keep their own consent settings. Saving tools works without analytics consent: browser-local when signed out and account-synchronized when signed in. Interest settings also work without analytics consent. Withdrawing consent does not clear account interests. The choice is stored in omf.analytics.member-consent.v1.

Member statistics are off.

Clear local Oh My Feed data

Use these controls to remove one browser-local category at a time. Changes take effect in this browser. Reload the catalog after clearing saved items if it is already open in another tab.

No local data cleared in this visit.

You can also clear all site data with your browser settings. See Privacy for edge request and support-case processing, which is separate from these local values.

CLI data is outside browser storage

Signing out of the website, including all web sessions, does not disconnect the CLI. Its separate read permission lasts up to 30 days unless you revoke the device on the account page or use CLI logout. Neither action removes installed files. account-status is only local state with the last checkedAt, not a current access check. saved, recommend and login --complete check access online.

The CLI stores its 32-byte connection secret in a local 0600 file, not a browser cookie. Web approval exposes only the SHA-256 challenge and requires Google sign-in plus explicit device-code and 30-day read-only scope confirmation, followed by login --complete. The 10-minute pending window is a local completion deadline, not server-certified expiry or an OAuth RFC 8628 flow. View/revoke up to 10 active devices on the account page; server hashes remain after expiry/revocation until actual account deletion to prevent reuse.

Local account caches may be used offline for at most 24 hours after retrieval and never after grant expiry. Remote revocation may not invalidate the offline copy until that earlier limit or the next connected 401. Connected 401 responses purge credentials/cache; pending 401 within its deadline can mean not yet approved. logout --confirm revokes and clears this local connection; logout --confirm --offline clears locally with remote revocation unconfirmed.

Browser clear-data buttons and analytics withdrawal do not clear CLI credentials, plans or project history. Local adoptions.json retains plans, source URLs, project/file-change descriptions, approvals and actual execution/verification receipts until you delete it. These records, project/source files and local signals are not uploaded to OMF. Secrets and raw stdout/stderr are excluded from plans, history and output artifacts; receipts retain byte counts/hashes and exit/status information. Host AI content follows its provider’s conversation policy. Linking grants reading, not installation: exact project plans need your separate approval. Unlinking or clearing a selection/history does not remove installed files. Approved commands retain local filesystem/network permissions; the runner is not a sandbox. WebMCP stays public-only; importing guest Saved into an account remains manual. See CLI account controls, approved adoption and CLI privacy.

Discovery choices and tab storage

If discovery is enabled, omf.discovery.consent.v1 stores your separate opt-in or a declined choice in localStorage. Declining or withdrawing keeps the notice collapsed on later visits; reopen it anytime to change your choice. omf.discovery.session.v1 holds a random 24-hour tab key and experiment version in sessionStorage. It is not an account identifier. A pending deletion receipt uses omf.discovery.delete.v1. Daily feedback dismissal uses omf.pick.feedback.DATE in sessionStorage to avoid repeating the prompt in that tab. Feedback deletion receipts stay only in page memory.

You can use the feature without agreeing. GPC/DNT blocks measurement. Use the discovery consent control to stop and request deletion before clearing local data; clearing storage alone does not delete server records. Server discovery and feedback records expire after 30 days, with scheduled cleanup. These values do not enable Google Analytics or member analytics.

Personal workspace memory

My workspace stores your explicit workspace names, topic and language choices, comparison IDs, decisions, revisit dates, notes and last checked public metadata. It does not store search or click history or send workspace content to analytics. Default storage lasts only in this tab. Device memory is opt-in under omf.workspace.v1. Erase removes personal content and retains only a revision marker that fences stale tabs. Clearing browser storage also removes that marker. Devices without safe storage locking keep work in memory only.

Account workspace uses your signed-in account and stays out of shared browser storage. Device import requires preview and confirmation. Data remains until you erase it or the actual account row is deleted. Erase retains an empty revision record and does not remove Saved tools or interests. Logout, account deactivation, deletion requests or analytics withdrawal are not workspace deletion. Public comparison links include only three public tool IDs. Private draft copy includes notes and decisions and is labelled separately.