Collections personnelles, confidentialité par conception

Vos collections, sans que l'on sache qui vous êtes.

Skwirl rassemble bières, livres, séries, activités de plein air et plus encore dans une seule application. Par conception, personne ne peut savoir à qui appartient une collection : chaque verticale ne voit qu'un pseudonyme, différent des autres et sans lien avec votre compte. Votre mot de passe, lui, ne quitte jamais votre appareil.

SRP-6amot de passe jamais transmis Ed25519requêtes signées 0e-mail dans les verticales CC0base de référence ouverte
Parcours

Cinq étapes, du compte à la collection

Une seule connexion ouvre toutes vos verticales, sans qu'elles puissent se recouper entre elles.

ÉTAPE 1 Créer son compte

Le mot de passe est transformé en preuve sur votre appareil. Le serveur n'en garde qu'un vérificateur.

SRP-6a
ÉTAPE 2 Déverrouiller

Une clé maîtresse dérivée de votre mot de passe protège vos clés. Passkeys et double authentification en option.

PasskeyTOTP
ÉTAPE 3 Choisir ses verticales

Activez seulement les collections qui vous servent. Chaque verticale se réveille à la demande.

Menu personnalisable
ÉTAPE 4 Collectionner

Dans chaque verticale vous apparaissez sous un pseudonyme distinct, impossible à relier à un autre.

Ed25519Pseudonyme par verticale
ÉTAPE 5 Garder la main

Exportez en formats ouverts, ou hébergez Skwirl vous-même avec Docker Compose.

Auto-hébergeable
Anonymat par conception

Une collection n'a pas de propriétaire connu

Ce n'est pas une option à activer : l'architecture ne fournit tout simplement pas à une verticale de quoi vous identifier.

Un pseudonyme par verticale

Une paire de clés Ed25519 distincte pour chaque verticale. Votre collection de bières et votre bibliothèque ne partagent aucun identifiant.

Aucune identité transmise

Ni e-mail, ni identifiant de compte, ni nom : une verticale reçoit uniquement la clé publique et un jeton signé qui porte des droits, pas une personne.

Des bases cloisonnées

Chaque verticale a sa base de données. Même une fuite complète de l'une ne permet pas de retrouver à qui appartiennent ses collections, ni de les recouper avec une autre.

Architecture

Qui voit quoi

Le service d'authentification connaît votre compte. Les verticales ne connaissent qu'un pseudonyme et un jeton signé.

Architecture de Skwirl : le navigateur s'authentifie auprès du service d'authentification, puis parle aux verticales avec un jeton signé 1 · VOTRE APPAREIL2 · IDENTITÉ3 · VERTICALES Navigateur / applicationPreuve SRP-6a du mot de passeClé maîtresse et clés de pseudonymesSignature Ed25519 de chaque requêteJeton d'autorisation en session Service d'authentificationVérificateur SRP, jamais le mot de passeÉmet un jeton d'autorisation (ACT)JWT signé Ed25519, 24 h, révocableCapacités : lecture, écriture, admin connexion ACT Beerspseudonyme A Bookspseudonyme B Basecamppseudonyme C et les autres…un pseudonyme chacune requêtes signées + ACT (pas d'e-mail, pas d'identifiant de compte) NutsVaultFiches de référence ouvertes (CC0), lecture seule pour les verticales Proxy inverse Caddy · CORS, TLS et en-têtes de sécurité gérés ici, pas dans le code des servicesChaque verticale est un service autonome : son frontend, son backend, sa base. Les lignes pleines sont des échanges directs, les pointillés des échanges indirects.
Fonctions

Ce qui distingue Skwirl

Une coque commune (compte, clés, menu, recherche) et des verticales spécialisées qui s'y branchent.

01

Connexion sans mot de passe transmis

SRP-6a, passkeys (empreinte, Face ID, clé de sécurité) et double authentification TOTP. Option « faire confiance à cet appareil ».

En pratique
PasskeyTOTP
02

Vos clés restent les vôtres

Clés de pseudonymes et réglages sont chiffrés sur votre appareil (AES-256-GCM, clé dérivée par PBKDF2 600 000 itérations).

En pratique
AES-256-GCMPBKDF2
03

Récupération sans le serveur

12 codes de récupération et un fichier de clé téléchargeable. Sans eux, un mot de passe perdu signifie des clés perdues : personne ne peut les restaurer pour vous.

En pratique
12 codesFichier de clé
04

Recherche universelle

Une seule barre interroge toutes les verticales qui exposent une recherche, avec une limite de temps par verticale.

En pratique
Multi-verticales
05

Menu et actions rapides à votre goût

Choisissez les verticales visibles, réordonnez le menu, ajoutez des actions rapides et des réglages propres à chaque verticale. Pastilles de notification sur les icônes.

En pratique
MenuBadges
06

Application installable

PWA : s'installe sur l'écran d'accueil, démarre plein écran et met l'interface en cache pour un lancement rapide.

En pratique
PWAMobile
07

Verticales à la demande

Les verticales peu utilisées se mettent en pause et se réveillent à l'ouverture : un petit serveur suffit.

En pratique
Réveil autoSobre
08

Importez ce que vous avez déjà

Goodreads (CSV), Untappd, BDs (CSV), traces GPX, et une API d'import protégée par clé pour vos automatisations.

En pratique
CSVGPXAPI
09

Partage choisi, pas imposé

Certaines verticales (Inktopia) permettent un pseudonyme public et une visibilité réglable par liste. Les notes restent privées.

En pratique
Listes publiquesNotes privées
10

Ouvert et auto-hébergeable

Code open source (MIT), Docker Compose, backups et restauration documentés. Créez votre propre verticale à partir d'un gabarit.

En pratique
MITDocker
11

Une base commune et ouverte

NutsVault (CC0) fournit livres, brasseries, marques… et s'enrichit collectivement. Seules vos données personnelles restent à part.

En pratique
CC0Collaboratif
12

Portail d'administration

Pour l'exploitant : utilisateurs, état des verticales, jetons d'import et supervision, protégés par le droit admin signé.

En pratique
AdminSupervision
Verticales

Une collection, un service

Chaque verticale est autonome (frontend, backend, base de données) et ne démarre que lorsque vous l'ouvrez.

01

Beers

Votre cave à bières : dégustations, notes et découvertes de brasseries.

Fonctions
NotesRecommandations
02

Books

Liste de lecture, bibliothèque et progression de lecture.

Fonctions
ÉtagèresProgression
03

BDs

Collection de bandes dessinées, séries et suivi de lecture.

Fonctions
SériesLecture
04

Shows

Séries suivies, découverte de nouveautés et avancement par épisode.

Fonctions
ÉpisodesDécouverte
05

News

Agrégateur de flux RSS propulsé par Miniflux.

Fonctions
FluxArticles sauvegardés
06

Inktopia

Catalogue d'encres pour stylo-plume, collection personnelle et liste de souhaits.

Fonctions
CatalogueSouhaits
07

Basecamp

Journal d'activités de plein air : vélo, course, randonnée, avec traces GPX.

Fonctions
TracesMatériel
08

Journal

Archive privée d'un blog : articles, photos, étiquettes, recherche plein texte.

Fonctions
ArchiveRecherche
09

NutsVault

Base de référence ouverte (CC0) qui alimente les verticales en fiches communes.

Fonctions
CC0API REST
Confidentialité

Ce qui est protégé, ce qui ne l'est pas encore

Nous préférons un énoncé exact à une promesse trop large. Le détail est sur la page sécurité.

Protégé aujourd'hui

  • Mot de passe. Authentification SRP-6a : le serveur stocke un vérificateur, jamais le mot de passe.
  • Propriétaire inconnu. Chaque verticale ne voit qu'une clé publique Ed25519 : impossible de savoir à qui appartient une collection, ni de la relier à une autre.
  • Autorisations. Jetons signés, limités à 24 h, révocables instantanément.
  • Rejeu. Requêtes horodatées, fenêtre de validité de 5 minutes.

Limites actuelles

  • Contenu des collections. Notes et avis sont stockés en clair côté verticale, rattachés à un pseudonyme : lisibles, mais sans propriétaire identifiable.
  • Chiffrement de bout en bout. C'est l'objectif de conception, pas l'état actuel.
  • Lien pseudonyme-compte. Seul le service d'authentification détient ce lien, jamais les verticales.
Écosystème

Ce qui tourne derrière

Des briques simples et auto-hébergeables, sans service d'analyse ni traceur tiers.

AuthentificationSRP-6a, passkeys, TOTP, émission des jetons d'autorisationCompte → jeton
Coffre de pseudonymesClés de pseudonymes chiffrées côté appareilAppareil ↔ coffre
NutsVaultFiches de référence ouvertes, partagées entre verticalesVerticales → NutsVault, lecture
CaddyTLS, CORS et en-têtes de sécurité à un seul endroitInternet → services
Docker ComposeUn service par conteneur, déploiement sur votre propre serveurAuto-hébergement