Skip to content

Taskflow to-do list. A free, simple, and powerful web app to manage your daily tasks. Works directly in your browser, with no complicated installation.

License

Notifications You must be signed in to change notification settings

madjeek-web/Taskflow_to-do-list

Repository files navigation

Todo List Pro

Une application web moderne et intuitive de gestion de tâches, conçue avec simplicité et performance en tête.

Taskflow Your to-do list, finally done right

MIT License Built with HTML CSS JS Open Source Works Offline No Data Collected Version Build

A free, simple and powerful web application to manage your tasks every day. Works directly in your browser, no complicated installation required.


Try it now | no installation needed !

Open Taskflow online

One click and you're good to go. No account, no download, no installation.

Download Taskflow | Choose your language :

Click the link to open the app instantly in your browser. To save the file on your computer: press Ctrl + S (or Cmd + S on Mac) once the app is open.

Language Download
🇫🇷 Français taskflow-fr.html
🇬🇧 English taskflow-en.html
🇨🇳 中文 Mandarin taskflow-zh.html
🇮🇳 हिंदी Hindi taskflow-hi.html
🇪🇸 Español taskflow-es.html
🇸🇦 العربية Arabe taskflow-ar.html
🇧🇩 বাংলা Bengali taskflow-bn.html
🇧🇷 Português taskflow-pt.html
🇷🇺 Русский taskflow-ru.html
🇯🇵 日本語 Japanese taskflow-ja.html

Screenshots

Dark mode

Taskflow dark mode

Light mode

Taskflow light mode

On mobile

Taskflow on mobile


Table of contents


What is it ?

Taskflow is a to-do list application — a modern and intuitive task manager, designed with simplicity and performance in mind.

You probably know those lists we write on paper so we don't forget anything? "Do my homework", "call grandma", "finish the project"...

Taskflow is exactly that, but on your computer or phone. And way better than a piece of paper, because:

  • you can check off a task when you're done
  • you can give it a priority (urgent, normal, not in a hurry)
  • you can put it in a category you create yourself (e.g. "School", "Personal", "Sport")
  • you can set a deadline so you never miss an important due date
  • everything is saved automatically — even if you close the tab, nothing disappears
  • you can filter, sort and search through your list in a few clicks

Features

Feature What it means in practice
Add a task Type what you need to do and press Enter
Check a task Click the checkbox when it's done
Delete a task A button to remove what you no longer need
Edit a task Double-click on the text to fix it
Priorities Mark if it's urgent, normal or not pressing
Categories Sort your tasks by theme (you choose the names)
Deadline Set when the task must be finished
Search Type a word to find a specific task
Sort Order your list by date, priority, alphabetical order...
Dark mode / Light mode Choose the theme based on your preference
Auto-save Nothing disappears, even if you close the browser
Export Download your list as a JSON file to keep it safe
Import Reload a list you had previously saved
Drag & drop Reorganize tasks by dragging them with your mouse
Statistics See how many tasks you've done vs. still to do
Keyboard shortcuts Go even faster (full list accessible with the ? key)
Responsive design Works perfectly on phone, tablet and computer

Technologies

Frontend:

  • Vanilla JavaScript (ES6+ modules) — No framework dependencies
  • Vite — Ultra-fast bundler and development server
  • Tailwind CSS — Utility-first CSS framework
  • Tabler Icons — Icon library

Technical characteristics:

  • Client-side single-page application (SPA)
  • No backend required
  • Deployable as a static site
  • Zero runtime dependencies

Prerequisites

Before you start, make sure you have the following installed:

  • Node.js (version 16.0.0 or higher) — Download Node.js
  • npm (usually included with Node.js) or yarn

Verify your installation:

node --version
npm --version

Installation

Option 1 — Online (the fastest)

Simply click this link: https://madjeek-web.github.io/taskflow/taskflow-standalone.html

No download, no account, no installation. One click and you're ready.


Option 2 — On your computer, without installation

  1. Download the taskflow-standalone.html file from this repository
  2. Double-click on it on your computer
  3. It opens in your browser (Chrome, Firefox, Safari...)
  4. That's it. You can start using Taskflow right away !

This file works without an internet connection. You can even put it on a USB stick and use it on any computer!


Option 3 — Developer setup (Vite + Tailwind version)

1. Clone the repository

git clone https://github.com/madjeek-web/Taskflow_to-do-list.git
cd Taskflow_to-do-list

2. Install dependencies

npm install

3. Start the development server

npm run dev

4. Open your browser

Go to http://localhost:5173 (or the URL shown in the terminal).


Usage

User interface

1. Add a task

  • Type the description of your task in the input field
  • Click the "+" button or press Enter
  • The task is instantly added to the list

2. Mark a task as completed

  • Click the checkbox on the left of the task
  • The task will be visually marked as completed

3. Edit a task

  • Double-click on the task text
  • Edit directly inline, then press Enter to confirm or Escape to cancel

4. Delete a task

  • Hover over the task and click the 🗑️ button on the right
  • The task is immediately removed

5. Export your tasks

  • Click the "Export" button in the top right corner
  • A taskflow-YYYY-MM-DD.json file will be downloaded
  • This file contains all your tasks in JSON format

6. Import tasks

  • Click the "Import" button
  • Select a .json file you previously exported
  • Your tasks will be restored instantly

Export / Import format

Tasks are saved in JSON format:

[
  {
    "id": "unique-id",
    "text": "My first task",
    "completed": false,
    "priority": "high",
    "category": "Work",
    "dueDate": "2025-12-31",
    "createdAt": 1700000000000
  },
  {
    "id": "unique-id-2",
    "text": "Completed task",
    "completed": true,
    "priority": "medium",
    "category": "",
    "dueDate": "",
    "createdAt": 1700000001000
  }
]

⌨️ Keyboard shortcuts

Key Action
Enter Add the task you are typing
Ctrl + D Switch between dark mode and light mode
Ctrl + F Jump directly to the search bar
Ctrl + E Export your list as a JSON file
Escape Cancel what you are currently editing
? Show the full list of all shortcuts

On Mac, replace Ctrl with Cmd (the ⌘ key).


Compatibility

Browsers

Browser Compatible?
Google Chrome Yes, perfectly
Mozilla Firefox Yes, perfectly
Microsoft Edge Yes, perfectly
Safari (Mac & iPhone) Yes, perfectly
Opera Yes, perfectly
Internet Explorer No (too old, no longer maintained)

If your browser is less than 3 years old, Taskflow will work without any issues.

Devices

Device Compatible?
Computer (Windows, Mac, Linux) Yes
Android smartphone Yes
iPhone / iPad Yes
Tablet Yes

The application automatically adapts to your screen size — this is called responsive design.


Project structure

Taskflow_to-do-list/
│
├── index.html                ← Main HTML entry point
├── taskflow-standalone.html  ← All-in-one version (easiest to use)
├── README.md                 ← This documentation file
├── SECURITY.md               ← Security and privacy information
│
├── screenshots/              ← Screenshots used in the README
│   ├── dark-mode.png
│   ├── light-mode.png
│   └── mobile.png
│
├── src/
│   ├── main.js               ← Main entry point, event handling
│   ├── store.js              ← Reactive data store (app memory)
│   ├── components.js         ← Reusable UI components
│   ├── toast.js              ← Notification system
│   └── style.css             ← Custom styles and Tailwind
│
├── exemple/
│   └── tasks.json            ← Sample task file to import
│
├── package.json              ← Dependencies and npm scripts
├── vite.config.js            ← Vite configuration
└── .gitignore                ← Files ignored by Git

Main files detail

File Description
src/main.js Initializes the app and handles user events (add, delete, import, export, shortcuts)
src/store.js Centralized reactive store — manages all data and localStorage persistence
src/components.js Contains functions to create UI components (task items, tags, drag & drop)
src/toast.js Animated notification system (success, error, info toasts)
src/style.css Tailwind CSS import and custom component classes
index.html HTML structure of the user interface
vite.config.js Vite bundler and Tailwind plugin configuration

Available scripts

npm run dev

Starts the development server with hot reload.

npm run dev
  • Access at http://localhost:5173
  • Changes are reflected in real time

npm run build

Builds the application for production.

npm run build
  • Generates an optimized version in the dist/ folder
  • Minification and asset optimization
  • Ready to be deployed

npm run preview

Preview the production version locally.

npm run preview
  • Simulates the production server
  • Verify the build before deployment

Architecture

General architecture

┌─────────────────────────────────────┐
│           index.html (DOM)           │
├─────────────────────────────────────┤
│                                      │
│   main.js (App Orchestrator)         │
│   - Event Listeners                  │
│   - Import / Export                  │
│   - Keyboard Shortcuts               │
│   - Theme Management                 │
│                                      │
├─────────────────────────────────────┤
│                                      │
│   store.js (Reactive State Manager)  │
│   - addTodo / deleteTodo             │
│   - toggleTodo / updateTodo          │
│   - Filters, Sort, Search            │
│   - localStorage Persistence         │
│                                      │
├─────────────────────────────────────┤
│                                      │
│   components.js (DOM Generator)      │
│   - createTodoItem()                 │
│   - Drag & Drop logic                │
│   - Inline editing                   │
│                                      │
├─────────────────────────────────────┤
│   toast.js     │    style.css        │
│   - Toasts     │    - Tailwind       │
│   - Success    │    - Dark/Light     │
│   - Error      │    - Animations     │
└─────────────────────────────────────┘

Data flow

  1. Add task: Input → main.jsstore.addTodo() → Re-render → DOM
  2. Delete task: Delete button → store.deleteTodo() → Re-render → DOM
  3. Complete task: Checkbox → store.toggleTodo() → Re-render → DOM
  4. Search/Filter: Input → store.setSearch()store.getFiltered() → Re-render
  5. Export: store.exportTodos() → JSON serialization → File download
  6. Import: File upload → JSON parsing → store.importTodos() → Re-render

State management

The application uses a centralized reactive store (store.js) with a mini event-emitter pattern:

  • All data mutations go through store functions
  • Every change automatically triggers a re-render
  • Data is persisted in localStorage after every mutation
  • Filters, sort and search are applied in real time

Advantages:

  • No external framework needed
  • Automatic persistence — nothing is lost on page reload
  • Clean separation between data and UI
  • Lightweight and fast

Export & Import

Export (save)

Click the ** Export** button in the top right corner. This downloads a .json file to your computer. This file contains all your tasks. Keep it safe as a backup!

Import (restore)

Click the ** Import** button, then select a .json file you previously exported. All your tasks reappear instantly.

The JSON format is simply a text file that computers can read easily. You can open it with any text editor to see your tasks in a structured format.


Deployment

Deploy on GitHub Pages

# Build the project
npm run build

# Push the dist folder
git add dist
git commit -m "Deploy to production"
git push origin main

Then enable GitHub Pages in your repository settings, pointing to the dist/ folder.

Deploy on Vercel (recommended)

  1. Connect your GitHub repository to Vercel
  2. Vercel will automatically detect Vite
  3. Click "Deploy"
  4. Your site is live!

Deploy on Netlify

  1. Connect your GitHub repository to Netlify
  2. Set the publish folder to dist
  3. Build command: npm run build
  4. Click "Deploy"

Roadmap

Here are the features planned for future versions. Have an idea? Open an Issue to discuss it!

  • Recurring tasks (e.g. "every Monday")
  • Custom coloured labels system
  • Long notes attached to a task
  • Calendar view to visualise deadlines
  • Browser reminder notifications
  • Customisable colour themes
  • User authentication
  • Optional cloud sync between devices
  • Native mobile application (Android & iOS)
  • Translation into other languages

Frequently Asked Questions (FAQ)

Do my tasks disappear if I close the browser? No! Everything is saved automatically in your browser. You can close it, restart your computer, reopen the browser — your tasks are still there.

Are my data lost if I switch browsers? Yes, unfortunately. Data is linked to your specific browser. If you switch from Chrome to Firefox, you won't find your tasks there. The solution: export your list to JSON from the old browser, then import it in the new one.

Does it work on my phone? Yes! The app adapts to small screens automatically. You can use it on Android or iPhone directly from your mobile browser.

Can I share my list with someone? Not directly from the app for now. But you can export your list as a JSON file and send it by email. That person can then import it into their own version of Taskflow.

What happens if I clear my browser cache? Your tasks will be deleted, as they are stored in the localStorage cache. To avoid losing your data, remember to regularly export your list to JSON — that's your backup.

Is the app free forever? Yes, 100%. Taskflow is open source and under the MIT license. There will never be a subscription, a paid version, or advertising.

I'm a beginner — can I contribute to the project? Of course! Even reporting a bug or suggesting an idea in the Issues is already a contribution. Everyone is welcome.


Contribution

Contributions are welcome! Here is how to contribute:

  1. Fork the repository
  2. Create a branch for your feature
git checkout -b feature/new-feature-name
  1. Commit your changes
git commit -m "Add: description of the feature"
  1. Push to the branch
git push origin feature/new-feature-name
  1. Open a Pull Request

Code conventions

  • Use modern ES6+ JavaScript
  • Follow the existing formatting
  • Document complex functions
  • Test your code before submitting

Credits & acknowledgements

Taskflow could not have existed without these open source tools and projects:

  • Vite — The tool that compiles and optimises the project
  • Tailwind CSS — The CSS framework that handles the design
  • Tabler Icons — The icon library
  • Google Fonts — The Fraunces and Plus Jakarta Sans typefaces
  • GitHub — Hosting for the code and the live demo

A big thank you to the open source community that makes projects like this one possible.


Troubleshooting

The development server won't start

# Delete node_modules and reinstall
rm -rf node_modules package-lock.json
npm install
npm run dev

Tailwind CSS errors

# Check the Vite configuration
# Make sure @tailwindcss/vite is installed
npm install

Import/export not working

  • Check that your browser allows file downloads
  • Make sure the JSON file is valid
  • Check the browser console (F12) for errors

Tasks disappeared after clearing cache

Your tasks are stored in localStorage. If you cleared your browser data, the tasks are gone. This is why regular JSON exports are recommended as backups.


Performance

  • Bundle size: ~50 KB (minified, before gzip)
  • Gzip: ~15 KB
  • Lighthouse Score: 98+/100
  • First Contentful Paint: < 1s
  • Time to Interactive: < 2s

License

This project is licensed under the MIT License.

The MIT License gives you the right to:

  • Use this project for free, for personal or professional use
  • Copy the code and integrate it into your own projects
  • Modify the code however you like
  • Distribute your modified version, even if you sell it

The only thing we ask in return:

  • Keep the original creator's credit in the files you redistribute
MIT License

Copyright (c) 2026 Fabien Conéjéro

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

Author

Fabien Conéjéro / Madjeek

This project was born from a simple desire: to have a task list that is truly pleasant to use, without having to pay a subscription or create an account on an online service. Everything stays on your computer, everything is free, and the code is open to everyone.


Useful resources


Questions & support

For any question or problem, open an Issue on the repository. Try to be as precise as possible: which browser you're using, what you did, what happened.


Last updated: 19/02/2026

Thank you for using Taskflow !


Todo List Pro

Une application web moderne et intuitive de gestion de tâches, conçue avec simplicité et performance en tête.

Version License Build

Table des matières

Fonctionnalités

Gestion intuitive des tâches

  • Ajouter, modifier et supprimer des tâches en temps réel
  • Marquer les tâches comme complétées avec un simple clic
  • Compteur automatique du nombre de tâches
  • Exporter vos tâches au format JSON
  • Importer des tâches depuis un fichier JSON
  • Design responsive et adapté mobile
  • Interface épurée et moderne avec Tailwind CSS
  • Performance optimale avec Vite

Technologies

Frontend:

  • Vanilla JavaScript (ES6+ modules) - Pas de dépendances framework
  • Vite - Bundler et serveur de développement ultra-rapide
  • Tailwind CSS - Framework CSS utility-first
  • Tabler Icons - Bibliothèque d'icônes

Caractéristiques techniques:

  • Application monopage (SPA) côté client
  • Pas de backend requis
  • Déployable en tant que site statique
  • Zéro dépendances à l'exécution

Prérequis

Avant de commencer, assurez-vous d'avoir les éléments suivants installés :

  • Node.js (version 16.0.0 ou supérieure) - Télécharger Node.js
  • npm (habituellement inclus avec Node.js) ou yarn

Vérifiez votre installation :

node --version
npm --version

Installation

  1. Clonez le repository
git clone https://github.com/votre-username/todo-list-pro.git
cd todo-list-pro
  1. Installez les dépendances
npm install
  1. Démarrez le serveur de développement
npm run dev
  1. Ouvrez votre navigateur Accédez à http://localhost:5173 (ou l'URL indiquée dans le terminal)

Utilisation

Interface utilisateur

  1. Ajouter une tâche

    • Tapez la description de votre tâche dans le champ input
    • Cliquez sur le bouton "+" ou appuyez sur Entrée
    • La tâche s'ajoute instantanément à la liste
  2. Marquer une tâche comme complétée

    • Cliquez sur la case à cocher à gauche de la tâche
    • La tâche sera visuellement marquée comme complétée (opacité)
  3. Supprimer une tâche

    • Cliquez sur le bouton "✕" à droite de la tâche
    • La tâche est immédiatement supprimée
  4. Exporter vos tâches

    • Cliquez sur le bouton "Exporter"
    • Un fichier todo-list.json sera téléchargé
    • Ce fichier contient toutes vos tâches au format JSON
  5. Importer des tâches

    • Cliquez sur le bouton "Importer"
    • Sélectionnez un fichier todo-list.json précédemment exporté
    • Vos tâches seront restaurées dans l'application

Format d'export/import

Les tâches sont sauvegardées au format JSON :

[
  {
    "text": "Ma première tâche",
    "completed": false
  },
  {
    "text": "Tâche complétée",
    "completed": true
  }
]

Structure du projet

todo-list-pro/
├── src/
│   ├── main.js              # Point d'entrée principal
│   ├── components.js        # Composants réutilisables
│   └── style.css            # Styles personnalisés et Tailwind
├── public/                  # Ressources statiques
├── index.html               # Point d'entrée HTML
├── package.json             # Dépendances et scripts npm
├── vite.config.js           # Configuration Vite
├── .gitignore               # Fichiers ignorés par Git
└── README.md                # Cette documentation

Détail des fichiers principaux

Fichier Description
src/main.js Initialise l'application et gère les événements utilisateur (ajout, suppression, import, export)
src/components.js Contient les fonctions de création de composants (éléments de liste, compteur)
src/style.css Importation Tailwind CSS et classes personnalisées
index.html Structure HTML de l'interface utilisateur
vite.config.js Configuration du bundler Vite et du plugin Tailwind

Scripts disponibles

Dans le répertoire du projet, vous pouvez exécuter :

npm run dev

Démarre le serveur de développement avec rechargement à chaud.

npm run dev
  • Accédez à http://localhost:5173
  • Les modifications sont reflétées en temps réel

npm run build

Construit l'application pour la production.

npm run build
  • Génère une version optimisée dans le dossier dist/
  • Minification et optimisation des assets
  • Prêt à être déployé

npm run preview

Prévisualise la version de production localement.

npm run preview
  • Simule le serveur de production
  • Vérifiez le build avant le déploiement

Architecture

Architecture générale

┌─────────────────────────────────────┐
│         index.html (DOM)             │
├─────────────────────────────────────┤
│                                      │
│  main.js (Gestionnaire d'état)       │
│  - Event Listeners                   │
│  - Import/Export                     │
│  - Logique métier                    │
│                                      │
├─────────────────────────────────────┤
│                                      │
│  components.js (Générateur de DOM)   │
│  - createTodoItem()                  │
│  - refreshCount()                    │
│                                      │
├─────────────────────────────────────┤
│          style.css (Tailwind)        │
│  - Styles responsifs                 │
│  - Classes personnalisées            │
└─────────────────────────────────────┘

Flux de données

  1. Ajout de tâche : Input → main.js → DOM → components.js
  2. Suppression : Bouton supprimer → main.js → Mise à jour DOM
  3. Marquage complétée : Checkbox → main.js → Mise à jour classe CSS
  4. Export : Récupération DOM → Sérialisation JSON → Téléchargement
  5. Import : Upload fichier → Parsing JSON → Injection dans DOM

Gestion d'état

L'état de l'application est stocké dans le DOM lui-même. Chaque tâche est représentée par un élément HTML avec :

  • Un attribut data-* pour le statut de complétion
  • Des classes CSS pour la visualisation
  • Des événements DOM pour la manipulation

Avantages:

  • Pas de framework externe
  • Pas de dépendances de gestion d'état
  • Simple et transparent
  • Légère et performante

Limitations:

  • L'état est perdu au rechargement de la page (pas de persistance)
  • L'import/export est manuel (pas de sauvegarde automatique)

Fonctionnalités avancées

Persistance des données

Actuellement, l'application ne persiste pas les données automatiquement. Pour une persistance complète, vous pouvez :

Option 1: LocalStorage

// Sauvegarder après chaque changement
localStorage.setItem('todos', JSON.stringify(tasks));

// Restaurer au chargement
const tasks = JSON.parse(localStorage.getItem('todos'));

Option 2: Backend Database

  • Intégrer une API REST
  • Synchroniser avec un serveur (Firebase, MongoDB, etc.)
  • Synchronisation en temps réel multi-appareils

Améliorations futures possibles

  • Authentification utilisateur
  • Synchronisation cloud
  • Catégories et tags
  • Dates d'échéance
  • Notifications et rappels
  • Thèmes personnalisables
  • Application mobile native
  • Raccourcis clavier

Déploiement

Déployer sur Vercel (recommandé)

  1. Connectez votre repository GitHub à Vercel
  2. Vercel détectera automatiquement Vite
  3. Cliquez sur "Deploy"
  4. Votre site est en ligne !

Déployer sur Netlify

  1. Connectez votre repository GitHub à Netlify
  2. Réglez le dossier de publication sur dist
  3. Commande de build : npm run build
  4. Cliquez sur "Deploy"

Déployer sur GitHub Pages

# Build
npm run build

# Push le dossier dist
git add dist
git commit -m "Deploy to production"
git push origin main

Puis activez GitHub Pages dans les paramètres du repository.

Contribution

Les contributions sont bienvenues ! Voici comment contribuer :

  1. Fork le repository
  2. Créez une branche pour votre fonctionnalité
    git checkout -b feature/nouvelle-fonctionnalite
  3. Commitez vos changements
    git commit -m "Ajout: description de la fonctionnalité"
  4. Poussez vers la branche
    git push origin feature/nouvelle-fonctionnalite
  5. Ouvrez une Pull Request

Conventions de code

  • Utilisez du JavaScript ES6+ moderne
  • Respectez le formatage existant
  • Documentez les fonctions complexes
  • Testez votre code avant de soumettre

Troubleshooting

Le serveur de développement ne démarre pas

# Supprimez node_modules et réinstallez
rm -rf node_modules package-lock.json
npm install
npm run dev

Erreurs Tailwind CSS

# Vérifiez la configuration de Vite
# Assurez-vous que @tailwindcss/vite est installé
npm install

L'import/export ne fonctionne pas

  • Vérifiez que votre navigateur autorise les téléchargements
  • Assurez-vous que le fichier JSON est valide
  • Vérifiez la console du navigateur pour les erreurs

Performance

  • Bundle size : ~50 KB (minifié, avant gzip)
  • Gzip : ~15 KB
  • Lighthouse Score : 98+/100
  • First Contentful Paint : < 1s
  • Time to Interactive : < 2s

License

Ce projet est sous license MIT - voir le fichier LICENSE pour plus de détails.

Auteur

Fabien Conéjéro / Madjeek


Ressources utiles

Questions et support

Pour toute question ou problème, créez une issue sur le repository.


Dernière mise à jour : 19/02/2026

Merci d'utiliser Todo List Pro !

Security & Privacy — Taskflow

One sentence summary: Taskflow collects no data, connects to no server, and everything stays on your computer. Full stop.


What Taskflow does with your data

The short answer: absolutely nothing.

Taskflow is an application that runs entirely in your browser, on your own computer. There is no server behind it, no database somewhere in the cloud, no company receiving anything whatsoever.

Here is a clear table of what the application does — and does not do — with your information:

Question Answer
Does the app send my tasks over the internet? No, never.
Can someone see my tasks? No, nobody.
Does the app use cookies? No.
Is there any analytics or tracking? No.
Is my data sold? No, impossible.
Do I need to create an account? No account required.
Do I need to provide my email? No, never.
Do I need an internet connection? No, it works offline.

Where is my data stored?

Your tasks are saved in what is called your browser's localStorage.

To put it simply: it's a small storage space that your browser makes available to websites and web apps, directly on your computer. It's exactly like a text file saved on your desktop, except it's managed automatically by the browser.

What this means in practice:

  • Your data never leaves your computer
  • Even Fabien Conéjéro, the creator of Taskflow, cannot see your tasks
  • No internet connection is needed for the app to work
  • If you want to erase everything, simply clear your browser's localStorage (or delete the file)

What about the Google Fonts connection?

The online version of Taskflow loads fonts (typefaces) from Google Fonts. This is only to make the text look nice.

This connection is the one and only network communication the app makes, and it transmits none of your tasks — just a font file request, like any website that displays styled text.

If you use the taskflow-standalone.html version offline, even this connection does not happen. The app works perfectly with your system's default fonts.


How to verify this yourself

You don't have to take our word for it. Here's how to check for yourself that Taskflow sends nothing over the internet:

  1. Open Taskflow in your browser
  2. Press F12 (or right-click → "Inspect")
  3. Go to the "Network" tab
  4. Add tasks, check them off, delete some...
  5. Look at the network requests: you will see no personal data leaving anywhere

This is what we call transparency through code — the full source code is available on this GitHub repository, and anyone can read it and verify what it does.


The source code is open

Taskflow is an open source project. This means that all the code is visible to anyone, at any time, on this GitHub repository.

There is no hidden code, no secret part, no mysterious file running in the background. What you see in the files is exactly what the application does — nothing more, nothing less.

For developers: the entire codebase is available in the src/ folder. The store.js file handles all data — you can verify that no function makes any outgoing HTTP request.


How to delete all my data

If you want to cleanly erase everything, you have two options:

Option 1 — From the browser

  1. Press F12 to open the developer tools
  2. Go to the "Application" tab (Chrome) or "Storage" tab (Firefox)
  3. Click on "localStorage"
  4. Find the entry taskflow-v3 and delete it

Option 2 — Clear the browser cache Go to your browser settings → Privacy → Clear browsing data → Site data. Note that this will also delete data from all other websites.


Reporting a security vulnerability

Found a security issue in Taskflow? Please do not expose it publicly in a GitHub Issue.

Contact the creator directly by opening an Issue labelled [SECURITY] with a general description of the problem, without sharing the technical details publicly. We will respond quickly to fix it.


Summary for parents and teachers

Taskflow is a 100% local application that:

  • Creates no user account
  • Asks for no personal information
  • Connects to no external server (except for loading fonts)
  • Contains no advertising
  • Sells no data
  • Is entirely free and open source

It is as safe as a simple text file on your desktop.


Security document maintained by Fabien Conéjéro — Open source project under MIT License Official repository: https://github.com/madjeek-web/Taskflow_to-do-list

About

Taskflow to-do list. A free, simple, and powerful web app to manage your daily tasks. Works directly in your browser, with no complicated installation.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published