Privacy Policy

Operator

This service is operated by Ryoichi Sasaki (佐々木 亮一). For inquiries about this policy, please use the contact information at the bottom of this page.

Information stored on this device

This app stores the following information in this device's localStorage: language setting (nfk_locale), onboarding completion (nfk_onboarding_done), owned/prepared category IDs (nfk_inventory_cats_v1), legacy migration input (nfk_inventory_v1), the manually selected region's station ID (nfk_manual_region_v1), and anonymous local usage counts (nfk_v0_trial). The legacy migration input (nfk_inventory_v1) is deleted after migration.

localStorage's nfk_heat_snapshot_v1:<stationId> stores the most recently retrieved heat information: station ID, save time, temperature and apparent temperature, high/low and hourly forecasts, and the Wet Bulb Globe Temperature (WBGT) index and its forecast. Once more than 2 hours have passed since saving, this data is not used for restoration or synthesis, but it may remain on the device until on-device data is deleted.

sessionStorage's nfk_v0_telemetry stores the event count for the current session, and nfk_attribution_v1 stores utm_source, utm_campaign, and guide_id (or their defaults), restricted to an allowlist format. These are stored on the device until the current session ends.

The diagnosis scene, preferences, and results are not persisted; they are handled only in memory while the app is in use.

Retention period and deletion

Information stored in localStorage remains on the device until the user deletes the app or clears browser data, except where migration-time deletion is separately noted above. Information in sessionStorage remains until the current session ends. The Android version disables automatic backup of app data. There are no accounts or server-stored profiles. To ask about what the operator retains and can delete, please contact [email protected]. Request metadata processed by Open-Meteo, the Overpass API, Pexels, Rakuten, A8.net, Google, and Cloudflare is subject to each provider's own policy.

Information sent outside the device

For weather at your current location, latitude/longitude and forecast parameters are sent to Open-Meteo. For nearby cool spots, coordinates are sent to the Natsufuyu Cloudflare Worker. This is first-party Worker mediation; the device does not send directly to the public Overpass API. The Worker derives a cache key from the coordinates rounded to 4 decimal places, and relays a fixed search covering only facilities within approximately 1.2 km to the public Overpass API. This key and any successful result are temporarily cached in a single Cloudflare data center for 15 minutes, and may remain as a fallback cache for up to 6 hours if the upstream is unavailable. Failed responses are not cached. Coordinates are never stored in KV, D1, R2, Durable Objects, or any other persistent coordinate database, and the Worker does not build profiles or location history.

The Worker's custom operational logs may be stored to understand nearby-search failure classification and cache state. The only fields stored are an allowlist of event, result, slot, layer, durationBucket, and statusClass. Coordinates, request URLs, queries, request/response bodies, exception text, User-Agent, and IP address are not included in this custom operational log. Because URLs may contain coordinates, invocation logs are disabled, and traces are disabled. This does not represent that Cloudflare and the Overpass API do not process ordinary request metadata.

For Japan's heat index, the station ID is sent to the operator's Cloudflare Worker.

When an API is configured, opening the scene-selection screen automatically sends all 5 scene IDs (commute, outdoor, kids, indoor, sleep) to the same Cloudflare Worker to fetch scene photos. Also, when displaying product picks tailored to heat, selected scene, and owned items — on the regular home screen after onboarding or on diagnosis results — each pick's predetermined search term is automatically sent to the same Worker. The Worker relays these to the Pexels and Rakuten APIs. Freely entered user text is never sent, and latitude/longitude are never included in these communications.

Scene-selection photos are loaded directly by the device from images.pexels.com, and product images from thumbnail.image.rakuten.co.jp. This communication sends ordinary web request information such as IP address and User-Agent to Pexels and Rakuten. If a user taps a Rakuten product link, they are taken to item.rakuten.co.jp, and on the Web version, if reward links are enabled, this may go through a redirect URL at hb.afl.rakuten.co.jp.

When an A8.net reward link or product-link material appears on a Web editorial guide, the page loads the runtime script from statics.a8.net, contacts ad-api.a8.net to obtain the advertising material, and may load an image from the advertiser site. It also loads the 1×1 A8.net measurement image required for outcome measurement. These requests occur when the page is displayed, before the user taps the link, and may send ordinary web request information such as the IP address, User-Agent, and referrer to A8.net and the advertiser serving the image. If the user taps the link, it passes through a redirect URL at px.a8.net before reaching the advertiser site. The iOS and Android versions do not load this material.

When a Moshimo Affiliate reward material appears on a Web editorial guide, the page loads the banner image from image.moshimo.com and a 1×1 measurement image from i.moshimo.com when the page is displayed. These requests occur before the user taps the link and may send ordinary web request information such as the IP address, User-Agent, and referrer to Moshimo Affiliate. If the user taps the link, it passes through a redirect URL at af.moshimo.com before reaching the advertiser site. The iOS and Android versions do not load this material.

The Google Maps link for cool spots opens the system browser only when the user taps the link, sending either the user's precise current location (for nearby-category search) or the selected nearby facility's coordinates and search term to Google Maps. We do not embed the Google Maps SDK or a map inside the app. Other searches, product links, and official guidance are likewise transitions to external sites opened via the system browser through user action. Search terms, ordinary web requests, and handling on external sites are subject to each site's own policy.

Both the Web version and the iOS/Android versions use the device's system font and do not load external fonts such as Google Fonts.

Analytics

Google Analytics 4 (GA4) is optionally loaded on the Web version only when both VITE_COMMERCIAL_API_READY=1 and a valid Measurement ID are set. It is not loaded on the iOS or Android versions. If either condition is missing, no GA4 events are sent.

GA4 measurement behaves differently by region. For access from the EU, the European Economic Area, the UK, and Switzerland, analytics storage (cookies and similar) is denied by default. While it stays denied, no identifier is stored on the device and what is transmitted is limited to the minimum used for statistical processing. For access from other regions (including Japan), GA4 sets analytics cookies. These exist to group page views by the same visitor and are never linked to a name, contact details, or similar information.

Advertising storage (ad_storage) and ad-related user data and personalization are denied by default in every region.

The custom events this service's code explicitly sends, and the fields attached to each, are limited to the following allowlist.

Event Attached fields
diagnose_start scene (selected scene), entry_source (allowlisted utm_source or default), campaign (allowlisted utm_campaign or default)
diagnose_complete scene (selected scene), preference_count (number of selected conditions), result_category (result category ID)
product_offer_click category_id (product category ID), pick_id (pick ID), network (Rakuten or Amazon), affiliate (whether it's a reward link)
app_to_guide scene (selected scene), guide_id (guide ID)
guide_view guide_id (guide ID), problem (problem category), source (direct, internal, or referral)
guide_to_diagnosis guide_id (guide ID), scene (selected scene), campaign (fixed campaign ID)
service_offer_click guide_id (guide ID), program_id (listed program ID), network (partner network ID), placement (lead / decision / end)
product_guide_offer_click guide_id (guide ID), product_id (product ID), program_id (listed program ID), network (partner network ID), affiliate (whether it is a reward link), placement (lead / decision / end)

Separately from the custom events above, GA4 may send automatically collected events such as first_visit, session_start, and user_engagement, along with information Google's tag attaches automatically — page URL/title/referrer, and device/browser/language/screen size. Our code sets send_page_view: false to disable the automatic page_view on initial load. However, if GA4's Enhanced Measurement is enabled on the GA4 side, a page_view on history change, scroll, and external-link click/link_url events may still be sent. link_url may include the destination product page URL, search terms, or a reward identifier.

This service does not independently attach product names, search terms, precise location, health information, or reward amounts as fields on the custom events above. Google may process ordinary request metadata such as IP address and User-Agent that accompany normal web requests, per its own policy.

Affiliate links

As an Amazon Associate, Natsufuyu Comfort earns from qualifying purchases.

The Web version may display reward links for Amazon, Rakuten, A8.net, Moshimo Affiliate, and other approved ASPs. Reward links are labeled "Ad," and the presence or amount of any reward is never used in diagnosis results, comparison ranking, or explanations. The iOS and Android versions do not use reward links.

Handling by third parties

Open-Meteo, the Overpass API, Pexels, Rakuten, A8.net, Moshimo Affiliate, Google, and Cloudflare each handle information independently under their own policies. The operator does not guarantee information beyond what each provider publicly discloses regarding the retention period and purpose of use of request metadata at each provider.