SKAFT. · Features · Pricing · For coaches · Articles · Greinar · Contact · Download on the App Store
SKAFT. is a golf practice app for iPhone, made in Iceland. Golfers log every practice session, every drill gets a score, and the app tracks stats and handicap. Not to be confused with a golf club shaft ("skaft" in Icelandic).
Note: the legal documents are only available in English. The version below is the English one.
Last updated · 2026-07-08
SKAFT. is an independent practice tracker for golfers, made and operated in Iceland by Viktor Tumi Valdimarsson, kennitala 130508-3160 (“we”, “us”, “SKAFT.”). SKAFT. is currently operated as a personal project and is not yet a registered company. If that changes in the future, this section will be updated to reflect the new legal entity.
Contact for privacy questions:
For the purposes of GDPR (Reglugerð (ESB) 2016/679) and Lög um persónuvernd nr. 90/2018, Viktor Tumi Valdimarsson is the data controller of personal data you provide when using the SKAFT. mobile application.
We collect only what is necessary to run the app and the subscription.
Category
Examples
Source
Account
Email address, password (hashed by Supabase), user id (uuid), preferred language
You, at sign-up
Profile
Username, avatar image, golf handicap, leaderboard visibility, theme, unit system
You, in the app
Practice data
Sessions, drills logged, scores, drill notes, session notes, location type (indoor/outdoor), weather selections, handicap history
You, when you log practice
User-authored drill content
Drill name, description, setup, instructions, optional photo or video attached to a drill
You, when you author a drill
User-uploaded drill media
Photos and videos attached to any drill you're allowed to contribute to, plus the count of likes and views each item accumulates
You, when you upload; other users, when they like or view
Community suggestions
Drill-content edit suggestions, drill-media suggestions, feature-idea suggestions, and moderation reports you file against media
You, when you submit through the in-app forms
Social
Friendships, competition memberships and standings, coach–student relationships
You + other users
Coaching content
Free-text notes your coach writes about you or a specific session, and drill assignments your coach sends you (only when a coach relationship is active)
Your coach
Achievements
Which badges you have unlocked and when
App, derived from your practice data
Subscription
Subscription tier (free / Pro / Pro Coach), status, period end date, store (App Store / Play Store / promo grant), product id
Apple, Google, RevenueCat, and our own server for trials, admin grants, and club codes
Notifications
Expo push notification tokens for your device(s), and the in-app notification inbox
You, when you allow push permissions; App, when you sign in
Rate-limit + audit records
Per-user API call counts for AI features and enumeration-prone RPCs; audit-log entries for privileged actions (account deletion, Pro grants, coach access changes)
App, automatically
Device / technical
App version, OS, error logs (only when something fails)
App, automatically
We do not collect: precise location (GPS), advertising identifiers, contact list, microphone audio (except when you choose to film a drill video), camera roll (except when you pick an image), payment details (Apple/Google handle payment data; we never see your card information), or any device telemetry beyond crash logs.
Purpose
Legal basis (GDPR Art. 6)
Providing the app’s core functionality (account, sessions, drills)
Performance of a contract (Art. 6(1)(b))
Operating SKAFT. Pro and SKAFT. Pro Coach subscriptions and billing
Performance of a contract (Art. 6(1)(b))
Sending essential service emails (password reset, billing-issue notice)
Performance of a contract (Art. 6(1)(b))
Friends, competitions, and coach–student relationships
Performance of a contract (Art. 6(1)(b)): required to deliver the feature you opted into by sending or accepting the invite
Public leaderboard visibility (username, avatar, handicap, score)
Your explicit consent (Art. 6(1)(a)). Off by default. Toggle in Settings → Privacy → Show me on the leaderboard. Revocable at any time.
Publishing a user-authored drill to the community library
Your explicit consent (Art. 6(1)(a)), revocable any time
Publishing drill media (photos or videos) attached to a drill
Your explicit consent (Art. 6(1)(a)) given by uploading and confirming the upload; revocable any time by deleting the media item
Community moderation (reviewing drill-content suggestions, drill-media suggestions, and media reports)
Legitimate interest (Art. 6(1)(f)): keeping the community library accurate and free of harmful content
Translating user-authored drill content between Icelandic and English
Performance of a contract (Art. 6(1)(b)). See §4 and §4a
Generating the weekly AI practice insight (Pro feature only)
Your explicit consent (Art. 6(1)(a)) collected in-app before the first insight is produced. See §4a
Rate-limiting AI features and enumeration-prone lookups, keeping an audit log of privileged actions
Legitimate interest (Art. 6(1)(f)): abuse prevention, cost control, and accountability
Diagnosing crashes and errors
Legitimate interest (Art. 6(1)(f))
Complying with tax, accounting, and consumer-rights law
Legal obligation (Art. 6(1)(c))
We do not sell your personal data, use it for ad targeting, or train AI models on it. Drill text content sent for translation, and practice summaries sent for the weekly AI insight (Pro), are not used to train AI models, per the sub-processor’s commercial API policy. See §4a for full detail on AI processing.
We use the following sub-processors. Each is bound by a data-processing agreement and an adequate cross-border transfer safeguard where applicable.
Sub-processor
Purpose
Location
Supabase Inc.
Database, authentication, file storage, edge functions
EU / US (SCCs)
RevenueCat Inc.
Subscription receipt validation and entitlement state
US (SCCs)
Apple Inc.
App Store subscription billing, payment processing, transactions
US (EU-US DPF)
Google LLC
Google Play subscription billing, payment processing
US (EU-US DPF)
Expo, Inc.
App build, OTA update delivery, and the Expo Push Notification Service
US (SCCs)
Apple Push Notification service
Delivering push notifications to iOS devices
US (EU-US DPF)
Google Firebase Cloud Messaging
Delivering push notifications to Android devices
US (EU-US DPF)
Anthropic, PBC
(a) Translation of user-authored drill text between Icelandic and English, via the Claude API. (b) Weekly AI practice insight for Pro subscribers, via the Claude API. Input is not used to train Anthropic’s models. See §4a for full detail.
US (SCCs)
Spaceship, Inc.
Hosting of the marketing website at skaftgolf.com
US (SCCs)
Web3Forms
Receiving messages from the contact form on skaftgolf.com and forwarding them to skaft@skaftgolf.com
EU
We may add or change sub-processors. Material changes will be notified at least 30 days in advance via email or in-app notice. We do not transfer data outside the EEA except through the sub-processors above, each of which provides adequate safeguards under GDPR Chapter V (Standard Contractual Clauses).
SKAFT. uses Anthropic, PBC (operator of Claude) for two features. Both run only when triggered by your activity inside the app, never on a continuous schedule beyond that.
Before sending, free-form text fields (session notes, per-drill notes, coach notes, assignment notes) are passed through an automatic redaction step that removes patterns matching email addresses, phone numbers, Icelandic kennitölur, street addresses, postcodes, and URLs. This is a defensive measure; please still avoid writing personally-identifying information in notes.
Anthropic processes both requests under their commercial Data Privacy Policy. They do not use this content to train their models. They retain prompts and responses for up to 30 days for safety review and then delete them. See anthropic.com/legal/privacy and anthropic.com/legal/commercial-terms.
The first time the weekly insight is about to run, the app shows a one-time consent prompt; declining stops all weekly-insight processing on that device. To withdraw consent later, delete and reinstall the app, or email skaft@skaftgolf.com to request your consent be cleared server-side. (A dedicated in-app toggle is planned for a future release.) Drill translation can be avoided by leaving the app’s language matched to the drill’s source language. Free-tier users do not have the weekly AI insight feature enabled and no practice data is sent to Anthropic on their behalf. Only the drill translation feature applies to them.
Rate limits (currently 30 translations per user per day and 3 weekly-insight generations per user per day) are enforced server-side to cap our third-party AI spend and to make abuse recognisable.
Any drill (built-in, community-shared, or coach-authored) can have photos or videos attached to it. Media is uploaded to Supabase Storage and served from a public storage bucket so other users of the app can see it inside the drill’s detail sheet and inside the vertical media feed.
Under GDPR and Lög um persónuvernd nr. 90/2018 you have the right to:
To exercise these rights, contact skaft@skaftgolf.com. We respond within 30 days as required by Art. 12. You can also export your sessions to PDF from Profile → Export sessions, and delete your account from Profile → Settings → Delete account, which removes your personal data within 30 days.
Icelandic supervisory authority: Persónuvernd (Data Protection Authority of Iceland), Rauðarárstígur 10, 105 Reykjavík · personuvernd.is · phone: +354 510 9600.
SKAFT. is not directed to children under 13. We do not knowingly collect or process the personal data of children under 13. If you become aware that a child under 13 has provided us with personal data, please contact skaft@skaftgolf.com and we will delete the account and associated data within 7 days. Users aged 13–18 should review this policy with a parent or guardian.
We use industry-standard safeguards including TLS 1.2+ for all data in transit, encryption at rest by Supabase Storage and Postgres, industry-standard password hashing applied by Supabase Auth (we never see your plaintext password), row-level security so each user can only read their own private data, least-privilege service-role access, rate-limited and JWT-authenticated server endpoints, and an audit log of privileged actions (account deletion, Pro grants, coach access). No system is perfectly secure, however. If we become aware of a personal-data breach likely to result in risk to your rights, we will notify Persónuvernd within 72 hours and notify affected users by email without undue delay, in line with Art. 33–34 GDPR.
Neither the SKAFT. mobile app nor the marketing website (skaftgolf.com) uses cookies, analytics SDKs, or tracking pixels at this time. No advertising identifiers (IDFA, GAID) are read.
Push notifications
If you allow push notifications when the app asks, we store an Expo push token for each of your signed-in devices in the push_tokens table so we can route notifications to you (friend requests, competition invites, coach-relationship requests, drill-review outcomes, trial-ending reminders, daily streak and log reminders, and achievement unlocks). The token is an opaque identifier issued by Expo’s push service; it does not contain your name or any device identifier we can resolve back to advertising profiles. You can revoke it at any time by switching off Push notifications in Profile → Settings, or by revoking the OS-level permission. Tokens that come back as DeviceNotRegistered are auto-deleted on the next send.
Other tracking
If we add cookies, analytics, or any new tracking mechanism in the future, we will update this policy at least 30 days in advance and, where applicable, add an in-app consent prompt and a cookie notice to the website.
We may update this policy when the law, our practices, or the app changes. Material changes will be announced in-app at least 30 days before they take effect. The “Last updated” date at the top of this document always reflects the current version.
This policy is governed by the laws of Iceland. Disputes are subject to the exclusive jurisdiction of the courts of Iceland (Héraðsdómur Reykjavíkur in the first instance), without prejudice to your right to lodge a complaint with Persónuvernd or any other competent supervisory authority.
A golf practice tracker built around the one thing that matters: your score.
Product
Company
Legal
© 2026 SKAFT. · All rights reserved.
Available on the App Store
Á íslensku
SKAFT. er íslenskt golfapp fyrir iPhone sem heldur utan um golfæfingar, skor og forgjöf.
Athugið: Lagaskjölin eru aðeins fáanleg á ensku. Hér fyrir neðan er enska útgáfan.
Síðast uppfært · 2026-07-08
SKAFT. is an independent practice tracker for golfers, made and operated in Iceland by Viktor Tumi Valdimarsson, kennitala 130508-3160 (“we”, “us”, “SKAFT.”). SKAFT. is currently operated as a personal project and is not yet a registered company. If that changes in the future, this section will be updated to reflect the new legal entity.
Contact for privacy questions:
For the purposes of GDPR (Reglugerð (ESB) 2016/679) and Lög um persónuvernd nr. 90/2018, Viktor Tumi Valdimarsson is the data controller of personal data you provide when using the SKAFT. mobile application.
We collect only what is necessary to run the app and the subscription.
Category
Examples
Source
Account
Email address, password (hashed by Supabase), user id (uuid), preferred language
You, at sign-up
Profile
Username, avatar image, golf handicap, leaderboard visibility, theme, unit system
You, in the app
Practice data
Sessions, drills logged, scores, drill notes, session notes, location type (indoor/outdoor), weather selections, handicap history
You, when you log practice
User-authored drill content
Drill name, description, setup, instructions, optional photo or video attached to a drill
You, when you author a drill
User-uploaded drill media
Photos and videos attached to any drill you're allowed to contribute to, plus the count of likes and views each item accumulates
You, when you upload; other users, when they like or view
Community suggestions
Drill-content edit suggestions, drill-media suggestions, feature-idea suggestions, and moderation reports you file against media
You, when you submit through the in-app forms
Social
Friendships, competition memberships and standings, coach–student relationships
You + other users
Coaching content
Free-text notes your coach writes about you or a specific session, and drill assignments your coach sends you (only when a coach relationship is active)
Your coach
Achievements
Which badges you have unlocked and when
App, derived from your practice data
Subscription
Subscription tier (free / Pro / Pro Coach), status, period end date, store (App Store / Play Store / promo grant), product id
Apple, Google, RevenueCat, and our own server for trials, admin grants, and club codes
Notifications
Expo push notification tokens for your device(s), and the in-app notification inbox
You, when you allow push permissions; App, when you sign in
Rate-limit + audit records
Per-user API call counts for AI features and enumeration-prone RPCs; audit-log entries for privileged actions (account deletion, Pro grants, coach access changes)
App, automatically
Device / technical
App version, OS, error logs (only when something fails)
App, automatically
We do not collect: precise location (GPS), advertising identifiers, contact list, microphone audio (except when you choose to film a drill video), camera roll (except when you pick an image), payment details (Apple/Google handle payment data; we never see your card information), or any device telemetry beyond crash logs.
Purpose
Legal basis (GDPR Art. 6)
Providing the app’s core functionality (account, sessions, drills)
Performance of a contract (Art. 6(1)(b))
Operating SKAFT. Pro and SKAFT. Pro Coach subscriptions and billing
Performance of a contract (Art. 6(1)(b))
Sending essential service emails (password reset, billing-issue notice)
Performance of a contract (Art. 6(1)(b))
Friends, competitions, and coach–student relationships
Performance of a contract (Art. 6(1)(b)): required to deliver the feature you opted into by sending or accepting the invite
Public leaderboard visibility (username, avatar, handicap, score)
Your explicit consent (Art. 6(1)(a)). Off by default. Toggle in Settings → Privacy → Show me on the leaderboard. Revocable at any time.
Publishing a user-authored drill to the community library
Your explicit consent (Art. 6(1)(a)), revocable any time
Publishing drill media (photos or videos) attached to a drill
Your explicit consent (Art. 6(1)(a)) given by uploading and confirming the upload; revocable any time by deleting the media item
Community moderation (reviewing drill-content suggestions, drill-media suggestions, and media reports)
Legitimate interest (Art. 6(1)(f)): keeping the community library accurate and free of harmful content
Translating user-authored drill content between Icelandic and English
Performance of a contract (Art. 6(1)(b)). See §4 and §4a
Generating the weekly AI practice insight (Pro feature only)
Your explicit consent (Art. 6(1)(a)) collected in-app before the first insight is produced. See §4a
Rate-limiting AI features and enumeration-prone lookups, keeping an audit log of privileged actions
Legitimate interest (Art. 6(1)(f)): abuse prevention, cost control, and accountability
Diagnosing crashes and errors
Legitimate interest (Art. 6(1)(f))
Complying with tax, accounting, and consumer-rights law
Legal obligation (Art. 6(1)(c))
We do not sell your personal data, use it for ad targeting, or train AI models on it. Drill text content sent for translation, and practice summaries sent for the weekly AI insight (Pro), are not used to train AI models, per the sub-processor’s commercial API policy. See §4a for full detail on AI processing.
We use the following sub-processors. Each is bound by a data-processing agreement and an adequate cross-border transfer safeguard where applicable.
Sub-processor
Purpose
Location
Supabase Inc.
Database, authentication, file storage, edge functions
EU / US (SCCs)
RevenueCat Inc.
Subscription receipt validation and entitlement state
US (SCCs)
Apple Inc.
App Store subscription billing, payment processing, transactions
US (EU-US DPF)
Google LLC
Google Play subscription billing, payment processing
US (EU-US DPF)
Expo, Inc.
App build, OTA update delivery, and the Expo Push Notification Service
US (SCCs)
Apple Push Notification service
Delivering push notifications to iOS devices
US (EU-US DPF)
Google Firebase Cloud Messaging
Delivering push notifications to Android devices
US (EU-US DPF)
Anthropic, PBC
(a) Translation of user-authored drill text between Icelandic and English, via the Claude API. (b) Weekly AI practice insight for Pro subscribers, via the Claude API. Input is not used to train Anthropic’s models. See §4a for full detail.
US (SCCs)
Spaceship, Inc.
Hosting of the marketing website at skaftgolf.com
US (SCCs)
Web3Forms
Receiving messages from the contact form on skaftgolf.com and forwarding them to skaft@skaftgolf.com
EU
We may add or change sub-processors. Material changes will be notified at least 30 days in advance via email or in-app notice. We do not transfer data outside the EEA except through the sub-processors above, each of which provides adequate safeguards under GDPR Chapter V (Standard Contractual Clauses).
SKAFT. uses Anthropic, PBC (operator of Claude) for two features. Both run only when triggered by your activity inside the app, never on a continuous schedule beyond that.
Before sending, free-form text fields (session notes, per-drill notes, coach notes, assignment notes) are passed through an automatic redaction step that removes patterns matching email addresses, phone numbers, Icelandic kennitölur, street addresses, postcodes, and URLs. This is a defensive measure; please still avoid writing personally-identifying information in notes.
Anthropic processes both requests under their commercial Data Privacy Policy. They do not use this content to train their models. They retain prompts and responses for up to 30 days for safety review and then delete them. See anthropic.com/legal/privacy and anthropic.com/legal/commercial-terms.
The first time the weekly insight is about to run, the app shows a one-time consent prompt; declining stops all weekly-insight processing on that device. To withdraw consent later, delete and reinstall the app, or email skaft@skaftgolf.com to request your consent be cleared server-side. (A dedicated in-app toggle is planned for a future release.) Drill translation can be avoided by leaving the app’s language matched to the drill’s source language. Free-tier users do not have the weekly AI insight feature enabled and no practice data is sent to Anthropic on their behalf. Only the drill translation feature applies to them.
Rate limits (currently 30 translations per user per day and 3 weekly-insight generations per user per day) are enforced server-side to cap our third-party AI spend and to make abuse recognisable.
Any drill (built-in, community-shared, or coach-authored) can have photos or videos attached to it. Media is uploaded to Supabase Storage and served from a public storage bucket so other users of the app can see it inside the drill’s detail sheet and inside the vertical media feed.
Under GDPR and Lög um persónuvernd nr. 90/2018 you have the right to:
To exercise these rights, contact skaft@skaftgolf.com. We respond within 30 days as required by Art. 12. You can also export your sessions to PDF from Profile → Export sessions, and delete your account from Profile → Settings → Delete account, which removes your personal data within 30 days.
Icelandic supervisory authority: Persónuvernd (Data Protection Authority of Iceland), Rauðarárstígur 10, 105 Reykjavík · personuvernd.is · phone: +354 510 9600.
SKAFT. is not directed to children under 13. We do not knowingly collect or process the personal data of children under 13. If you become aware that a child under 13 has provided us with personal data, please contact skaft@skaftgolf.com and we will delete the account and associated data within 7 days. Users aged 13–18 should review this policy with a parent or guardian.
We use industry-standard safeguards including TLS 1.2+ for all data in transit, encryption at rest by Supabase Storage and Postgres, industry-standard password hashing applied by Supabase Auth (we never see your plaintext password), row-level security so each user can only read their own private data, least-privilege service-role access, rate-limited and JWT-authenticated server endpoints, and an audit log of privileged actions (account deletion, Pro grants, coach access). No system is perfectly secure, however. If we become aware of a personal-data breach likely to result in risk to your rights, we will notify Persónuvernd within 72 hours and notify affected users by email without undue delay, in line with Art. 33–34 GDPR.
Neither the SKAFT. mobile app nor the marketing website (skaftgolf.com) uses cookies, analytics SDKs, or tracking pixels at this time. No advertising identifiers (IDFA, GAID) are read.
Push notifications
If you allow push notifications when the app asks, we store an Expo push token for each of your signed-in devices in the push_tokens table so we can route notifications to you (friend requests, competition invites, coach-relationship requests, drill-review outcomes, trial-ending reminders, daily streak and log reminders, and achievement unlocks). The token is an opaque identifier issued by Expo’s push service; it does not contain your name or any device identifier we can resolve back to advertising profiles. You can revoke it at any time by switching off Push notifications in Profile → Settings, or by revoking the OS-level permission. Tokens that come back as DeviceNotRegistered are auto-deleted on the next send.
Other tracking
If we add cookies, analytics, or any new tracking mechanism in the future, we will update this policy at least 30 days in advance and, where applicable, add an in-app consent prompt and a cookie notice to the website.
We may update this policy when the law, our practices, or the app changes. Material changes will be announced in-app at least 30 days before they take effect. The “Last updated” date at the top of this document always reflects the current version.
This policy is governed by the laws of Iceland. Disputes are subject to the exclusive jurisdiction of the courts of Iceland (Héraðsdómur Reykjavíkur in the first instance), without prejudice to your right to lodge a complaint with Persónuvernd or any other competent supervisory authority.
Æfingaskrá fyrir golf, byggð í kringum það eina sem skiptir máli: skorið þitt.
Appið
Samskipti
Lagalegt
© 2026 SKAFT. · Allur réttur áskilinn.
Komið í App Store
SKAFT. is an independent practice tracker for golfers, made and operated in Iceland by Viktor Tumi Valdimarsson, kennitala 130508-3160 (“we”, “us”, “SKAFT.”). SKAFT. is currently operated as a personal project and is not yet a registered company. If that changes in the future, this section will be updated to reflect the new legal entity.
Contact for privacy questions:
For the purposes of GDPR (Reglugerð (ESB) 2016/679) and Lög um persónuvernd nr. 90/2018, Viktor Tumi Valdimarsson is the data controller of personal data you provide when using the SKAFT. mobile application.
We collect only what is necessary to run the app and the subscription.
| Category | Examples | Source |
|---|---|---|
| Account | Email address, password (hashed by Supabase), user id (uuid), preferred language | You, at sign-up |
| Profile | Username, avatar image, golf handicap, leaderboard visibility, theme, unit system | You, in the app |
| Practice data | Sessions, drills logged, scores, drill notes, session notes, location type (indoor/outdoor), weather selections, handicap history | You, when you log practice |
| User-authored drill content | Drill name, description, setup, instructions, optional photo or video attached to a drill | You, when you author a drill |
| User-uploaded drill media | Photos and videos attached to any drill you're allowed to contribute to, plus the count of likes and views each item accumulates | You, when you upload; other users, when they like or view |
| Community suggestions | Drill-content edit suggestions, drill-media suggestions, feature-idea suggestions, and moderation reports you file against media | You, when you submit through the in-app forms |
| Social | Friendships, competition memberships and standings, coach–student relationships | You + other users |
| Coaching content | Free-text notes your coach writes about you or a specific session, and drill assignments your coach sends you (only when a coach relationship is active) | Your coach |
| Achievements | Which badges you have unlocked and when | App, derived from your practice data |
| Subscription | Subscription tier (free / Pro / Pro Coach), status, period end date, store (App Store / Play Store / promo grant), product id | Apple, Google, RevenueCat, and our own server for trials, admin grants, and club codes |
| Notifications | Expo push notification tokens for your device(s), and the in-app notification inbox | You, when you allow push permissions; App, when you sign in |
| Rate-limit + audit records | Per-user API call counts for AI features and enumeration-prone RPCs; audit-log entries for privileged actions (account deletion, Pro grants, coach access changes) | App, automatically |
| Device / technical | App version, OS, error logs (only when something fails) | App, automatically |
We do not collect: precise location (GPS), advertising identifiers, contact list, microphone audio (except when you choose to film a drill video), camera roll (except when you pick an image), payment details (Apple/Google handle payment data; we never see your card information), or any device telemetry beyond crash logs.
| Purpose | Legal basis (GDPR Art. 6) |
|---|---|
| Providing the app’s core functionality (account, sessions, drills) | Performance of a contract (Art. 6(1)(b)) |
| Operating SKAFT. Pro and SKAFT. Pro Coach subscriptions and billing | Performance of a contract (Art. 6(1)(b)) |
| Sending essential service emails (password reset, billing-issue notice) | Performance of a contract (Art. 6(1)(b)) |
| Friends, competitions, and coach–student relationships | Performance of a contract (Art. 6(1)(b)): required to deliver the feature you opted into by sending or accepting the invite |
| Public leaderboard visibility (username, avatar, handicap, score) | Your explicit consent (Art. 6(1)(a)). Off by default. Toggle in Settings → Privacy → Show me on the leaderboard. Revocable at any time. |
| Publishing a user-authored drill to the community library | Your explicit consent (Art. 6(1)(a)), revocable any time |
| Publishing drill media (photos or videos) attached to a drill | Your explicit consent (Art. 6(1)(a)) given by uploading and confirming the upload; revocable any time by deleting the media item |
| Community moderation (reviewing drill-content suggestions, drill-media suggestions, and media reports) | Legitimate interest (Art. 6(1)(f)): keeping the community library accurate and free of harmful content |
| Translating user-authored drill content between Icelandic and English | Performance of a contract (Art. 6(1)(b)). See §4 and §4a |
| Generating the weekly AI practice insight (Pro feature only) | Your explicit consent (Art. 6(1)(a)) collected in-app before the first insight is produced. See §4a |
| Rate-limiting AI features and enumeration-prone lookups, keeping an audit log of privileged actions | Legitimate interest (Art. 6(1)(f)): abuse prevention, cost control, and accountability |
| Diagnosing crashes and errors | Legitimate interest (Art. 6(1)(f)) |
| Complying with tax, accounting, and consumer-rights law | Legal obligation (Art. 6(1)(c)) |
We do not sell your personal data, use it for ad targeting, or train AI models on it. Drill text content sent for translation, and practice summaries sent for the weekly AI insight (Pro), are not used to train AI models, per the sub-processor’s commercial API policy. See §4a for full detail on AI processing.
We use the following sub-processors. Each is bound by a data-processing agreement and an adequate cross-border transfer safeguard where applicable.
| Sub-processor | Purpose | Location |
|---|---|---|
| Supabase Inc. | Database, authentication, file storage, edge functions | EU / US (SCCs) |
| RevenueCat Inc. | Subscription receipt validation and entitlement state | US (SCCs) |
| Apple Inc. | App Store subscription billing, payment processing, transactions | US (EU-US DPF) |
| Google LLC | Google Play subscription billing, payment processing | US (EU-US DPF) |
| Expo, Inc. | App build, OTA update delivery, and the Expo Push Notification Service | US (SCCs) |
| Apple Push Notification service | Delivering push notifications to iOS devices | US (EU-US DPF) |
| Google Firebase Cloud Messaging | Delivering push notifications to Android devices | US (EU-US DPF) |
| Anthropic, PBC | (a) Translation of user-authored drill text between Icelandic and English, via the Claude API. (b) Weekly AI practice insight for Pro subscribers, via the Claude API. Input is not used to train Anthropic’s models. See §4a for full detail. | US (SCCs) |
| Spaceship, Inc. | Hosting of the marketing website at skaftgolf.com | US (SCCs) |
| Web3Forms | Receiving messages from the contact form on skaftgolf.com and forwarding them to skaft@skaftgolf.com | EU |
We may add or change sub-processors. Material changes will be notified at least 30 days in advance via email or in-app notice. We do not transfer data outside the EEA except through the sub-processors above, each of which provides adequate safeguards under GDPR Chapter V (Standard Contractual Clauses).
SKAFT. uses Anthropic, PBC (operator of Claude) for two features. Both run only when triggered by your activity inside the app, never on a continuous schedule beyond that.
Before sending, free-form text fields (session notes, per-drill notes, coach notes, assignment notes) are passed through an automatic redaction step that removes patterns matching email addresses, phone numbers, Icelandic kennitölur, street addresses, postcodes, and URLs. This is a defensive measure; please still avoid writing personally-identifying information in notes.
Anthropic processes both requests under their commercial Data Privacy Policy. They do not use this content to train their models. They retain prompts and responses for up to 30 days for safety review and then delete them. See anthropic.com/legal/privacy and anthropic.com/legal/commercial-terms.
The first time the weekly insight is about to run, the app shows a one-time consent prompt; declining stops all weekly-insight processing on that device. To withdraw consent later, delete and reinstall the app, or email skaft@skaftgolf.com to request your consent be cleared server-side. (A dedicated in-app toggle is planned for a future release.) Drill translation can be avoided by leaving the app’s language matched to the drill’s source language. Free-tier users do not have the weekly AI insight feature enabled and no practice data is sent to Anthropic on their behalf. Only the drill translation feature applies to them.
Rate limits (currently 30 translations per user per day and 3 weekly-insight generations per user per day) are enforced server-side to cap our third-party AI spend and to make abuse recognisable.
Any drill (built-in, community-shared, or coach-authored) can have photos or videos attached to it. Media is uploaded to Supabase Storage and served from a public storage bucket so other users of the app can see it inside the drill’s detail sheet and inside the vertical media feed.
Under GDPR and Lög um persónuvernd nr. 90/2018 you have the right to:
To exercise these rights, contact skaft@skaftgolf.com. We respond within 30 days as required by Art. 12. You can also export your sessions to PDF from Profile → Export sessions, and delete your account from Profile → Settings → Delete account, which removes your personal data within 30 days.
Icelandic supervisory authority: Persónuvernd (Data Protection Authority of Iceland), Rauðarárstígur 10, 105 Reykjavík · personuvernd.is · phone: +354 510 9600.
SKAFT. is not directed to children under 13. We do not knowingly collect or process the personal data of children under 13. If you become aware that a child under 13 has provided us with personal data, please contact skaft@skaftgolf.com and we will delete the account and associated data within 7 days. Users aged 13–18 should review this policy with a parent or guardian.
We use industry-standard safeguards including TLS 1.2+ for all data in transit, encryption at rest by Supabase Storage and Postgres, industry-standard password hashing applied by Supabase Auth (we never see your plaintext password), row-level security so each user can only read their own private data, least-privilege service-role access, rate-limited and JWT-authenticated server endpoints, and an audit log of privileged actions (account deletion, Pro grants, coach access). No system is perfectly secure, however. If we become aware of a personal-data breach likely to result in risk to your rights, we will notify Persónuvernd within 72 hours and notify affected users by email without undue delay, in line with Art. 33–34 GDPR.
Neither the SKAFT. mobile app nor the marketing website (skaftgolf.com) uses cookies, analytics SDKs, or tracking pixels at this time. No advertising identifiers (IDFA, GAID) are read.
Push notifications
If you allow push notifications when the app asks, we store an Expo push token for each of your signed-in devices in the push_tokens table so we can route notifications to you (friend requests, competition invites, coach-relationship requests, drill-review outcomes, trial-ending reminders, daily streak and log reminders, and achievement unlocks). The token is an opaque identifier issued by Expo’s push service; it does not contain your name or any device identifier we can resolve back to advertising profiles. You can revoke it at any time by switching off Push notifications in Profile → Settings, or by revoking the OS-level permission. Tokens that come back as DeviceNotRegistered are auto-deleted on the next send.
Other tracking
If we add cookies, analytics, or any new tracking mechanism in the future, we will update this policy at least 30 days in advance and, where applicable, add an in-app consent prompt and a cookie notice to the website.
We may update this policy when the law, our practices, or the app changes. Material changes will be announced in-app at least 30 days before they take effect. The “Last updated” date at the top of this document always reflects the current version.
This policy is governed by the laws of Iceland. Disputes are subject to the exclusive jurisdiction of the courts of Iceland (Héraðsdómur Reykjavíkur in the first instance), without prejudice to your right to lodge a complaint with Persónuvernd or any other competent supervisory authority.