App Store submission assets: privacy page, screenshots, DOCX listing

This commit is contained in:
WMJ Ismail
2026-08-10 11:36:23 +08:00
parent a440160249
commit 75ec8ee9cb
13 changed files with 1047 additions and 44 deletions
+252
View File
@@ -0,0 +1,252 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Privacy Policy — Nur Falah</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
<style>
:root {
--bg: #070A0D;
--surface: #0D1117;
--card: #111820;
--border: #1E2A36;
--text: #E8E6E1;
--muted: #8B8B8B;
--gold: #C9A84C;
--gold-dim: rgba(201, 168, 76, 0.15);
--emerald: #2ECC71;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
background: var(--bg);
color: var(--text);
min-height: 100dvh;
line-height: 1.7;
-webkit-font-smoothing: antialiased;
}
body::before {
content: '';
position: fixed; inset: 0; z-index: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
opacity: 0.3;
}
body::after {
content: '';
position: fixed; inset: 0; z-index: 0;
background:
radial-gradient(ellipse 80% 60% at 50% -10%, rgba(201,168,76,0.06) 0%, transparent 60%),
radial-gradient(ellipse 40% 40% at 90% 80%, rgba(46,204,113,0.04) 0%, transparent 50%);
pointer-events: none;
}
.container {
position: relative; z-index: 1;
max-width: 720px;
margin: 0 auto;
padding: 40px 24px 80px;
}
header {
text-align: center;
padding: 40px 0 32px;
border-bottom: 1px solid var(--border);
margin-bottom: 40px;
}
.brand { font-size: 28px; letter-spacing: -0.02em; font-weight: 700; }
.brand-name { color: var(--text); }
.brand-accent { color: var(--gold); }
.brand-tag {
display: block;
font-size: 12px;
font-weight: 500;
color: var(--muted);
text-transform: uppercase;
letter-spacing: 0.3em;
margin-top: 4px;
}
h1 {
font-size: 32px;
font-weight: 700;
margin-top: 8px;
color: var(--gold);
}
.subtitle {
font-size: 14px;
color: var(--muted);
margin-top: 8px;
}
h2 {
font-size: 18px;
font-weight: 600;
color: var(--gold);
margin: 36px 0 12px;
padding-top: 8px;
}
h3 {
font-size: 16px;
font-weight: 600;
color: var(--emerald);
margin: 24px 0 8px;
}
p, li { font-size: 15px; color: var(--text); opacity: 0.92; }
p { margin-bottom: 16px; }
ul { padding-left: 20px; margin-bottom: 16px; }
li { margin-bottom: 6px; }
.card {
background: var(--card);
border: 1px solid var(--border);
border-radius: 12px;
padding: 20px 24px;
margin: 20px 0;
}
.card-title {
font-size: 13px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--gold);
margin-bottom: 8px;
}
.tag {
display: inline-block;
background: var(--gold-dim);
color: var(--gold);
font-size: 11px;
font-weight: 600;
padding: 3px 10px;
border-radius: 20px;
letter-spacing: 0.05em;
margin: 0 4px 4px 0;
}
.tag-green {
background: rgba(46, 204, 113, 0.12);
color: var(--emerald);
}
hr {
border: none;
border-top: 1px solid var(--border);
margin: 32px 0;
}
.back-link {
display: inline-flex;
align-items: center;
gap: 6px;
color: var(--gold);
text-decoration: none;
font-size: 14px;
font-weight: 500;
margin-bottom: 24px;
}
.back-link:hover { text-decoration: underline; }
footer {
text-align: center;
padding: 40px 0 0;
font-size: 12px;
color: var(--muted);
border-top: 1px solid var(--border);
margin-top: 48px;
}
code {
font-family: 'JetBrains Mono', monospace;
background: rgba(255,255,255,0.05);
padding: 1px 6px;
border-radius: 4px;
font-size: 13px;
color: var(--emerald);
}
@media (max-width: 600px) {
.container { padding: 24px 16px 60px; }
h1 { font-size: 24px; }
}
</style>
</head>
<body>
<div class="container">
<a href="/" class="back-link">← Back to Nur Falah</a>
<header>
<div class="brand">
<span class="brand-name">Nur</span><span class="brand-accent">Falah</span>
<span class="brand-tag">Muslim Companion</span>
</div>
<h1>Privacy Policy</h1>
<p class="subtitle">Last updated: 10 August 2026</p>
</header>
<p>Nur Falah ("we", "our", "us") is committed to protecting your privacy. This policy explains how we handle your data — or more accurately, how we <strong>don't</strong> handle it, because we deliberately collect as little as possible.</p>
<div class="card">
<div class="card-title">📍 Our Commitment</div>
<p style="margin-bottom: 0;"><strong>Zero data collection. Zero tracking. Zero ads.</strong> Nur Falah is designed to be a private, trustworthy companion for your daily Islamic practice. We believe your spiritual life is nobody else's business — including ours.</p>
</div>
<h2>Information We Do NOT Collect</h2>
<ul>
<li><strong>No account required</strong> — You don't need to sign up, log in, or create a profile. There are no usernames, passwords, or email addresses to store.</li>
<li><strong>No location data stored</strong> — Prayer times use your device's GPS or browser geolocation <em>on-device only</em>. Your coordinates are never transmitted to any server or third party.</li>
<li><strong>No usage analytics</strong> — We do not use Google Analytics, Firebase, Mixpanel, or any analytics SDK. We have no idea how many times you open the app, which features you use, or how long you stay.</li>
<li><strong>No cookies</strong> — Nur Falah does not set cookies, tracking pixels, or any persistent identifiers.</li>
<li><strong>No advertising identifiers (IDFA / AAID)</strong> — The app does not read or transmit any device advertising ID.</li>
</ul>
<h2>Data We Process On-Device</h2>
<p>The following data is processed entirely on your device and never leaves it:</p>
<ul>
<li><strong>Location (GPS):</strong> Used solely to calculate accurate prayer times and Qibla direction based on your current position. Your coordinates exist in device memory only during the calculation and are never stored or transmitted.</li>
<li><strong>Notification preferences:</strong> If you enable prayer notifications, the schedule is stored locally on your device using the browser's notification API. No preference data is sent to any server.</li>
<li><strong>Tasbih counter:</strong> Your daily count is maintained in local browser storage and resets at your request. Not transmitted anywhere.</li>
</ul>
<h2>Third-Party Services</h2>
<p>Nur Falah is intentionally built without third-party analytics, advertising, or tracking SDKs. The app is a standalone Progressive Web App (PWA) with minimal external dependencies:</p>
<ul>
<li><strong>Quran text</strong> is fetched from <code>api.alquran.cloud</code> (an open public API) and cached locally for offline use. No personal data is sent with these requests.</li>
<li><strong>Google Fonts</strong> (DM Sans) is loaded for typography. Google's privacy policy applies only to the font file request — no analytics or tracking data is involved.</li>
<li><strong>Cloudflare</strong> may serve cached versions of the app for performance. Cloudflare acts as a passive CDN and does not process personal data in connection with your use of the app.</li>
</ul>
<h2>Data Retention & Deletion</h2>
<p>Since we store no personal data on any server, there is nothing to retain or delete on our end. All local data (notification schedules, tasbih counts) resides in your browser's local storage. You can clear it at any time:</p>
<ul>
<li>In your browser settings: Clear site data for <code>moslem.falahos.my</code></li>
<li>Or simply uninstall the PWA from your device — this removes all local data automatically</li>
</ul>
<h2>Children's Privacy</h2>
<p>Nur Falah is suitable for users of all ages. We do not knowingly collect any personal information from children, as we do not collect personal information from <em>any</em> user. If you are a parent or guardian and have concerns, please contact us.</p>
<div class="card" style="border-left: 3px solid var(--gold);">
<p style="margin-bottom: 0;"><strong>Summary:</strong> Nur Falah collects <em>nothing</em>. No accounts. No tracking. No ads. Your privacy is by design, not by policy.</p>
</div>
<h2>Changes to This Policy</h2>
<p>If we ever update this privacy policy, the changes will be posted at this URL with an updated "Last updated" date. Because we collect no data, most changes would only clarify our existing practices rather than introduce new data collection.</p>
<h2>Contact</h2>
<p>For questions about this privacy policy or Nur Falah's data practices:</p>
<ul>
<li>Email: <a href="mailto:wanjauhari@gmail.com" style="color: var(--gold);">wanjauhari@gmail.com</a></li>
<li>Website: <a href="https://moslem.falahos.my" style="color: var(--gold);">moslem.falahos.my</a></li>
</ul>
<hr />
<div style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;">
<span class="tag">No tracking</span>
<span class="tag">No cookies</span>
<span class="tag">No ads</span>
<span class="tag-green">Privacy by design</span>
<span class="tag-green">GDPR compliant</span>
<span class="tag-green">CCPA compliant</span>
</div>
<footer>
<p>Built with <span style="color: var(--gold);">Falah OS</span> · Sovereign Digital Economy</p>
<p style="margin-top: 8px;">&copy; 2026 Falah Consultancy Ltd. All rights reserved.</p>
</footer>
</div>
</body>
</html>