Cookie Policy

Last updated:

1. What we use

Inkvoice Cloud uses only strictly-necessary cookies. For product analytics we use self-hosted Umami, which is cookieless: it sets no cookies and stores no personal data. There is no advertising and no third-party or cross-site tracking.

2. Cookies we set

  • session: first-party, HttpOnly, Secure, SameSite=Strict. Holds the signed JWT that authenticates your browser to your workspace. Lifetime: 1 hour from sign-in. Without this cookie you cannot sign in.
  • oauth_state: first-party, HttpOnly, Secure. Set briefly during sign-in with Google, Microsoft, or Apple to prevent CSRF on the OAuth callback. It is SameSite=Lax for Google and Microsoft, and SameSite=None for Apple, because Apple returns you to us with a cross-site form POST that would not carry a Lax cookie. Lifetime: up to 10 minutes.
  • ops_session: first-party, HttpOnly, Secure, SameSite=Strict. Set only when we sign in to our internal operations console; it is never set for customers. Lifetime: 8 hours.

3. Why no consent banner here

All cookies on cloud.inkvoice.app are strictly necessary under ePrivacy Directive Article 5(3), as they are required to deliver the service you explicitly requested (signing into your workspace). Our analytics (self-hosted Umami) is cookieless and stores no personal data, so it does not require consent either. The only third-party code the app can load is Paddle's checkout, which loads from paddle.com when you open it to buy a paid plan and may set Paddle's own cookies under Paddle's policies.

4. Marketing site cookies

The marketing site (inkvoice.app) sets no cookies. It uses self-hosted, cookieless Umami analytics, which stores no personal data and does no advertising or cross-site tracking, so no consent banner is required. Umami runs on our own server, behind Cloudflare's network, so no third-party analytics provider receives your data. If you vote for a planned plugin, the page remembers your vote in your browser's localStorage so it can show it after a reload; that entry stays in your browser.

5. Local storage

The app also writes a few entries to your browser's localStorage for preferences and convenience (for example theme, selected language, sidebar collapsed state, and a short list of recently viewed records), and uses sessionStorage for short-lived screen state. These are not cookies and stay in your browser.

6. Contact

Questions: support@inkvoice.app