Skip to main content

Privacy policy

Last updated: 2026-06-06

This privacy policy explains how RowMarker (a Puhvi app) handles personal data on this website and inside the mobile app. We aim to collect as little as possible: no accounts, no servers we operate, and nothing tracked across sites.

Data controller

Puhvi is the data controller for personal data processed in connection with RowMarker. You can reach us at contact@puhvi.com.

What the website collects

This marketing site (www.rowmarker.com) is a static page hosted on Cloudflare Pages. It sets no cookies of its own and embeds no third-party trackers.

Our hosting provider automatically records standard server-side request data — for example IP address and user-agent — for security and abuse prevention. We do not use this data for tracking or profiling.

If we enable aggregate analytics in the future, we will use Cloudflare Web Analytics, which does not use cookies, does not store personal data, and does not track visitors across sites.

When you email us at contact@puhvi.com, we receive whatever information you choose to share. We use that information only to reply to you.

What the RowMarker app collects

RowMarker stores your patterns, row markers, notes, images, and downloaded PDFs locally on your device. None of this content is sent to a RowMarker or Puhvi server — there is no RowMarker server-side component, and we do not operate any backend that receives your project data.

If you choose to sign in to Ravelry from inside the app, your Ravelry access token is stored only in your device's secure storage (Keychain on iOS, Keystore on Android). It is never transmitted to any server operated by RowMarker or Puhvi. All Ravelry data (patterns, library, projects) is fetched directly from Ravelry's API to your device.

Ravelry sign-in is purely optional. The other ways to import patterns — file picker, gallery, camera, share sheet — work without any account.

If you buy the optional RowMarker Pro upgrade, the purchase is handled entirely by Apple's App Store or Google Play. Puhvi does not receive your name, payment-card number, or billing details. Your purchase status (whether Pro is unlocked) is stored locally on your device and verified with the store you bought from; we do not operate a server that records who has purchased.

What we do not collect

We do not collect any user-generated content on our servers. Your project notes, row positions, and pattern images never leave your device. We do not sell or share data with advertisers, and the app contains no advertising SDKs at this time.

Legal basis (GDPR / UK GDPR)

We process personal data on the following legal bases: contract performance, for any data strictly needed to provide a feature you have asked for (for example, storing your Ravelry token so the Ravelry feature works); legitimate interests, for keeping the website secure and reliable; and consent, where the law requires it, for any optional features you actively enable.

Security

All communication between the app and third-party APIs (such as Ravelry) is over HTTPS. Access tokens are stored using the platform's native secure storage. Because we do not operate a backend that holds your data, the surface area for a data breach is intentionally small.

Data retention

We do not retain any of your content on our servers, because nothing is sent to our servers. Tokens stored on your device persist until you sign out of Ravelry from the app or uninstall the app. Emails you send us are kept only as long as needed to reply and follow up, or to meet a legal obligation.

Children's privacy

RowMarker is not directed at children under 13. We do not knowingly collect personal data from children.

Your rights

Under the EU General Data Protection Regulation (GDPR), the UK GDPR, and the California Consumer Privacy Act (CCPA), you have the right to access, correct, or delete the personal data we hold about you, to object to or restrict our processing, and to receive a copy of your data in a portable format.

Because the bulk of your RowMarker data sits on your device, you exercise these rights directly: deleting a pattern in the app removes it; signing out of Ravelry clears the stored token; uninstalling the app removes everything.

If you believe we are not handling your data correctly, you can file a complaint with the Finnish Data Protection Ombudsman (Tietosuojavaltuutetun toimisto, tietosuoja.fi) or your local supervisory authority.

Third-party services

Ravelry (optional sign-in): when you connect a Ravelry account, requests go directly from your device to Ravelry's API. See Ravelry's privacy policy at www.ravelry.com.

Cloudflare (hosting): the marketing site is served by Cloudflare Pages. Cloudflare's privacy documentation describes the request data they process on our behalf.

Apple App Store / Google Play (in-app purchases): if you buy RowMarker Pro, the store you bought from processes the payment and the purchase record under its own privacy policy. We receive no payment or billing information from them.

We do not currently use any analytics or crash-reporting SDKs in the RowMarker app. If we add any in the future, we will update this policy.

Changes to this policy

We may update this policy from time to time — for example, when we add a new feature that changes what data is processed. The "last updated" date at the top of this page always reflects the current version. Material changes will be highlighted in the app or on this page.

Questions

For anything privacy-related, email contact@puhvi.com and we will respond as soon as we can.