Files
Sage/web/privacy-policy.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

192 lines
7.8 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Privacy Policy - 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;
}
a {
color: #4CAF50;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="container">
<h1>🌿 Privacy Policy</h1>
<p class="last-updated">Last Updated: October 4, 2025</p>
<div class="highlight">
<strong>TL;DR:</strong> Sage is built privacy-first. Your data stays on YOUR device. Optional cloud sync uses open-source Supabase. We don't sell data, track you, or show ads. Ever.
</div>
<h2>1. Information We Collect</h2>
<p>Sage is designed to respect your privacy. Here's what we do and don't collect:</p>
<h3>Local Data (Stored on Your Device)</h3>
<ul>
<li><strong>Food inventory items</strong> - names, quantities, expiration dates, barcodes, photos, notes</li>
<li><strong>User preferences</strong> - app settings, Discord webhook URL (if configured), household name</li>
<li><strong>Household information</strong> - household name, member names (if using household sharing)</li>
</ul>
<h3>Cloud Sync Data (Optional - Supabase)</h3>
<p>If you choose to use household sharing features, the following data is synced to Supabase (an open-source backend):</p>
<ul>
<li>Food inventory items from your household</li>
<li>Household name and member names</li>
<li>Anonymous authentication tokens (no email or personal info required)</li>
</ul>
<h3>What We DON'T Collect</h3>
<ul>
<li>❌ No email addresses</li>
<li>❌ No phone numbers</li>
<li>❌ No location tracking</li>
<li>❌ No analytics or usage tracking</li>
<li>❌ No advertising IDs</li>
<li>❌ No personal identifiable information</li>
</ul>
<h2>2. How We Use Your Information</h2>
<p>Your data is used ONLY for these purposes:</p>
<ul>
<li><strong>Local inventory management</strong> - Track your food items on your device</li>
<li><strong>Household sharing</strong> - Sync inventory with family members (if enabled)</li>
<li><strong>Expiration notifications</strong> - Send alerts via Discord webhook (if configured by you)</li>
<li><strong>Barcode lookup</strong> - Fetch product information from public APIs (Open Food Facts, UPCItemDB)</li>
</ul>
<h2>3. Data Storage & Security</h2>
<h3>Local Storage (Hive Database)</h3>
<p>All your data is stored locally on your device using Hive, an encrypted local database. This data never leaves your device unless you explicitly enable household sharing.</p>
<h3>Cloud Storage (Supabase - Optional)</h3>
<p>If you enable household sharing:</p>
<ul>
<li>Data is stored in Supabase (open-source Firebase alternative)</li>
<li>You can use our hosted Supabase instance OR self-host your own</li>
<li>Data is transmitted over HTTPS</li>
<li>Anonymous authentication - no email or password required</li>
</ul>
<h2>4. Third-Party Services</h2>
<p>Sage may interact with these third-party services:</p>
<h3>Barcode Lookup APIs</h3>
<ul>
<li><strong>Open Food Facts</strong> - Free, open database of food products</li>
<li><strong>UPCItemDB</strong> - Product information database</li>
<li>These services receive ONLY the barcode number when you scan items</li>
</ul>
<h3>Discord Webhooks (Optional)</h3>
<p>If you configure a Discord webhook URL, Sage will send expiration notifications to your Discord channel. We don't store or have access to your webhook URL on any server.</p>
<h3>Supabase (Optional)</h3>
<p>If you enable household sharing, your inventory data is synced via Supabase. See their privacy policy at <a href="https://supabase.com/privacy" target="_blank">supabase.com/privacy</a></p>
<h2>5. Data Sharing</h2>
<p><strong>We DO NOT sell, rent, or share your data with anyone.</strong></p>
<p>The ONLY data sharing happens when:</p>
<ul>
<li>You explicitly enable household sharing (data shared with your household members via Supabase)</li>
<li>You configure Discord notifications (sent to YOUR Discord webhook)</li>
</ul>
<h2>6. Your Rights & Control</h2>
<p>You have complete control over your data:</p>
<ul>
<li><strong>Delete your data</strong> - Uninstall the app to remove all local data</li>
<li><strong>Export your data</strong> - Contact us for a data export (coming soon in-app)</li>
<li><strong>Disable cloud sync</strong> - Leave household to stop syncing</li>
<li><strong>Self-host</strong> - Run your own Supabase instance for full control</li>
</ul>
<h2>7. Children's Privacy</h2>
<p>Sage does not knowingly collect information from children under 13. The app is designed for household management and is intended for use by adults.</p>
<h2>8. Open Source & Transparency</h2>
<p>Sage is 100% FOSS (Free and Open Source Software). You can inspect the entire codebase, including:</p>
<ul>
<li>How data is stored locally</li>
<li>What data is sent to Supabase</li>
<li>How barcode APIs are used</li>
<li>No hidden tracking or analytics</li>
</ul>
<h2>9. Changes to This Policy</h2>
<p>We may update this privacy policy from time to time. We'll notify you of any material changes by updating the "Last Updated" date at the top of this policy.</p>
<h2>10. Contact Us</h2>
<p>Questions about this privacy policy? 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>🌿 Built with Privacy in Mind</strong><br>
Sage is local-first, open-source, and respects your data. Your kitchen, your data, your control.
</div>
</div>
</body>
</html>