Aller au contenu

Une licence ajoute les fonctions payantes et finance la prochaine version de TablePro. Au quotidien ? Acheter une licence

Sécurité

Où TablePro conserve vos identifiants, ce que ses applications envoient, comment elles sont signées et mises à jour, et où s’arrête chaque protection.

Où sont conservés les identifiants

Sur Mac

Les mots de passe, les phrases secrètes des clés, les clés API des fournisseurs d’IA et la clé de licence sont enregistrés dans le Trousseau macOS. La liste des connexions sur disque ne contient aucun mot de passe, et une clé SSH reste un fichier sur disque.

Sur iPhone et iPad

Les mots de passe et les clés SSH collées sont enregistrés dans le Trousseau.

iCloud Sync

iCloud Sync est désactivé jusqu’à ce que vous l’activiez. Les enregistrements vont dans une base privée de votre propre compte iCloud, que TablePro ne peut pas lire, et ne contiennent aucun mot de passe. Les mots de passe ne se synchronisent que si vous activez aussi Mots de passe (Passwords) sur Mac ou Sync Passwords sur iPhone et iPad, et passent alors par le Trousseau iCloud.

Ce que reçoit TablePro

Vos requêtes, leurs résultats et vos mots de passe ne sont pas envoyés à TablePro. L’exception est une Team Library dans laquelle vous choisissez de publier : elle reçoit les réglages des connexions et les requêtes enregistrées, jamais de mot de passe.

Limites à connaître

  • Sur Mac, la synchronisation des mots de passe transmet aussi les clés API des fournisseurs d’IA et la clé de licence.
  • Une source de mot de passe comme 1Password ou une commande shell exécute un programme sur votre Mac à chaque connexion.

Ce qui quitte votre appareil

Vers vos serveurs et fournisseurs

Les requêtes et les résultats circulent entre l’application et vos propres serveurs de bases de données, jamais par TablePro. Les requêtes d’IA vont directement au fournisseur que vous ajoutez.

Vers TablePro

Sans licence activée, la seule demande envoyée à TablePro par l’application Mac est un rapport quotidien d’utilisation, activé par défaut et désactivable dans les réglages. Sur iPhone et iPad, rien n’est envoyé à TablePro sauf si vous activez Share Usage Data. Un rapport ne contient jamais de noms d’hôtes, noms d’utilisateurs, mots de passe, requêtes ou lignes, et aucune des deux applications ne contient de rapporteur de plantages ni de bibliothèque d’analyse tierce.

Limites à connaître

  • L’application Mac envoie son premier rapport d’utilisation sans demander, et notre serveur conserve l’adresse IP de chaque rapport et de chaque vérification de licence.

Comment les applications vous parviennent

Signées et notariées

Les versions Mac sont signées avec un Developer ID, utilisent le Hardened Runtime et sont notariées par Apple. Les images disque sont sur GitHub Releases, chacune avec une somme de contrôle SHA-256. Le cask Homebrew télécharge la même image et vérifie son SHA-256.

Mises à jour

L’application Mac se met à jour avec Sparkle et vérifie la signature EdDSA de chaque mise à jour avec la clé publique intégrée à l’application avant de l’installer. Cette vérification ne peut pas être désactivée. Les mises à jour automatiques le peuvent, dans les réglages ou par un profil de configuration.

Plugins de pilotes

Les pilotes qui ne sont pas fournis avec l’application Mac se téléchargent depuis GitHub. Chacun doit correspondre au SHA-256 du registre des plugins et porter une signature de code valide : celle de TablePro, ou le Developer ID d’un autre développeur une fois que vous acceptez de faire confiance à ce développeur, nommément.

iPhone et iPad

L’application iPhone et iPad est sur l’App Store, qui livre aussi ses mises à jour. Ses pilotes sont intégrés, et elle ne télécharge aucun plugin.

Limites à connaître

  • L’application Mac n’utilise pas l’App Sandbox de macOS : elle s’exécute avec l’accès de votre compte utilisateur aux fichiers et au réseau.
  • Un plugin de pilote s’exécute dans TablePro et peut lire les identifiants de toutes les connexions que vous ouvrez.

Ce qui protège une base de données d’une erreur

Niveaux de Safe Mode

Chaque connexion a un niveau de Safe Mode : Silent, Alert, Alert (Full), Safe Mode, Safe Mode (Full) et Read-Only. Alert demande confirmation avant une écriture, les niveaux Safe Mode demandent aussi Touch ID ou le mot de passe du Mac, les niveaux (Full) demandent aussi avant les lectures, et Read-Only refuse les écritures. Une organisation peut imposer un niveau minimal sur ses Mac par un profil de configuration. Sur iPhone et iPad, les niveaux sont Off, Confirm Writes et Read-Only.

Instructions destructrices

À tous les niveaux sur Mac, DROP, TRUNCATE et un DELETE sans WHERE s’arrêtent et demandent d’abord confirmation, en montrant l’instruction complète.

Limites à connaître

  • Safe Mode fonctionne dans TablePro et protège des erreurs. Ce n’est ni un sandbox ni un système de permissions : pour une règle qui doit tenir, utilisez les privilèges de la base de données elle-même.
  • Les nouvelles connexions commencent à Silent, où les instructions s’exécutent telles quelles, y compris un UPDATE sans WHERE.
  • Dans les modes Edit et Agent du chat, l’assistant IA peut exécuter des instructions, et à Silent ses écritures passent sans confirmation. Agent mode, qui occupe toute la fenêtre, maintient sa connexion à Alert ou plus strict : c’est un rappel, pas un verrou.

Le serveur MCP

Uniquement en local

Le serveur MCP n’existe que dans l’application Mac et reste désactivé jusqu’à ce que vous l’activiez ou qu’un client configuré le démarre. Il écoute sur 127.0.0.1, sans mode distant, et les clients ne voient jamais de mot de passe.

Comment un client est approuvé

Par défaut, chaque requête exige un jeton doté d’une portée (Read Only, Read & Write ou Full Access), et une boîte de dialogue sur votre Mac vous demande votre accord la première fois qu’un client atteint une connexion.

Ce qu’un client peut faire

Chaque connexion fixe ce que les clients externes peuvent faire : Blocked, Read Only (par défaut) ou Read & Write. Les écritures passent toujours par son niveau de Safe Mode, DROP et TRUNCATE exigent un jeton Full Access et votre accord à chaque fois, et chaque appel est journalisé sur votre Mac.

Limites à connaître

  • 127.0.0.1 indique où le serveur écoute, pas qui peut l’atteindre. Tout programme de votre Mac peut s’y connecter, de même qu’une page ouverte sur claude.ai ou app.cursor.com. Chacun a tout de même besoin d’un jeton : gardez l’authentification obligatoire.
  • Ce qu’un client lit, il l’envoie à son propre service d’IA, selon les conditions de ce service.

Open source

Le code est public

Les deux applications sont open source sous AGPLv3, y compris le code des fonctionnalités payantes. Ce que décrit cette page se lit dans le dépôt, avec les scripts qui signent et notarient chaque version, et vous pouvez compiler l’application Mac vous-même.

Signaler une vulnérabilité

Comment signaler

Écrivez à [email protected] ou signalez-la en privé sur GitHub, en anglais ou en vietnamien. N’ouvrez pas d’issue, de discussion ou de pull request publics pour une vulnérabilité.

Que fournir

Ce qui est touché et sa version : l’application Mac, l’application iPhone et iPad, un plugin ou ce site. Ajoutez la version de macOS ou d’iOS, le type de base de données si un pilote est en cause, les étapes ou une preuve de concept, et ce qu’un attaquant y gagne.

Versions corrigées

Seule la dernière version de chaque application et de chaque plugin reçoit des correctifs de sécurité : vérifiez que le problème est toujours présent dans la dernière version avant de le signaler.