Privacy Policy
This policy explains what personal data Hardi processes, why, with which services, and what rights you keep over your data.
Version hardi-1.3 · Effective date: 19 October 2026
1. Data controller
This policy explains how Hardi processes personal data across one account with Training and Programming spaces, on hardi.app and public sharing links.
POWERSPOT, a French SARL registered under SIREN 878 966 639 and trading as Hardi, is controller for the common account, personal Training activity, public athlete profile, social interactions, support, billing, security, and website data. Contact: contact@hardi.app.
For data a professional customer imports, creates, or manages about its athletes, staff, or members, that customer is normally controller and POWERSPOT is processor under the Data Processing Agreement in the Terms. A member's own Hardi account remains under POWERSPOT's responsibility even when that member also belongs to a professional workspace.
2. Data we collect
We collect information needed for the features used and optional information you provide. Your first name, email, username and information requested to complete the account are needed to create it; last name, bio, city, country and custom images are optional. Leaving an optional field blank does not prevent account use. Payment data is needed only for a purchase.
- Account: email, username, first name, last name if provided, self-declared men/women category, authentication data, language, initial use and interface preferences; Hardi does not ask for your date of birth.
- Profile: avatar, banner, bio, selected disciplines, optional city and country, follow and block relationships, section audiences and selected records.
- Training: self-reported performances, exercises, tests, dates, records and estimates, aggregate distributions, followed calendars and workout history.
- Programming: workouts, exercise references, blocks, calendars, Cycles, templates, folders, results, scores, participants, comments, private coach notes, links, revisions, analyses, and AI instructions or conversations.
- Team: name, username, avatar, banner and optional bio, disciplines, city, country and website; members, roles, invitations, ownership-transfer requests, seats, shared content and settings, and the selection and order of members and programs presented on its profile.
- Discovery: suggested profiles and Teams, suggestion or search source, position, display dates, clicks, dismissals and restores, and associated follows and unfollows. These events are linked to the signed-in account; raw search text and precise location are not stored in these events.
- Payment: customer and subscription identifiers, transaction status and evidence, billing and tax data; full card numbers are handled by Stripe, not Hardi.
- Support and operations: IP and user agent where needed, logs and diagnostics, exercise requests, reports, appeals, messages and voluntarily supplied attachments. Approximate region, where used, is described separately below.
3. Sources of data
Data mainly comes from you when you create an account, use the application, invite members, configure a workspace, create content, or contact Hardi.
Some data may also come from the authentication and payment services you use, including Google when you choose Google sign-in.
4. Purposes and legal bases
The legal bases for processing are:
- Performance of the contract: account, authentication, profile and visibility you configure, requested follows and blocks, performances and personal calculations, followed calendars, programming, Team collaboration, AI features you initiate, and necessary service messages.
- Legal obligations: billing and accounting, responses to competent authorities, and applicable reporting or data-protection obligations.
- POWERSPOT's legitimate interests: security, fraud and abuse prevention, proportionate moderation, support, diagnostics, contract evidence, minimized service measurement and relevant member suggestions, subject to your rights. Aggregate statistical comparisons place a performance in context without displaying other members' individual performances.
- Consent where required: a non-exempt optional technology or purpose, after specific information and before activation. Accepting the Terms or reading this policy is not that consent.
Member and Team recommendations may consider shared disciplines, social relationships and connections, public-profile completeness, recent public activity, follower counts and previously displayed suggestions. Popularity has a limited influence, while variety and discovery of newer profiles also affect the order. Where proximity is available and enabled, an approximate region or voluntarily published location may also be used. Private activity is not used to promote a profile through the shared public-activity score. Text searches prioritize a match with the entered name or username; suggestions use personalized relevance and variety. Exact weights may evolve without changing these purposes.
Discovery events help avoid repeatedly displaying the same suggestions, remember dismissals and measure the service’s effectiveness. Limited matching with a later follow, calendar follow or workout completion may be used to calculate attribution and follow-retention indicators; the indicators provided to Hardi’s operators are aggregated. The underlying account-linked events remain personal data, even when they contain no name. This processing relies on POWERSPOT’s legitimate interest in providing and improving relevant sports discovery, subject to data minimization and your rights, including the right to object by contacting contact@hardi.app. Dismissing one suggestion does not, by itself, object to all discovery measurement. These data are not used for third-party advertising or cross-site advertising profiles.
Recommendations do not decide account access or your legal situation. Sports comparisons and estimates are not diagnoses or medical assessments. Hardi does not make solely automated decisions with legal or similarly significant effects through those recommendations or rankings.
We do not sell your data or use it for third-party advertising. Do not enter diagnoses, injuries, disabilities, biometric measurements or medical files in free-text fields or AI requests. Sports data may become health data depending on its context and use; that classification does not disappear because it is entered in a workout. A business customer must determine appropriate legal bases and safeguards and must not use Hardi as a health record.
5. Google sign-in
If you choose to sign in with Google, Hardi uses Google OAuth to authenticate you. Google may provide a profile picture with the standard sign-in data, but Hardi does not use it as your avatar. Your avatar starts with Hardi initials unless you upload a photo in Hardi.
Hardi does not access Gmail, Google Drive, Google Calendar, or other sensitive Google data through this sign-in flow.
6. Artificial intelligence
When you deliberately use an AI feature, Hardi processes the instruction, relevant workout or programming content, language, settings, and context needed to perform the request. Depending on the action, this may be used to generate, transform, analyze, search, or help plan content through specialized service providers acting for Hardi.
Hardi AI can use your conversation, persistent custom instructions, attachments and extracted text, the visible page when selected, and relevant workouts, calendars, or results accessible within your permissions. It may use tools to read or change content in response to your request; authorizations and activity records help you understand and control those actions.
Relevant information is transmitted to AI providers to perform the request. Hardi does not sell prompts or use them for third-party advertising. Details of the providers involved and applicable data-protection safeguards can be requested at contact@hardi.app.
Do not include personal data that is unnecessary for the request, special-category or medical data, or confidential athlete records in AI prompts. Hardi is not designed to be a medical record. AI outputs must be reviewed by a competent person before use.
When profile-photo uploads are available, personal avatars, banners and Team avatars uploaded to Hardi are decoded, normalized, and stripped of EXIF metadata before publication. The normalized image is sent to Google Cloud Vision SafeSearch for an automated check of explicit sexual content and violence. This is separate from Google sign-in and does not retrieve your Google profile picture. The configured endpoint is in the European Union; any support processing or transfers are governed by the safeguards in sections 8 and 9. This check moderates content without facial recognition or biometric identification.
A new image may be visible during this check for up to ten minutes. A rejection removes it from public surfaces. If the check cannot finish within that period, Hardi withdraws the new image and restores the last accepted image, or initials if none exists. Automated checks can make mistakes; you may challenge a decision with Hardi for human review.
7. Public sharing and workspaces
The athlete-profile header is public: username, display name, avatar, banner and optional public information. The sign-in email, technical approximate region, private performances and private coach notes are not part of that header.
For a new account, annual activity and workout history are initially restricted to Only me. You may open those sections to everyone or people you follow. Featured records are initially enabled but publish no record until you manually select one. Disabling the section hides records without deleting the selection. Counts, follow lists and relationship indicators, including mutual follows, support social discovery under the product's controls.
A performance may contribute to statistical distributions without being individually published: only each user's best eligible performance is used for a comparable test, with at least ten users in the men or women category before its curve is displayed. Limited samples are flagged. This is not a named ranking of private performances.
Following an account or calendar does not grant access to its private professional space. Blocking restricts that signed-in account's social interactions and access; it does not make a public page inaccessible to a signed-out visitor or remove copies made elsewhere.
Authorized Team members may view or modify shared content according to their role. A public workout or calendar link may be viewed and shared by anyone with access; check names and results before sharing. A calendar password may leave its name or social-sharing metadata visible. Private coach notes are excluded from public surfaces. Settings allow links to be disabled or protected according to content type.
A Team profile has its own publication setting. When published, visitors may see its name, username, avatar, banner, creation date and optional information provided, including bio, disciplines, location and website. When unpublished, it remains accessible only to that Team’s members, subject to security and moderation controls. Hiding the profile does not, by itself, disable previously shared program links.
The owner and Admins control the Team members and Featured programs sections, including which entries appear and in which order. These sections are disabled by default. Initially enabling the member list proposes existing members, whose visibility can be adjusted before saving; new members are not automatically added to this presentation after configuration. A published member card displays their avatar, name and athlete username, with a link to their profile, not their sign-in email. Team managers must inform the members concerned and have the necessary rights and legal basis for publication. Featured programs are explicitly selected, with none initially selected; a protected calendar may appear there, but its password remains required when opening it under the service’s access rules.
Following or blocking a Team is a social relationship separate from membership of its workspace. These actions do not change Team membership, a member’s role, their personal subscription or the Team subscription. Blocking does not make a public page inaccessible to a signed-out visitor.
8. Recipients and processors
Access is limited to authorized POWERSPOT personnel, recipients resulting from your sharing, a business customer responsible for its data and necessary services. The following providers are used according to the enabled feature:
- Supabase: authentication, PostgreSQL database and private file storage; the primary data project is hosted in the EU Paris region. Support, operations and some subprocessors may involve other countries. Information and DPA: https://supabase.com/legal/customer-resources/data-processing-addendum.
- Vercel Inc.: hosting, delivery, server functions, protection and logs, plus Web Analytics and Speed Insights for minimized audience and performance measurement. Processing may involve the EEA and United States. Information: https://vercel.com/legal/privacy-notice and https://vercel.com/legal/dpa.
- Stripe: checkout, payment methods, subscriptions, taxes, invoices and billing portal. Stripe may act as an independent controller for regulatory obligations and fraud prevention. Information: https://stripe.com/privacy.
- Google: OAuth sign-in at your request; Google Cloud Vision SafeSearch to check uploaded avatars, banners and Team avatars. Image checks use the EU endpoint, without guaranteeing that every technical or support operation remains in the EEA. Information: https://policies.google.com/privacy and https://cloud.google.com/terms/cloud-data-processing-addendum.
- OpenRouter and called model providers, including OpenAI: AI feature execution using only elements relevant to the request. Processing may take place in the United States or other countries of the selected provider. Information: https://openrouter.ai/privacy and https://openai.com/policies/data-processing-addendum.
- Resend: alerts and service email delivery where configured, including catalogue requests and reports; it may process the message and its author's contact details in the United States. Information: https://resend.com/legal/dpa. A sending region does not guarantee European storage.
- Sentry and PostHog, only where configured: error diagnostics and minimized technical events. Workout text and AI instructions are not deliberately added to measurement events. Destinations depend on the configured instance. Information: https://sentry.io/legal/dpa and https://posthog.com/privacy.
- YouTube, operated by Google: thumbnails and video playback you request, including catalogue tutorials; youtube-nocookie.com is used where available. YouTube processes technical information needed for playback under its own policy.
- Zoho: emails and attachments addressed to Hardi's contact inbox; the domain uses Zoho's European mail services, without excluding contractual support or subprocessor access. Information: https://zoho.com/privacy.html.
Authorities, advisers and professional service providers may receive information strictly needed for a legal obligation, complaint, rights defence or lawful corporate transaction. Provider details and safeguards applicable to processing may be requested at contact@hardi.app. A disabled feature does not justify sending your data to its provider.
9. Transfers outside the European Union
Some providers process data outside the European Economic Area. Applicable transfers must be covered by a valid mechanism, such as an adequacy decision or standard contractual clauses with any necessary supplementary measures. You may request information on the destinations, the mechanism applicable to your data, and a copy of the relevant safeguards at contact@hardi.app, subject to necessary redactions protecting confidential information.
10. Retention
We keep data only as long as needed for the purposes described below, subject to legal obligations and the specific product rules.
- Account and personal-space content is kept while the account is active, then deleted or anonymized following an account-deletion request, subject to the exceptions below. Content contributed to a Team workspace may remain with that workspace when a member leaves.
- Workouts created in the authenticated Studio are saved automatically in the relevant personal or Team library and do not expire while the account or Team workspace remains active. When library capacity is reached, creation, duplication, and restoration are blocked until space is freed or the plan is upgraded. Existing workouts remain accessible, editable, and organizable; no active workout is automatically evicted to make room.
- Workouts moved to Trash are permanently deleted after 15 days unless restored first. Technical Trash capacity limits may remove the oldest items sooner. Restoring a workout requires available library capacity. The separate calendar-retention rules below still apply.
- Workouts in continuous calendars are kept for up to two years after their scheduled date, and their dated programming Cycles for up to two years after their end date, then permanently removed from professional calendars. Fixed-duration calendars and their Cycles are not subject to this automatic deletion. Results submitted through an authenticated athlete account may retain a limited workout and block snapshot in that athlete's history; guest and coach-added results linked only to expired calendar content are deleted.
- Workout revision history is limited to the most recent versions and each stored revision is kept for up to 30 days.
- Content accepted from an AI action becomes part of the relevant workout or programming content and follows its retention period. Hardi AI conversations and persistent instructions are stored to support continued use until you delete them or the related account is deleted, subject to applicable workspace and legal-retention rules. Deleting a conversation removes it from normal use and schedules permanent deletion after 30 days; it does not undo changes already applied to a workout or calendar.
- Hardi AI attachments and their extracted text are scheduled for deletion after 24 hours. Text incorporated into a conversation or resulting workout follows that content's separate retention period. Raw generation-audit inputs are cleared after 90 days; failed analyses after 30 days; successful standalone text analyses after 24 months. Limited usage and financial evidence may remain for accounting, security, or legal needs.
- When you create a share image, the selected content, settings, optional personal score, branding, and uploaded background are processed on our servers. Generated images may be cached for 24 hours to avoid repeated rendering, then become eligible for cleanup. This also applies to images created from a public demo. Security limits use technical identifiers, including a derived IP identifier, to prevent abuse.
- A result hidden through moderation is permanently deleted after 30 days.
- Public links remain available until the owner disables them or the related content, account, or workspace is deleted. An anonymized result may remain in a leaderboard after athlete-account deletion where the product explains this outcome.
- Cancelling a Team subscription or failing a payment does not delete shared content. Programming becomes read-only immediately at the paid-period end or after the failed payment. Shared programs remain available for thirty days after this loss of access. Workouts and calendars then remain stored but are unavailable, including to members, until reactivation; their public links no longer allow access. The Team profile remains visible according to its publication setting. Shared content is retained in an archive until reactivation or permanent dissolution explicitly confirmed by the owner.
- Permanent Team dissolution deletes shared Team content and invalidates its public links. An authenticated Athlete submission may retain only the approved minimal workout and block snapshot in that Athlete's private history, with the Team link, branding, coach notes, public scope, and Team leaderboard context removed. Guest and coach-added results that exist only in the Team are deleted.
- Minimal dissolution tombstones and financial, invoice, Energy-forfeiture, legal, and audit evidence may be retained where necessary. These records are minimized and do not preserve a usable Team workspace.
- Minimal legal-acceptance evidence, such as a pseudonymous account identifier, account kind, document versions, locale, acceptance source, and timestamps, may be kept to establish, exercise, or defend legal claims and meet compliance obligations, generally for up to five years after the end of the relationship. It is then deleted or irreversibly anonymized unless a longer legal hold is required.
- Invoices and accounting records are kept for the legally required period, generally ten years in France.
- Technical logs, security events, and observability data are kept for a limited period proportionate to security, diagnostic, and maintenance needs.
- Discovery events that were displayed or interacted with are removed by the periodic cleanup after thirty-five days. Prepared suggestions that were not seen or interacted with are removed by that cleanup after twenty-four hours. Dismissal preferences remain until restored or the account is deleted, or until the target profile or Team is deleted. Ranking scores are refreshed projections of still-eligible data; discovery measurement reports provide aggregated indicators over a window of no more than thirty-five days.
- Deleted data may remain temporarily in rolling backups or longer where needed for a legal obligation, fraud prevention, security, or a dispute, and is not restored for ordinary product use.
- Your selected public records and percentile projections are updated when relevant performances are corrected or removed. A withdrawn performance is no longer counted in the next projection; limited technical traces may remain for security and audit purposes.
- For profile photos, the current version and last accepted version are retained while useful to the profile. Unused replaced versions become eligible for removal within 24 hours. A rejected image may remain in private storage for up to 30 days to support an appeal; its decision metadata may remain for 90 days. An open appeal or report may require restricted case-specific retention, reviewed when the case closes. Account deletion immediately removes images from public surfaces.
- If nearby-member suggestions are available, Hardi uses the approximate country and region supplied by Vercel during authenticated use to rank member suggestions. No GPS or precise location is requested, the area remains private, and it is not used for advertising. One current area is refreshed at most once every 24 hours; it stops being used after seven days and is purged by the next daily job, within a further 24 hours, giving a maximum technical retention of eight days. The option starts enabled when the feature is available; disabling it in settings immediately removes the area and stops collection. Infrastructure logs have their own processing rules and are not covered by this period alone.
Proximity ranking relies on POWERSPOT's legitimate interest in suggesting locally relevant members within a sports-discovery service. The zone is limited to country and a broad region, never an address or route; it is private, replaceable, temporary and optional, without GPS tracking or advertising. You may object immediately without losing other features. The necessity and balancing assessment is documented; more precise location or a different purpose requires a new assessment and, where necessary, prior consent.
Technical signup acceptance intents expire after 24 hours; expired intents are cleaned during a new creation after an additional 24-hour delay. Reports and support correspondence are retained to handle the case, and their necessity is reviewed at closure; only information still needed for follow-up, security or rights defence remains accessible to authorized staff. Closing a case is not represented as automatic immediate deletion. Alerts sent to the team's mailbox follow that case-management policy as well.
11. Security
We use reasonable technical and organizational measures to protect data, including secure authentication, access control, user and workspace data isolation, security logs, TLS, and secure development practices.
No online service can guarantee absolute security. You must use a strong password, protect your session, and share public links only with authorized people.
12. Your rights
Under the GDPR's conditions, you have rights of access, rectification, erasure, restriction, objection and portability. Where processing relies on consent, you may withdraw it without affecting earlier lawful processing. You may object to legitimate-interest processing; proximity can be disabled immediately in Settings > Account > Privacy.
Write to contact@hardi.app or POWERSPOT, 38 rue des Vallées, 92700 Colombes, France. We normally respond within one month; an extension of up to two further months may be needed for complexity or numerous requests, with reasons communicated within the first month. Proportionate identity verification may be requested where there is doubt, without systematically collecting identity documents. Requests are free except in the exceptional circumstances allowed by the GDPR.
For data controlled by a gym, coach or another organization, contact that organization; POWERSPOT assists as processor. You may complain to the CNIL, https://www.cnil.fr, 3 place de Fontenoy — TSA 80715 — 75334 Paris Cedex 07, or your country's competent authority. Judicial remedies remain available.
13. Account deletion
Deleting the common Hardi account ends access to both Training and Programming. The flow explains any Team ownership or dissolution action required before confirmation.
The public profile and active social relationships are removed. Some historical workout or leaderboard data may be retained without the deleted member's public identity only where the product and applicable obligations permit it. Financial, legal-acceptance, security, and backup exceptions are described in the retention section.
14. Cookies and similar technologies
Hardi uses cookies and device storage for authentication, security, language, preferences and continuity of requested features. Local drafts may help recover an unsaved edit; on a shared device, sign out and clear app or browser data. Signed-in workouts are saved on the server. Demonstrations do not create a saved workout in your account and their retention is not guaranteed.
Public result forms may retain a guest display name, category and random submission key in localStorage for up to thirty days. Demo continuity keeps its invitation state and image-generation count across tabs for thirty minutes of inactivity; expired data is deleted or replaced on the next use. A signup link may indicate the source demo and language.
Vercel Web Analytics and Speed Insights measure audience and performance without advertising cookies; transmitted URLs are minimized and parameters that could contain personal data are removed. Product events are limited to approved technical actions and properties, without workout content, AI requests or named identities added to those events. This measurement serves service improvement and diagnostics, not cross-site advertising profiles. Absence of cookies does not by itself remove tracking-law obligations: an optional measurement requiring consent must remain inactive until consent is obtained.
Third-party players are not automatically loaded when an exercise sheet opens: a video loads when you request playback. YouTube and third-party sites may then process IP, browser information and technologies needed for their player under their own rules. PWA installation is optional; it adds an icon and opens Hardi in an app window. Resources may remain in the normal browser cache according to its settings, without a separate offline cache promised by Hardi. It does not promise offline private content, search or saving and does not authorize new advertising purposes. Uninstalling or clearing site data removes local data according to device capabilities.
You may delete cookies and local data in browser or device settings; this may sign you out and remove drafts. Required consent is requested separately, never inferred from accepting the Terms.
15. Voice dictation
Where available, voice dictation uses the recognition capabilities of your browser or device. Hardi does not intentionally store an audio recording; the resulting transcript is inserted into the instruction field and is processed like other text only when you submit it. Your browser or device provider may process audio under its own terms.
16. Minors
An independent Hardi account requires age 16 or above; at 16 or 17, prior authorization from a parent or legal guardian is required. Paid purchases require an adult buyer, and business purchases require authority to bind the business customer. Hardi does not request a birth date at signup; age rules remain a condition of use and a non-compliant account may be suspended after review.
For a participant under 16, an authorized coach, organization, parent or legal guardian may enter a result in their programming without creating an independent account for the child. They must have appropriate legal bases and permissions, minimize data and prefer an alias; a public named leaderboard must not be published without appropriate authorization. Do not enter minors' medical or sensitive data in the service.
17. Changes
We may update this policy to reflect product, provider, legal, or practice changes. The version and effective date displayed at the top identify the applicable text; material changes will be brought to users' attention by an appropriate channel.
Privacy contact and controller address: POWERSPOT, 38 rue des Vallées, 92700 Colombes, France — contact@hardi.app.