Vanish Play : jeu de devinettes vidéo privé
<retour-aux-réalisations

// réalisation

Vanish Play : jeu de devinettes vidéo privé

Fondations de confidentialité et de sécurité pour un produit vidéo privé

2026.07 – presentEn développement · phase initialeTypeScriptReact NativeExpoHonoPythonFFmpeg
Fondations de confidentialité et de sécurité pour un produit vidéo privé
Produit

Une application vidéo privée en début de développement : le parcours compte, consentement et envoi est construit, le pipeline de masquage et d'export ne l'est pas.

Mon rôle

Développement solo sur une application Expo universelle, une API TypeScript, un package de schéma partagé et un harnais de mesure Python.

Valeur

Les contraintes sont venues en premier : images autorisées, sujets adultes uniquement, réponse tenue secrète et aucune copie serveur permanente. Chacune est donc imposée par une contrainte de base de données ou par le chiffrement, plutôt que par la vigilance de celui qui code.

_contexte

Vanish Play est une application mobile et web en début de développement. L'idée est de transformer une vidéo vous appartenant en jeu de devinettes partageable : on choisit une personne ou un objet dans le clip, on le cache derrière un masque mobile, puis on enchaîne une question, un compte à rebours et la révélation. Le travail a commencé en juillet 2026. Ce qui existe aujourd'hui est la première moitié : connexion, contrôle d'âge adulte, parcours créateur pour choisir un extrait, une plage de temps, une cible et une déclaration de droits, et un chemin d'envoi reprenable, ainsi qu'un harnais Python pour mesurer la qualité du masquage avant de s'engager sur un modèle. L'ensemble tourne en local contre des stockages en mémoire, et le pipeline de masquage et d'export qui donne son nom au produit est prévu mais pas construit.

_mon-rôle

Je conçois et construis l'ensemble seul : l'application Expo qui sert le web et le natif depuis une seule base de code, l'API et le package de schéma partagé contre lequel les deux côtés valident, le chiffrement qui garde secrète la réponse du créateur, le chemin d'envoi reprenable directement vers le stockage, et un harnais Python pour mesurer la qualité et le coût du masquage avant de s'engager sur un modèle.

_ce-que-j-ai-construit

  • Une application Expo universelle servant le web et le natif depuis une seule base de code : connexion, contrôle d'âge adulte, et parcours créateur en cinq étapes pour choisir un extrait, une plage de temps, une cible et une déclaration de droits.
  • Une API TypeScript avec un package de schéma partagé comme source unique de vérité pour chaque requête et chaque réponse, plus des vérifications d'origine et de CSRF sur chaque route.
  • Un chemin d'envoi reprenable où les parties partent directement vers le stockage objet et où l'API n'échange que des messages de contrôle, avec gestion de l'annulation, de la reprise après redémarrage de l'application, et d'une finalisation unique sous requêtes concurrentes.
  • Un harnais de mesure Python avec une timeline vidéo fixe, des métriques de qualité, un registre de coûts et des garde-fous de dépense, conçu pour qu'un développement ordinaire ne puisse pas atteindre un modèle payant par accident.

_points-techniques

  • Des règles de sécurité imposées là où on ne peut pas les oublier : le délai de suppression de 24 heures et la déclaration de droits sont tous deux des contraintes de base de données, si bien qu'un enregistrement qui se contredit ou qui survit à son échéance ne peut tout simplement pas être écrit.
  • Les médias non fiables sont traités défensivement : les octets envoyés sont vérifiés par empreinte avant qu'un outil ne s'exécute, l'inspection passe par une liste d'autorisation de commandes fixe avec délais stricts et sortie bornée, et les échecs renvoient un code de motif pris dans un ensemble fixe plutôt que la sortie brute de l'outil.
  • Un harnais de preuve qui a rapporté un non-résultat honnête : la comparaison de modèles dépendait d'un corpus vidéo qui n'a jamais été disponible, et l'enregistrement signé indique donc que l'évaluation s'est arrêtée avec zéro exécution de modèle et zéro dépense, plutôt que d'annoncer des chiffres que personne n'a mesurés.

_détails-sur-demande

Le modèle économique, la roadmap produit et les spécifications internes sont privés. Rien n'est déployé, le serveur est écrit pour refuser tout hôte autre que localhost, et le produit n'est passé ni par une revue juridique ni par une validation de store : aucune partie n'est donc accessible à l'essai. Je peux détailler l'architecture et les contraintes de sécurité lors d'un échange professionnel.