Add Privacy Policy and Terms of Service pages

Registration collects health-adjacent data (age, weight, height, health
notes, goals) with no privacy policy or ToS anywhere in the app. Adds
both as real pages at /privacy and /terms, a site-wide footer linking to
them (the app had no footer at all outside the homepage), and a consent
line on the registration form. Both pages are marked as a starting draft
with bracketed placeholders for operator/jurisdiction details rather
than inventing legal claims the app can't back up.

Also removed the homepage's own footer, which duplicated the new global
one and whose Privacy/Terms/About/Contact links were all dead `#`
placeholders, and fixed APP_NAME (was "Laravel", site is branded
FitAtlas everywhere else including the browser tab title).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-10 11:55:11 +03:00
co-authored by Claude Sonnet 5
parent 0a36afbfdc
commit 0c6a297198
11 changed files with 292 additions and 39 deletions
+98
View File
@@ -0,0 +1,98 @@
<x-app-layout>
<section class="bg-white dark:bg-gray-900 border-b border-gray-100 dark:border-gray-800">
<div class="mx-auto max-w-3xl px-4 sm:px-6 lg:px-8 py-8">
<h1 class="text-2xl sm:text-3xl font-extrabold tracking-tight text-gray-900 dark:text-white">Privacy Policy</h1>
<p class="mt-2 text-sm text-gray-500">Last updated: August 10, 2026</p>
</div>
</section>
<section class="mx-auto max-w-3xl px-4 sm:px-6 lg:px-8 py-8 space-y-8 text-gray-800 dark:text-gray-200 leading-relaxed">
<p class="rounded-xl bg-amber-50 dark:bg-amber-900/20 text-amber-800 dark:text-amber-200 px-4 py-3 text-sm">
This policy is a starting point, not a substitute for legal advice. Before launch, replace the bracketed
placeholders below with your actual operator details and have it reviewed for the jurisdictions you operate in.
</p>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">Who this policy covers</h2>
<p class="mt-2">
This Privacy Policy explains how {{ config('app.name') }} ("we", "us") collects, uses, and stores
information when you use this application. {{ config('app.name') }} is operated by
[Operator Name / Legal Entity]. If you have questions about this policy, contact us at
<a href="mailto:privacy@example.com" class="text-indigo-600 hover:text-indigo-500">privacy@example.com</a>.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">Information we collect</h2>
<p class="mt-2">When you create an account, we collect:</p>
<ul class="mt-2 list-disc ms-6 space-y-1">
<li><strong>Account details:</strong> name, email address, and password (stored as a salted hash, never in plain text).</li>
<li>
<strong>Fitness profile (optional):</strong> age, weight, height, fitness level, goals, health
notes, available equipment, and training preferences. You choose whether to provide these when
you sign up or from your profile settings.
</li>
<li><strong>Activity data:</strong> the workouts you build, the exercises and yoga poses you favorite, and your workout session history (what you completed and when).</li>
</ul>
<p class="mt-3">
Health-related fields such as health notes, weight, and fitness goals can be considered sensitive
personal data in some jurisdictions. We only collect them if you choose to enter them, and only to
power features like workout recommendations and progress tracking.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">Cookies</h2>
<p class="mt-2">
We use strictly necessary cookies to keep you signed in and to protect the site against
cross-site request forgery. We do not use advertising or third-party tracking cookies.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">How we use your information</h2>
<ul class="mt-2 list-disc ms-6 space-y-1">
<li>To provide the core features of the app: workout building, session tracking, and your dashboard.</li>
<li>To personalize the exercise and yoga library based on your stated goals and equipment.</li>
<li>To send account-related emails, such as email verification and password resets.</li>
</ul>
<p class="mt-3">We do not sell your personal information, and we do not use your data for advertising.</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">Third parties</h2>
<p class="mt-2">
Our exercise and yoga pose libraries are sourced from third-party public data providers. Browsing
that content does not send your personal data to those providers. We do not share your account or
fitness data with any third party except as required to operate the service (for example, hosting
infrastructure) or as required by law.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">Data retention and deletion</h2>
<p class="mt-2">
You can permanently delete your account and all associated data (workouts, sessions, and favorites)
at any time from your <a href="{{ route('profile.edit') }}" class="text-indigo-600 hover:text-indigo-500">profile settings</a>.
Deletion is immediate and cannot be undone.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">Your rights</h2>
<p class="mt-2">
Depending on where you live, you may have the right to access, correct, export, or delete your
personal data. You can update most of your information directly from your profile, or contact us
at <a href="mailto:privacy@example.com" class="text-indigo-600 hover:text-indigo-500">privacy@example.com</a> for anything else.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">Changes to this policy</h2>
<p class="mt-2">
If we make material changes to this policy, we will update the "Last updated" date above and, where
appropriate, notify you directly.
</p>
</div>
</section>
</x-app-layout>
+102
View File
@@ -0,0 +1,102 @@
<x-app-layout>
<section class="bg-white dark:bg-gray-900 border-b border-gray-100 dark:border-gray-800">
<div class="mx-auto max-w-3xl px-4 sm:px-6 lg:px-8 py-8">
<h1 class="text-2xl sm:text-3xl font-extrabold tracking-tight text-gray-900 dark:text-white">Terms of Service</h1>
<p class="mt-2 text-sm text-gray-500">Last updated: August 10, 2026</p>
</div>
</section>
<section class="mx-auto max-w-3xl px-4 sm:px-6 lg:px-8 py-8 space-y-8 text-gray-800 dark:text-gray-200 leading-relaxed">
<p class="rounded-xl bg-amber-50 dark:bg-amber-900/20 text-amber-800 dark:text-amber-200 px-4 py-3 text-sm">
This is a starting point, not a substitute for legal advice. Before launch, replace the bracketed
placeholders below with your actual operator details and have it reviewed for the jurisdictions you operate in.
</p>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">1. Agreement</h2>
<p class="mt-2">
These Terms of Service govern your use of {{ config('app.name') }}, operated by
[Operator Name / Legal Entity]. By creating an account or using the app, you agree to these terms.
If you do not agree, please do not use the app.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">2. Not medical advice</h2>
<p class="mt-2">
{{ config('app.name') }} provides general fitness and exercise content for informational purposes
only. It is not a substitute for professional medical advice, diagnosis, or treatment. Consult a
physician before starting any exercise program, especially if you have an existing health condition,
injury, or are pregnant. You are responsible for exercising within your own physical limits.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">3. Your account</h2>
<ul class="mt-2 list-disc ms-6 space-y-1">
<li>You must provide accurate information when creating an account.</li>
<li>You are responsible for keeping your password secure and for all activity under your account.</li>
<li>You must be legally permitted to enter into these terms in your jurisdiction to register.</li>
</ul>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">4. Trainer accounts</h2>
<p class="mt-2">
If you register as a trainer, you remain solely responsible for the accuracy and safety of any
guidance you provide to others through or alongside the app. We do not verify trainer credentials.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">5. Acceptable use</h2>
<p class="mt-2">You agree not to:</p>
<ul class="mt-2 list-disc ms-6 space-y-1">
<li>Use the app for any unlawful purpose or in violation of these terms.</li>
<li>Attempt to gain unauthorized access to other accounts or to the admin panel.</li>
<li>Interfere with or disrupt the app's infrastructure or scrape it at abusive volume.</li>
<li>Upload content to the blog or your profile that is unlawful, infringing, or harmful.</li>
</ul>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">6. Content</h2>
<p class="mt-2">
Exercise and yoga pose data is sourced from third-party providers and is provided "as is." Blog
content reflects the views of its authors and is provided for general informational purposes.
Workouts, notes, and other content you create remain yours; by using the app you allow us to store
and display it back to you as part of the service.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">7. Termination</h2>
<p class="mt-2">
You may delete your account at any time from your profile settings. We may suspend or terminate
accounts that violate these terms.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">8. Disclaimer and limitation of liability</h2>
<p class="mt-2">
The app is provided "as is" without warranties of any kind. To the fullest extent permitted by law,
{{ config('app.name') }} and its operator are not liable for any injury, loss, or damage arising
from your use of the app, including from following exercise or yoga content it provides.
</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">9. Governing law</h2>
<p class="mt-2">These terms are governed by the laws of [Your Jurisdiction], without regard to conflict-of-law principles.</p>
</div>
<div>
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">10. Contact</h2>
<p class="mt-2">
Questions about these terms can be sent to
<a href="mailto:legal@example.com" class="text-indigo-600 hover:text-indigo-500">legal@example.com</a>.
</p>
</div>
</section>
</x-app-layout>