One-sentence summary.
Modfolio Connect uses only cookies essential to authentication and security. There are no tracking, marketing, or analytics cookies. For every cookie in use, you can find its exact name, purpose, and retention period in the §04 inventory.
Cookies and similar technologies.
A cookie is a small piece of text data that a web browser receives from a site and stores. Beyond cookies, this policy also covers the following technologies used for the same purpose.
- localStorage / sessionStorage — browser key-value storage (client-side cache)
- IndexedDB — passkey credential metadata cache (WebAuthn flow)
- HTTP header identifiers — DPoP key ID, etc. (RFC 9449)
Cookie categories.
- Essential — strictly necessary to operate the Service. May be used without user consent (GDPR Recital 30).
- Preference — stores preferences for user convenience. Can be declined; declining disables some convenience features.
- Analytics — currently unused. If introduced, enabled only after separate explicit consent.
- Marketing — not used. May only be used in accordance with §08 of this policy.
List of cookies actually in use.
| Name · purpose | Retention period |
|---|---|
__Secure-better-auth.session_tokenESSENTIALIdentifies the signed-in session (Better Auth). | 90 days |
better-auth.session_tokenESSENTIALSame session cookie without the __Secure- prefix, issued only on a non-secure local origin (development). | 90 days |
connect.dashboardESSENTIALShort-lived token that hands a verified session to the dashboard. | 15 minutes |
connect.last_confirmedESSENTIALRecords when you last re-confirmed your identity, so a sensitive action can ask again only when the window has passed. | 12 hours |
__Host-mc.sstESSENTIALOne-time random value issued when a social sign-in begins. Checked on callback so a sign-in response that leaked to another browser is rejected. | 10 minutes |
connect.stESSENTIALOAuth state value, checked on callback to reject a forged sign-in response. | 5–15 minutes |
connect_enrollment_resumeESSENTIALHolds where in the app to land while you pass through the sign-in form. Deleted as soon as the login completes. | 15 minutes |
mc_rtESSENTIALHolds where in the app to land while you pass through the sign-in form. Deleted as soon as the login completes. | 5–15 minutes |
connect.cvESSENTIALPKCE code verifier. Binds the authorization code to this browser, so a leaked code cannot be exchanged elsewhere. | 5–15 minutes |
connect.vlpESSENTIALCounts consecutive verification redirects to break an infinite loop. | 5 minutes |
mc_atESSENTIALIdentifies one in-progress authorization request. | 10 minutes |
mc_psESSENTIALHolds a social identity while you decide whether to link it to an existing account. | 10 minutes |
mc_wcESSENTIALCarries first-sign-in context to the welcome screen. | 30 minutes |
mc_ssESSENTIALOpaque identifier that lets another app ask whether you are already signed in, without exposing who you are. Sent cross-site (SameSite=None) for that reason. | 90 days |
mc_signed_inESSENTIALA marker that lets a landing page show "Dashboard" instead of "Sign in". It holds the single value 1 and carries no name, address or token. This site's landing pages are pre-built files, so no server of ours runs on a visit; reading this cookie before the page paints is what stops the button changing under you. It is the one cookie here a script can read, and it grants nothing — access is always decided by the separate protected cookie. | 90 days |
device_csrfESSENTIALCSRF token for device sign-in approval. Scoped to /device. | 10 minutes |
__Host-mc.bidESSENTIALA random id for this browser, used only to confirm a sign-up started on M Connect's sign-in screen (a __Host- cookie no other subdomain can set). | 30 days |
mc_last_appPREFERENCERemembers the app you last signed in to, for the launcher. Readable by scripts on purpose — it holds no identity. | 90 days |
connect.localePREFERENCERemembers the language you chose, so pages keep rendering in it. Set when you use the language switcher, and when a signing-in app asks for a language it can be served in. Readable by scripts on purpose — a display preference is not a secret, and the switcher runs in the browser. | 400 days |
All authentication-related cookies are set with HttpOnly, Secure, and SameSite=Lax (or stricter) attributes. Preference cookies can be declined in user settings, in which case only that convenience feature is disabled.
Third-party cookie policy.
Modfolio Connect does not use third-party cookies for advertising, tracking, or social embeds. If introduction becomes necessary (e.g. an analytics tool), we will update this policy and enable them only after showing a consent banner.
If a user explicitly chooses social login (e.g. Google, Kakao), that IdP's cookies may be used temporarily, but this follows the IdP's policy and is not controlled by this Service.
Declining and deleting cookies.
- Browser settings — all major browsers provide functions to block and delete cookies.
- Session revocation — while signed in, you can revoke all active sessions from the /profile > Sessions tab.
- Account deletion — deleting your account at /profile > Danger Zone destroys all cookies and data.
- Declining preference cookies — all §03 preference cookies in this policy can be declined, and we plan to provide a separate toggle UI in the future.
Version change history.
- v1.0 (2026-05-27) — KO baseline draft. Pending external legal review.
If we newly introduce analytics or marketing cookies, we announce it by email/banner 30 days before the effective date and provide an explicit consent procedure.