Aller au contenu principal

Sécurité

L'endroit le plus sûr pour votre travail, c'est l'ordinateur où il se trouve déjà.

Convira est un agent de bureau : ce que nous pouvons dire de plus fort sur vos données n'est pas une politique mais une forme. Lors d'une exécution dans le cloud, il n'existe dans notre base aucune table pour ce que vous avez tapé, ce que le modèle a répondu ou ce que les outils ont fait. Pas une règle interdisant de le lire. Aucune colonne à lire.

  • Société de l'UE · Convira OÜ · 17268095
  • Hébergé dans l'UE · base de données et API
Une exécution cloudNotre base de données

Retiré avant toute écriture

  • Requête
  • Réponse
  • Raisonnement
  • Chemins de fichiers
  • Entrées et sorties des outils

Tout ce qu'il reste à stocker

  • Statut
  • Horodatages
  • Modèle
  • Durée
  • Crédits

Chaque événement d'exécution franchit dans notre code une seule frontière, qui retire les champs de contenu selon une liste avant l'écriture. L'exécution elle-même réside sur votre appareil.

Preuves

Des choses que vous pouvez vérifier sans nous croire sur parole.

Un certificat est une manière de laisser quelqu'un d'autre faire la vérification. Nous n'en avons pas, voici donc de quoi la faire vous-même.

  • Chaque artefact de version est signé avec SigstoreLa signature est sans clé persistante et le certificat nomme le workflow qui a produit le build : la signature indique donc quelle chaîne a fabriqué ces octets, et pas seulement que quelqu'un détenait une clé. Chaque version embarque son bundle.
    cosign verify-blob --bundle FILE.release.sigstore.json --certificate-identity-regexp '/desktop-release.yml@' --certificate-oidc-issuer https://token.actions.githubusercontent.com FILE
  • Une nomenclature accompagne chaque buildUn SBOM CycloneDX par plateforme, publié comme fichier de version à côté de l'installeur, listant le graphe npm et les crates Rust dont la cryptographie est faite. Donnez-le à votre propre scanner.
  • La provenance du build voyage avec le binaireChaque plateforme publie une déclaration signée reliant l'artefact au commit et à l'exécution du workflow qui l'a construit, et le job de publication refuse de publier si ces signatures ne sont pas valides.
  • Les installeurs sont aussi signés par les éditeurs des plateformesNotarisation Apple sur macOS, Authenticode sur Windows. Le programme de mise à jour vérifie la signature avant d'installer, si bien qu'une mise à jour altérée est refusée.
  • La base de données sur votre machine est chiffréeVos exécutions et sessions résident dans une base SQLCipher locale dont la clé est conservée par le stockage sécurisé du système. Un build packagé refuse de démarrer si cette protection est indisponible plutôt que de retomber en clair.
  • Les chercheurs disposent d'une voie documentéeUn security.txt conforme au RFC 9116 désigne une politique de divulgation avec des délais de réponse et une protection pour la recherche de bonne foi. Cette page reste accessible même lorsque le reste du site est verrouillé.

Où résident vos données

Trois façons d'exécuter une tâche, et c'est exactement là qu'elles diffèrent.

Votre choix décide de ce qui quitte votre machine. Rien d'autre sur cette page ne compte autant que ce tableau.

  • LocalSur votre matériel
    S'exécute sur
    Votre machine, avec des modèles que vous hébergez
    Enregistrement
    Votre machine, dans la base locale chiffrée
    Nous parvient
    Trafic de compte et de licence. Un outil facturé de web, de média ou de connecteur envoie l'entrée de cet outil lorsque vous en appelez un.
  • Private BoxSur du matériel que vous exploitez
    S'exécute sur
    Un serveur que vous hébergez et contrôlez
    Enregistrement
    Votre appareil conserve la copie de référence
    Nous parvient
    Trafic de licence, plus la même entrée d'un outil facturé si vous en appelez un. Les appareils ayant accès au boîtier signalent aussi s'il a répondu - un mot d'état, une fois toutes les deux minutes et de nouveau dès que cette réponse change - pour que les fiches de votre équipe concordent. L'appairage unique envoie davantage, une seule fois : l'adresse du boîtier, ses empreintes TLS et son identifiant bearer. Nous conservons l'adresse et les empreintes en clair pour que l'appareil d'un collègue épingle la bonne machine, et l'identifiant bearer uniquement sous forme chiffrée, scellé avec la clé de votre appareil. Jamais ce qu'il a exécuté.
  • CloudSur notre infrastructure
    S'exécute sur
    Notre infrastructure, qui transmet la requête au fournisseur du modèle
    Enregistrement
    Votre appareil conserve la copie de référence
    Nous parvient
    Uniquement des métadonnées d'exploitation. La requête et le contexte sont transmis pour générer la réponse et ne sont pas conservés par nous.

Confinement

Le code exécuté par l'agent est mis en cage par le système d'exploitation.

La politique d'autorisations de Convira vérifie chaque appel d'outil. Voici la couche en dessous, au cas où ce serait la politique qui se trompe.

  • macOSRefus par défaut
    • Seatbelt
    • sandbox-exec

    Un profil généré avec un refus par défaut : un chemin non accordé à l'outil est un chemin qu'il ne peut pas ouvrir.

  • LinuxRefus par défaut
    • bubblewrap
    • namespaces
    • rlimits

    Une prison d'espaces de noms. La racine du système de fichiers de l'outil ne contient que les répertoires qui lui ont été accordés : un chemin qui ne lui a pas été donné n'est pas simplement illisible, il est absent. Un outil exécuté sans accès réseau reçoit un espace de noms réseau dont le seul périphérique est la boucle locale, il ne peut donc ouvrir de socket vers nulle part.

  • WindowsRefus par défaut
    • AppContainer
    • Job Object

    Un AppContainer neuf à chaque lancement, sans SID de capacité, qui refuse par défaut le réseau sortant et l'accès au système de fichiers au lieu de restreindre seulement les écritures. Un Job Object plafonne mémoire, processus et CPU.

Nous vérifions l'essentiel sur votre machine, et nous nommons la partie que nous ne vérifions pas. La première fois qu'un outil réclame un processus isolé, Convira exécute les contrôles de ressources sur votre machine réelle : un shell renvoie les limites dont il a hérité, un vrai groupe de processus est tué et l'enfant d'arrière-plan qu'il avait lancé doit mourir avec lui, et sous Linux une allocation supérieure au plafond doit échouer tandis qu'une plus petite sous un plafond généreux réussit ; un contrôle dont la vérification échoue est signalé comme absent pour le reste de la session. Le cloisonnement du système de fichiers et du réseau n'est vérifié de cette façon que sous Windows, en lançant contre lui un vrai processus cloisonné ; sous macOS et Linux, ces deux-là sont déduits de la présence du bac à sable du système d'exploitation lui-même plutôt que mis à l'épreuve. Lorsqu'un outil réclame un isolement que l'hôte ne peut pas fournir, l'outil est retiré plutôt qu'exécuté sans lui : le code rédigé par le modèle est purement et simplement refusé plutôt qu'exécuté sans confinement. L'exception est une courte liste d'utilitaires que Convira invoque lui-même et que le modèle ne peut pas rédiger - git, l'extraction d'archives, l'OCR - qui conservent une voie de compatibilité plus étroite si le bac à sable en refus par défaut ne se charge pas sur votre machine.

Limites

Ce que nous n'affirmons pas.

Cette section est la raison de croire le reste. C'est la partie qu'un éditeur n'a aucun intérêt à écrire, et elle est écrite en premier.

  • Aucune certification SOC 2 ni ISO 27001Nous n'avons ni l'une ni l'autre aujourd'hui. SOC 2 est la première démarche prévue dès que le volume d'affaires en justifiera le coût, et nous nommerons le cabinet et la période au moment où elle commencera, plutôt que de présenter un projet comme un titre.
  • Aucune revue externe de la cryptographiePersonne en dehors de cette entreprise ne l'a examinée. Notre propre suite de red team est une preuve pour nous, pas un résultat à publier comme la conclusion d'un tiers.
  • Pas encore d'authentification uniqueLes comptes utilisent un mot de passe et un code envoyé par e-mail. Il n'existe aujourd'hui aucune option SAML ou OIDC pour les comptes clients.
  • L'accord de traitement des données a été rédigé en interneIl est publié et s'applique automatiquement, et il n'est pas passé par un conseil juridique externe. Il le sera avant la première signature d'entreprise, et l'accord le dit lui-même dans sa première section.
  • Des métadonnées de distribution existentNos serveurs voient vers quel espace de travail et quel canal un message est parti, sa taille et le moment. C'est ainsi que fonctionne la distribution. Nous chiffrons le contenu ; nous ne prétendons pas qu'il n'y a pas de métadonnées.
  • Local veut dire inférence locale, pas hermétiqueSur le runtime local, un outil facturé de web, de média ou de connecteur nous envoie tout de même l'entrée de cet outil, car les clés de ces services sont les nôtres et restent côté serveur. Tout ce qui l'entoure reste sur votre machine.

Discipline

Ce qui empêche cette page de dériver.

Les textes marketing se périment plus vite que le logiciel. Voici les contrôles qui font échouer notre build quand cela arrive.

  • Une charte des phrases que nous n'avons pas le droit d'écrireUn contrôle parcourt chaque fichier de ce site mentionnant Team Hub et fait échouer le build en cas d'affirmation excessive, en anglais et dans les onze traductions, parce que quatre traducteurs ont un jour transformé une affirmation délimitée en affirmation universelle.
  • Supprimer une divulgation fait aussi échouer le buildLe même contrôle épingle les limites précises que cette page doit porter. Un paragraphe de limites discrètement supprimé lors d'une réécriture donne un build rouge, pas une amélioration silencieuse du texte.
  • L'affirmation sur le chiffrement est mise à l'épreuve, pas assénéeUne suite parcourt les vraies routes de collaboration avec un scellement réel côté client et une chaîne témoin dans chaque texte en clair, puis vérifie que ce témoin n'atteint aucune colonne de base, aucun objet stocké et aucun événement en direct.
Sécurité | Convira