Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TaskNxt — Three lanes. One popover. Zero accounts.</title>
<meta name="description" content="TaskNxt is a free, 100% local macOS menu bar app for triaging tasks into Now, Nxt, and Ltr. No accounts, no cloud, no tracking.">
<title>TaskNxt — Three lanes. One popover.</title>
<meta name="description" content="TaskNxt is a free, local-first macOS menu bar app for triaging tasks into Now, Nxt, and Ltr. Works fully offline, with optional Google Tasks sync. No tracking.">
<link rel="icon" type="image/png" href="icon.png">
<meta property="og:title" content="TaskNxt — Three lanes. One popover. Zero accounts.">
<meta property="og:description" content="A free, 100% local macOS menu bar task manager. Now, Nxt, Ltr — one hotkey away.">
<meta property="og:title" content="TaskNxt — Three lanes. One popover.">
<meta property="og:description" content="A free, local-first macOS menu bar task manager with optional Google Tasks sync. Now, Nxt, Ltr — one hotkey away.">
<meta property="og:image" content="icon.png">
<meta property="og:type" content="website">
<style>
Expand Down Expand Up @@ -149,7 +149,6 @@
padding:9px 16px;font-size:14px;color:var(--text-dim);
text-decoration:none;transition:border-color .15s,color .15s;
}
.stat-pill img{height:20px;width:auto;display:block;}
a.stat-pill:hover{border-color:var(--accent-2);color:var(--text);}
.privacy-line{
display:flex;align-items:center;justify-content:center;gap:8px;
Expand Down Expand Up @@ -200,7 +199,7 @@
<main id="top">
<section class="hero" id="install">
<img class="hero-icon" src="icon.png" alt="TaskNxt icon">
<h1>Three lanes. <span>One popover.</span><br>Zero accounts.</h1>
<h1>Three lanes. <span>One popover.</span></h1>
<p class="sub">Now, Next, and Later - organize what matters today, what's coming next, and what can wait. One hotkey away, living quietly in your menu bar.</p>

<a class="download-pill" href="https://github.com/thamaraiselvam/tasknxt/releases/latest">
Expand All @@ -218,12 +217,11 @@ <h1>Three lanes. <span>One popover.</span><br>Zero accounts.</h1>
<svg width="15" height="15" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"/></svg>
Open Source
</a>
<img class="stat-pill" src="https://visitor-badge.laobi.icu/badge?page_id=thamaraiselvam.tasknxt&logo=github&left_color=%2151517&right_color=grey" alt="Page visits">
</div>

<p class="privacy-line">
<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z"/></svg>
No data leaves your Mac. No analytics. No accounts.
Your data stays on your Mac unless you connect Google Tasks. No analytics.
</p>

<div class="code">
Expand Down Expand Up @@ -260,9 +258,9 @@ <h3>Three fixed lanes</h3>
<p>Now / Nxt / Ltr — always in the same order, so priority triage becomes muscle memory instead of a decision.</p>
</div>
<div class="feature">
<span class="icon">📑</span>
<h3>Up to 4 tabs</h3>
<p>Separate Work, Personal, or any workspace you like. The menu bar badge shows the active tab's incomplete-task count.</p>
<span class="icon">🔄</span>
<h3>Google Tasks, optionally</h3>
<p>Connect your Google account and every task list becomes its own tab, synced both ways, with no cap on how many. New tasks land in an Inbox lane for you to triage. Skip it and nothing leaves your Mac.</p>
</div>
<div class="feature">
<span class="icon">✅</span>
Expand All @@ -284,20 +282,22 @@ <h3>Light &amp; dark mode</h3>

<div class="privacy-band">
<div class="privacy-inner">
<div><h4>🔒 100% local</h4><p>All data stays on your Mac</p></div>
<div><h4>🚫 No accounts</h4><p>No sign-in, ever</p></div>
<div><h4>📡 No network calls</h4><p>No analytics, no telemetry</p></div>
<div><h4>🔒 Local-first</h4><p>Your data lives on your Mac</p></div>
<div><h4>🔄 Optional Google Tasks</h4><p>Connect only if you want sync</p></div>
<div><h4>📡 No tracking</h4><p>No analytics, no telemetry</p></div>
<div><h4>💸 Free &amp; open source</h4><p>MIT licensed on GitHub</p></div>
</div>
</div>
</main>

<footer>
<div>The app has no accounts, cloud sync, or telemetry. Site visits are counted by visitor-badge.laobi.icu.</div>
<div>Local-first. Optional Google Tasks sync. No tracking. Just a fast task list, one keystroke away.</div>
<div class="footer-links">
<a href="https://github.com/thamaraiselvam/tasknxt">GitHub</a>
<a href="https://github.com/thamaraiselvam/tasknxt/releases/latest">Releases</a>
<a href="https://github.com/thamaraiselvam/tasknxt/blob/main/LICENSE">MIT License</a>
<a href="privacy.html">Privacy</a>
<a href="terms.html">Terms</a>
</div>
</footer>

Expand Down
72 changes: 72 additions & 0 deletions docs/privacy.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Privacy Policy — TaskNxt</title>
<meta name="description" content="How TaskNxt handles your data, including the optional Google Tasks sync.">
<link rel="icon" type="image/png" href="icon.png">
<style>
:root{--bg:#0a0a0b;--card:#151517;--border:#232326;--text:#f2f2f3;--dim:#9a9aa1;--accent:#5b8cff;}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Helvetica,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;}
main{max-width:760px;margin:0 auto;padding:48px 24px 72px;}
a{color:var(--accent);}
h1{font-size:2rem;margin:0 0 4px;} h2{font-size:1.15rem;margin:32px 0 8px;}
.meta{color:var(--dim);margin:0 0 24px;} p,li{color:#d6d6da;} li{margin:4px 0;}
nav{display:flex;gap:18px;align-items:center;margin-bottom:28px;font-size:.95rem;} nav a{color:var(--dim);text-decoration:none;} nav a:hover{color:var(--text);}
nav img{width:24px;height:24px;border-radius:6px;}
.box{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 18px;}
</style>
</head>
<body>
<main>
<nav><a href="./"><img src="icon.png" alt=""></a><a href="./">TaskNxt</a><a href="privacy.html">Privacy</a><a href="terms.html">Terms</a><a href="https://github.com/thamaraiselvam/tasknxt">GitHub</a></nav>
<h1>Privacy Policy</h1>
<p class="meta">TaskNxt · Last updated: October 11, 2026</p>

<p>TaskNxt is a free, open-source macOS menu bar task manager. It is built to keep your data on your Mac. This policy explains what the app stores, and what happens if you choose to connect Google Tasks.</p>

<h2>Summary</h2>
<div class="box"><ul>
<li>TaskNxt has no servers, no accounts of its own, no analytics, and no advertising.</li>
<li>The developer does not receive, collect, or have access to your tasks or Google data.</li>
<li>The only network traffic is the optional Google Tasks sync, directly between your Mac and Google.</li>
</ul></div>

<h2>Data stored on your Mac</h2>
<ul>
<li><strong>Tasks and settings:</strong> your tabs, tasks, due dates, archive, and preferences are saved in a local file (<code>store.json</code> in your user Library folder). The file is readable only by your user account.</li>
<li><strong>Google sign-in token:</strong> if you connect Google, the token is stored only in the macOS Keychain. It is never written to <code>store.json</code>.</li>
<li><strong>Google account email:</strong> saved in <code>store.json</code> and shown in Settings so you can see which account is connected.</li>
</ul>

<h2>Google Tasks (optional)</h2>
<p>Google Tasks sync is off until you press Connect in Settings. When you connect, TaskNxt asks Google for:</p>
<ul>
<li><strong>Google Tasks access</strong> (<code>https://www.googleapis.com/auth/tasks</code>) to read and update your task lists and tasks.</li>
<li><strong>OpenID and email</strong> to show the connected account's email address.</li>
</ul>
<p>With that access, TaskNxt reads your task lists (names) and the tasks in lists you enable (title, completed state, due date) and creates, updates, completes, or deletes tasks to match changes you make in the app. This communication goes directly from your Mac to Google over HTTPS. It does not pass through any server operated by the developer.</p>
<p>Data obtained from Google is used only to provide this sync feature inside the app. It is not shared with or sold to anyone, not used for advertising, and not used to train AI or machine-learning models. No person, including the developer, reads your Google data.</p>
<p>TaskNxt's use and transfer of information received from Google APIs adheres to the <a href="https://developers.google.com/terms/api-services-user-data-policy">Google API Services User Data Policy</a>, including the Limited Use requirements.</p>

<h2>Your choices and deleting your data</h2>
<ul>
<li><strong>Choose lists:</strong> turn individual Google lists on or off in Settings → Google.</li>
<li><strong>Disconnect:</strong> Settings → Google → Disconnect revokes TaskNxt's access at Google and deletes the token from your Keychain. Tabs and tasks already synced remain on your Mac as local data.</li>
<li><strong>Revoke from Google:</strong> you can also remove access at any time at <a href="https://myaccount.google.com/permissions">myaccount.google.com/permissions</a>.</li>
<li><strong>Delete local data:</strong> quit the app and delete the <code>TaskNxt</code> folder in <code>~/Library/Application Support</code>, and delete the app.</li>
</ul>

<h2>Children</h2>
<p>TaskNxt is a general productivity tool and does not knowingly collect personal information from anyone, including children.</p>

<h2>Changes to this policy</h2>
<p>If this policy changes, the updated version will be published on this page with a new date. The full history is in the <a href="https://github.com/thamaraiselvam/tasknxt">project repository</a>.</p>

<h2>Contact</h2>
<p>Questions or concerns: open an issue at <a href="https://github.com/thamaraiselvam/tasknxt/issues">github.com/thamaraiselvam/tasknxt/issues</a>.</p>
</main>
</body>
</html>
60 changes: 60 additions & 0 deletions docs/terms.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<!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 — TaskNxt</title>
<meta name="description" content="Terms of use for the TaskNxt macOS app and its optional Google Tasks sync.">
<link rel="icon" type="image/png" href="icon.png">
<style>
:root{--bg:#0a0a0b;--card:#151517;--border:#232326;--text:#f2f2f3;--dim:#9a9aa1;--accent:#5b8cff;}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Helvetica,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;}
main{max-width:760px;margin:0 auto;padding:48px 24px 72px;}
a{color:var(--accent);}
h1{font-size:2rem;margin:0 0 4px;} h2{font-size:1.15rem;margin:32px 0 8px;}
.meta{color:var(--dim);margin:0 0 24px;} p,li{color:#d6d6da;} li{margin:4px 0;}
nav{display:flex;gap:18px;align-items:center;margin-bottom:28px;font-size:.95rem;} nav a{color:var(--dim);text-decoration:none;} nav a:hover{color:var(--text);}
nav img{width:24px;height:24px;border-radius:6px;}
.box{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 18px;}
</style>
</head>
<body>
<main>
<nav><a href="./"><img src="icon.png" alt=""></a><a href="./">TaskNxt</a><a href="privacy.html">Privacy</a><a href="terms.html">Terms</a><a href="https://github.com/thamaraiselvam/tasknxt">GitHub</a></nav>
<h1>Terms of Service</h1>
<p class="meta">TaskNxt · Last updated: October 11, 2026</p>

<p>By downloading or using TaskNxt (the "App"), you agree to these terms. If you do not agree, do not use the App.</p>

<h2>The App</h2>
<p>TaskNxt is a free, open-source macOS menu bar task manager released under the <a href="https://github.com/thamaraiselvam/tasknxt/blob/main/LICENSE">MIT License</a>. These terms cover your use of the App and its optional Google Tasks sync feature. Your rights to the source code are governed by the MIT License.</p>

<h2>Your data</h2>
<p>Your tasks stay on your Mac. You are responsible for backing up your data. How the App handles data, including Google data, is described in the <a href="privacy.html">Privacy Policy</a>.</p>

<h2>Google Tasks sync</h2>
<ul>
<li>The sync feature is optional and works only if you connect your own Google account.</li>
<li>Syncing can create, change, complete, and delete tasks in your Google Tasks lists. Changes you make in the App are applied to your Google account, and the reverse. Deleting a task in one place deletes it in the other.</li>
<li>Your use of Google services remains subject to <a href="https://policies.google.com/terms">Google's Terms of Service</a>. You can revoke the App's access at any time from Settings or at <a href="https://myaccount.google.com/permissions">myaccount.google.com/permissions</a>.</li>
<li>The App is not affiliated with, endorsed by, or sponsored by Google. "Google" and "Google Tasks" are trademarks of Google LLC.</li>
</ul>

<h2>Acceptable use</h2>
<p>Do not use the App in violation of applicable law or Google's terms, and do not attempt to disrupt Google's services through the App.</p>

<h2>No warranty</h2>
<p>The App is provided "as is" and "as available", without warranty of any kind, express or implied, including merchantability, fitness for a particular purpose, and non-infringement. Sync can fail or conflict, so do not rely on the App as your only copy of important information.</p>

<h2>Limitation of liability</h2>
<p>To the maximum extent permitted by law, the developer and contributors are not liable for any indirect, incidental, special, or consequential damages, or for any loss of data, arising from your use of the App. The App's total liability is limited to the amount you paid for it, which is zero.</p>

<h2>Changes and termination</h2>
<p>These terms may be updated; the current version is always on this page with its date. You may stop using the App at any time. The developer may change or discontinue the App or its Google integration at any time.</p>

<h2>Contact</h2>
<p>Questions: open an issue at <a href="https://github.com/thamaraiselvam/tasknxt/issues">github.com/thamaraiselvam/tasknxt/issues</a>.</p>
</main>
</body>
</html>
Loading