Files
Sage/web/terms-of-service.html
Dani 7ab641a3c8 v1.3.0+4: FOSS Compliance + Dark Mode + Enhanced Settings
 Major Features:
- Dark mode toggle with app-wide theme switching
- Sort inventory by Expiration Date, Name, or Location
- Toggle between Grid and List view for inventory
- Export inventory data to CSV with share functionality
- Custom sage leaf app icon with adaptive icon support

🔄 FOSS Compliance (F-Droid Ready):
- Replaced Firebase with Supabase (open-source backend)
- Anonymous authentication (no user accounts required)
- Cloud-first with hosted Supabase as default
- Optional self-hosting support
- 100% FOSS-compliant dependencies

🎨 UI/UX Improvements:
- Dynamic version display from package.json (was hardcoded)
- Added edit buttons for household and user names
- Removed non-functional search button
- Replaced Recipes placeholder with Settings button
- Improved settings organization with clear sections

📦 Dependencies:
Added:
- supabase_flutter: ^2.8.4 (FOSS backend sync)
- package_info_plus: ^8.1.0 (dynamic version)
- csv: ^6.0.0 (data export)
- share_plus: ^10.1.2 (file sharing)
- image: ^4.5.4 (dev, icon generation)

Removed:
- firebase_core (replaced with Supabase)
- cloud_firestore (replaced with Supabase)

🗑️ Cleanup:
- Removed Firebase setup files and google-services.json
- Removed unimplemented features (Recipes, Search)
- Removed firebase_household_service.dart
- Removed inventory_sync_service.dart (replaced with Supabase)

📄 New Files:
- lib/features/household/services/supabase_household_service.dart
- web/privacy-policy.html (Play Store requirement)
- web/terms-of-service.html (Play Store requirement)
- PLAY_STORE_LISTING.md (marketing copy)
- tool/generate_icons.dart (icon generation script)
- assets/icon/sage_leaf.png (1024x1024)
- assets/icon/sage_leaf_foreground.png (adaptive icon)

🐛 Bug Fixes:
- Fixed version display showing hardcoded "1.0.0"
- Fixed Sort By and Default View showing static text
- Fixed ConsumerWidget build signatures
- Fixed Location.displayName import issues
- Added clearAllData method to Hive database

📊 Stats: +1,728 additions, -756 deletions across 42 files

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 22:27:42 -04:00

248 lines
9.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Terms of Service - Sage Kitchen Management</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
line-height: 1.6;
color: #333;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
padding: 20px;
}
.container {
max-width: 800px;
margin: 0 auto;
background: white;
padding: 40px;
border-radius: 10px;
box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}
h1 {
color: #4CAF50;
margin-bottom: 10px;
font-size: 2.5em;
}
.last-updated {
color: #666;
font-size: 0.9em;
margin-bottom: 30px;
}
h2 {
color: #4CAF50;
margin-top: 30px;
margin-bottom: 15px;
font-size: 1.5em;
}
p {
margin-bottom: 15px;
}
ul {
margin-left: 20px;
margin-bottom: 15px;
}
li {
margin-bottom: 8px;
}
.highlight {
background: #e8f5e9;
padding: 15px;
border-left: 4px solid #4CAF50;
margin: 20px 0;
}
.warning {
background: #fff3cd;
padding: 15px;
border-left: 4px solid #ffc107;
margin: 20px 0;
}
a {
color: #4CAF50;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="container">
<h1>🌿 Terms of Service</h1>
<p class="last-updated">Last Updated: October 4, 2025</p>
<div class="highlight">
<strong>TL;DR:</strong> Sage is free, open-source software. Use it however you want, but don't sue us if something goes wrong. We're not responsible for expired food or food safety decisions you make.
</div>
<h2>1. Acceptance of Terms</h2>
<p>By downloading, installing, or using Sage ("the App"), you agree to these Terms of Service. If you don't agree, please don't use the App.</p>
<h2>2. License & Open Source</h2>
<p>Sage is licensed under the <strong>MIT License</strong>. This means:</p>
<ul>
<li>✅ You can use Sage for free, forever</li>
<li>✅ You can modify the source code</li>
<li>✅ You can distribute your own versions</li>
<li>✅ You can use it commercially</li>
<li>❌ We provide NO WARRANTY (see Section 8)</li>
</ul>
<h2>3. Description of Service</h2>
<p>Sage is a kitchen management app that helps you:</p>
<ul>
<li>Track food inventory with expiration dates</li>
<li>Scan barcodes for product information</li>
<li>Receive expiration notifications</li>
<li>Share household inventory with family members (optional)</li>
<li>Integrate with Discord for notifications (optional)</li>
</ul>
<div class="warning">
<strong>⚠️ IMPORTANT DISCLAIMER:</strong> Sage is a tracking tool, NOT a food safety authority. Always use your judgment when consuming food. When in doubt, throw it out!
</div>
<h2>4. User Responsibilities</h2>
<p>You are responsible for:</p>
<ul>
<li><strong>Food safety decisions</strong> - Sage provides expiration tracking, but YOU decide what's safe to eat</li>
<li><strong>Data accuracy</strong> - Ensuring the information you enter is correct</li>
<li><strong>Barcode data</strong> - Third-party APIs may provide incorrect product information</li>
<li><strong>Household members</strong> - Managing who has access to your household</li>
<li><strong>Your data</strong> - Backing up important information</li>
</ul>
<h2>5. Food Safety Disclaimer</h2>
<p><strong>Sage is NOT responsible for:</strong></p>
<ul>
<li>❌ Foodborne illness or food poisoning</li>
<li>❌ Incorrect expiration date predictions</li>
<li>❌ Barcode API errors or incorrect product data</li>
<li>❌ Decisions you make about consuming food</li>
<li>❌ Food waste or spoiled items</li>
</ul>
<p><strong>Always follow USDA food safety guidelines and use common sense!</strong></p>
<h2>6. Cloud Services & Third-Party APIs</h2>
<h3>Supabase Sync (Optional)</h3>
<p>If you use household sharing:</p>
<ul>
<li>Data is stored on Supabase (open-source backend)</li>
<li>We host a free Supabase instance for your convenience</li>
<li>We may discontinue this service with 30 days notice</li>
<li>You can self-host Supabase for full control</li>
</ul>
<h3>Barcode APIs</h3>
<p>Sage uses public APIs (Open Food Facts, UPCItemDB) for product lookups:</p>
<ul>
<li>These are third-party services we don't control</li>
<li>Product information may be incorrect or outdated</li>
<li>APIs may be unavailable at times</li>
</ul>
<h3>Discord Webhooks (Optional)</h3>
<p>If you configure Discord notifications:</p>
<ul>
<li>You're responsible for your webhook URL security</li>
<li>We don't control Discord's availability</li>
<li>Notifications may fail to deliver</li>
</ul>
<h2>7. Prohibited Uses</h2>
<p>You may NOT use Sage to:</p>
<ul>
<li>Violate any laws or regulations</li>
<li>Harm, harass, or impersonate others</li>
<li>Distribute malware or malicious code</li>
<li>Attempt to hack or compromise the app or Supabase</li>
<li>Scrape or abuse third-party APIs</li>
</ul>
<h2>8. Warranty Disclaimer</h2>
<div class="warning">
<p><strong>SAGE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.</strong></p>
<p>We make NO guarantees that:</p>
<ul>
<li>The app will work perfectly</li>
<li>Data won't be lost</li>
<li>Expiration dates are accurate</li>
<li>Cloud sync will always work</li>
<li>Third-party APIs will be available</li>
</ul>
</div>
<h2>9. Limitation of Liability</h2>
<p><strong>TO THE MAXIMUM EXTENT PERMITTED BY LAW:</strong></p>
<p>We (the Sage developers) are NOT liable for:</p>
<ul>
<li>Food poisoning or illness</li>
<li>Lost or corrupted data</li>
<li>Missed expiration notifications</li>
<li>Food waste or spoilage</li>
<li>Damages from using the app</li>
<li>Third-party service failures</li>
</ul>
<p><strong>Your use of Sage is entirely at your own risk.</strong></p>
<h2>10. Data & Privacy</h2>
<p>See our <a href="privacy-policy.html">Privacy Policy</a> for details on how we handle your data.</p>
<p>Key points:</p>
<ul>
<li>Your data is stored locally on your device</li>
<li>Cloud sync is optional and uses Supabase</li>
<li>We don't sell or track your data</li>
<li>You can delete your data anytime</li>
</ul>
<h2>11. Children's Use</h2>
<p>Sage is not intended for children under 13. If you're under 18, please get parental permission before using the app.</p>
<h2>12. Changes to Service</h2>
<p>We may:</p>
<ul>
<li>Update the app at any time</li>
<li>Add or remove features</li>
<li>Discontinue hosted Supabase service with 30 days notice</li>
<li>Change these Terms of Service (we'll update the date above)</li>
</ul>
<h2>13. Account Termination</h2>
<p>Since Sage doesn't use accounts, there's nothing to terminate! Just uninstall the app to stop using it.</p>
<p>If you're using household sharing, you can leave your household in Settings.</p>
<h2>14. Open Source</h2>
<p>Sage's source code is available on GitHub under the MIT License. You can:</p>
<ul>
<li>Fork and modify the code</li>
<li>Submit bug reports and pull requests</li>
<li>Contribute to development</li>
<li>Create your own version</li>
</ul>
<h2>15. Governing Law</h2>
<p>These Terms are governed by the laws of [Your jurisdiction]. Any disputes will be resolved in [Your location] courts.</p>
<h2>16. Contact</h2>
<p>Questions about these Terms? Contact us:</p>
<ul>
<li>GitHub Issues: <a href="https://github.com/yourusername/sage" target="_blank">github.com/yourusername/sage</a></li>
<li>Email: [Your contact email]</li>
</ul>
<div class="highlight">
<strong>🌿 Thank You for Using Sage!</strong><br>
We built this app to help reduce food waste and make kitchen management easier. It's free, open-source, and privacy-focused. Enjoy!
</div>
</div>
</body>
</html>