Skip to content

Commit a42985b

Browse files
committed
Add support and privacy policy pages for face-reaction-battle
1 parent 586a1e2 commit a42985b

2 files changed

Lines changed: 165 additions & 0 deletions

File tree

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Privacy Policy - Face Reaction Battle</title>
7+
<style>
8+
body { font-family: -apple-system, sans-serif; max-width: 800px; margin: 40px auto; padding: 0 20px; color: #333; line-height: 1.6; }
9+
h1 { color: #1a1a2e; } h2 { color: #444; margin-top: 32px; }
10+
a { color: #4C6EF5; }
11+
</style>
12+
</head>
13+
<body>
14+
<h1>Privacy Policy</h1>
15+
<p><strong>Face Reaction Battle</strong> — Last updated: April 15, 2026</p>
16+
17+
<h2>Information We Collect</h2>
18+
<p>Face Reaction Battle processes facial images locally on your device using ML Kit to detect facial expressions in real time. Camera frames are analyzed on-device and are never uploaded to any server.</p>
19+
20+
<h2>Camera Usage</h2>
21+
<p>The app requires camera access to detect your facial expressions during gameplay. All face detection is performed on-device. No images or video are transmitted or stored on any server.</p>
22+
23+
<h2>Leaderboard &amp; Score Submission</h2>
24+
<p>If you choose to submit your score to the global leaderboard, the following information is sent to our server: your chosen display name, your score, combo count, accuracy, and session duration. No personal identifiers (email, phone, device ID) are collected. Score submission is optional and requires your explicit consent.</p>
25+
26+
<h2>Analytics</h2>
27+
<p>We use Firebase Analytics to collect anonymized usage data (screen views, feature usage) to improve the app. No personally identifiable information is collected.</p>
28+
29+
<h2>Advertising</h2>
30+
<p>Free users see ads via Google AdMob. AdMob may collect device identifiers for ad personalization in accordance with Google's privacy policy. Premium users see no ads.</p>
31+
32+
<h2>App Tracking Transparency (iOS)</h2>
33+
<p>On iOS, we request permission via Apple's App Tracking Transparency framework before allowing AdMob to track your activity. You may decline tracking and the app will continue to function normally with non-personalized ads.</p>
34+
35+
<h2>Data Retention</h2>
36+
<p>Camera frames used for face detection are not stored. Leaderboard data submitted by users is stored on our servers to provide the ranking feature. You may request deletion of your leaderboard entries by contacting us.</p>
37+
38+
<h2>In-App Purchases</h2>
39+
<p>Purchases are processed by Apple (App Store). We do not collect or store any payment information.</p>
40+
41+
<h2>Contact</h2>
42+
<p>Questions about this privacy policy? Contact us at <a href="mailto:app.develop.sk@gmail.com">app.develop.sk@gmail.com</a></p>
43+
<p><a href="../../support/face-reaction-battle/">Support Page</a></p>
44+
</body>
45+
</html>
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8"/>
5+
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
6+
<title>Face Reaction Battle – Support | SK APPS</title>
7+
<meta name="description" content="Face Reaction Battle - Real-time face expression game using your camera. Support page."/>
8+
<link rel="preconnect" href="https://fonts.googleapis.com">
9+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
10+
<style>
11+
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
12+
:root{--c1:#4C6EF5;--c2:#FF6B6B;--bg:#0a0a1a;--bg2:#111128;--card:#1a1a35;--t1:#e8eaf0;--t2:#9498b0;--accent:#4C6EF5}
13+
body{font-family:'Inter',-apple-system,sans-serif;background:var(--bg);color:var(--t1);line-height:1.6}
14+
nav{position:sticky;top:0;z-index:100;background:rgba(10,10,26,.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(76,110,245,.1);padding:0 24px}
15+
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}
16+
.nav-logo{font-size:1.3rem;font-weight:800;background:linear-gradient(135deg,#4C6EF5,#FF6B6B);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none}
17+
.nav-right{display:flex;align-items:center;gap:24px}
18+
.nav-links{display:flex;gap:24px;list-style:none}
19+
.nav-links a{color:var(--t2);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}
20+
.nav-links a:hover{color:var(--t1)}
21+
.hero{background:linear-gradient(135deg,var(--c1),var(--c2));text-align:center;padding:56px 24px 48px;position:relative;overflow:hidden}
22+
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--bg))}
23+
.hero-emoji{font-size:3.5rem;margin-bottom:16px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}
24+
.hero h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;margin-bottom:8px}
25+
.hero-cat{display:inline-block;padding:4px 14px;border-radius:20px;background:rgba(255,255,255,.2);font-size:.8rem;font-weight:600;margin-bottom:12px}
26+
.hero p{font-size:1rem;opacity:.9;max-width:500px;margin:0 auto}
27+
.container{max-width:700px;margin:0 auto;padding:32px 20px 60px}
28+
.card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:28px;margin-bottom:20px}
29+
.card h2{font-size:1.1rem;font-weight:700;margin-bottom:16px;color:var(--c1)}
30+
.card p{color:var(--t2);font-size:.93rem;line-height:1.8}
31+
.card ul{padding-left:0;list-style:none}
32+
.card li{color:var(--t2);font-size:.93rem;line-height:1.8;margin-bottom:10px;padding-left:20px;position:relative}
33+
.card li::before{content:"\2192";color:var(--c1);position:absolute;left:0;font-weight:600}
34+
.card li strong{color:var(--t1)}
35+
.features-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
36+
.feature{background:rgba(76,110,245,.06);border-radius:10px;padding:14px 16px;font-size:.88rem;color:#b8bcd4;display:flex;align-items:center;gap:8px}
37+
.feature-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c2));flex-shrink:0}
38+
@media(max-width:500px){.features-grid{grid-template-columns:1fr}.nav-links{display:none}}
39+
.download-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
40+
.dl-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-weight:600;font-size:.88rem;text-decoration:none;transition:all .2s}
41+
.dl-btn-apple{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
42+
.dl-btn-apple:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.3)}
43+
.contact-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff;text-decoration:none;padding:12px 24px;border-radius:10px;font-weight:600;font-size:.93rem;transition:all .2s}
44+
.contact-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.3)}
45+
footer{border-top:1px solid rgba(255,255,255,.05);text-align:center;padding:32px 20px}
46+
footer a{color:#4C6EF5;text-decoration:none;font-size:.88rem;font-weight:500}
47+
footer a:hover{color:#a29bfe}
48+
.footer-links{display:flex;gap:20px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
49+
.footer-copy{color:var(--t2);font-size:.75rem;opacity:.5}
50+
</style>
51+
</head>
52+
<body>
53+
<nav>
54+
<div class="nav-inner">
55+
<a href="/" class="nav-logo">SK APPS</a>
56+
<div class="nav-right">
57+
<ul class="nav-links">
58+
<li><a href="/">Home</a></li>
59+
<li><a href="mailto:app.develop.sk@gmail.com">Contact</a></li>
60+
</ul>
61+
</div>
62+
</div>
63+
</nav>
64+
65+
<div class="hero">
66+
<div class="hero-emoji">😄🆚😠</div>
67+
<div class="hero-cat">Game</div>
68+
<h1>Face Reaction Battle</h1>
69+
<p>Real-time face expression game using your camera. Challenge friends or beat your high score!</p>
70+
</div>
71+
72+
<div class="container">
73+
<div class="card">
74+
<h2>Key Features</h2>
75+
<div class="features-grid">
76+
<div class="feature"><div class="feature-dot"></div><span>Real-time face detection</span></div>
77+
<div class="feature"><div class="feature-dot"></div><span>Solo Score Attack mode</span></div>
78+
<div class="feature"><div class="feature-dot"></div><span>1v1 Battle mode</span></div>
79+
<div class="feature"><div class="feature-dot"></div><span>Global leaderboard</span></div>
80+
<div class="feature"><div class="feature-dot"></div><span>Calibration system</span></div>
81+
<div class="feature"><div class="feature-dot"></div><span>4 emotions: 😄😲😠😐</span></div>
82+
</div>
83+
</div>
84+
85+
<div class="card">
86+
<h2>Download</h2>
87+
<p>Available on iOS. Download for free and start the face-off!</p>
88+
<div class="download-btns">
89+
<a href="https://apps.apple.com/app/id6762256678" class="dl-btn dl-btn-apple" target="_blank" rel="noopener">App Store</a>
90+
</div>
91+
</div>
92+
93+
<div class="card">
94+
<h2>Frequently Asked Questions</h2>
95+
<ul>
96+
<li><strong>The camera doesn't detect my face.</strong> Make sure you are in good lighting and your face is clearly visible. Try the Calibration feature in Settings to personalize detection for your face.</li>
97+
<li><strong>How do I play Battle mode?</strong> Share a room code with a friend. Both players need to be on the same Wi-Fi or close proximity. The app uses your camera to detect the target emotion in real time.</li>
98+
<li><strong>My score was not submitted to the leaderboard.</strong> Ensure you have an internet connection when submitting. Enter a display name and tap Submit to appear on the global ranking.</li>
99+
<li><strong>The FAKE! round caught me off guard.</strong> In Solo mode, occasional FAKE! rounds announce a different emotion than the actual target. Stay sharp — it's part of the challenge!</li>
100+
<li><strong>How do I restore my Premium purchase?</strong> Go to Settings → Premium and tap "Restore Purchase". Make sure you are signed in with the same Apple ID used for the original purchase.</li>
101+
</ul>
102+
</div>
103+
104+
<div class="card">
105+
<h2>Contact Support</h2>
106+
<p>Having an issue not listed above? We're happy to help!</p>
107+
<a href="mailto:app.develop.sk@gmail.com" class="contact-btn">✉️ Email Support</a>
108+
</div>
109+
</div>
110+
111+
<footer>
112+
<div class="footer-links">
113+
<a href="/privacy-policies/face-reaction-battle/">Privacy Policy</a>
114+
<a href="https://www.apple.com/legal/internet-services/itunes/dev/stdeula/">Terms of Use (EULA)</a>
115+
<a href="mailto:app.develop.sk@gmail.com">Contact</a>
116+
</div>
117+
<p class="footer-copy">© 2025 SK APPS. All rights reserved.</p>
118+
</footer>
119+
</body>
120+
</html>

0 commit comments

Comments
 (0)