Aller au contenu

L'API de plateforme

Le service hébergé a une interface HTTP — c’est ce à quoi parlent les applications — mais ce n’est pas une API publiée. Il n’y a aucun document public, aucune version publiée, et aucune promesse de stabilité. Nous ne la décrivons pas ici, parce que la décrire impliquerait une promesse de la maintenir telle que décrite.

C’est la moitié la moins importante. La plus importante est qu’il n’existe aucune route propre à un utilisateur sur la plateforme, et il n’est pas prévu d’en ajouter.

Une route qui répondrait à « quel est le code de Mary ? » aurait besoin du secret qui produit le code, ce qui signifie que le serveur devrait le détenir. À partir de ce moment, la promesse de bout en bout n’est plus vraie — non pas par abus, mais par construction : un serveur qui PEUT lire tes codes est un serveur dont la compromission lit les codes de tout le monde. La prudence de notre côté ne change pas ce qu’un attaquant emporterait.

Aucun secret utilisateur n’est donc stocké sur aucun serveur que nous faisons tourner. L’interface de la plateforme est un travail de niveau système, machine à machine, qui ne touche aucune donnée personnelle, et un titulaire de compte n’y a de toute façon aucun accès.

Lis ceci comme la garantie qu’elle est censée être. Cette absence n’est pas une fonctionnalité que nous n’avons pas encore construite. C’est la forme d’un système conçu pour que le pire jour de notre côté ne soit pas le pire jour du tien.

Fais tourner le compagnon de bureau et parle à son API locale. Le démon détient la session et les clés du compte, et atteint la plateforme en ton nom. Tout ce que documente cette section porte sur cette surface.

C’est le seul arrangement dans lequel quelque chose peut répondre pour ton compte : les clés sont sur ta machine, la réponse doit donc s’y produire aussi.

Pour un serveur ou un compte machine sans personne devant un écran, le compagnon tourne sans interface et les mêmes routes s’appliquent.

Si l’API de plateforme est publiée, elle aura ses propres pages ici, à côté de l’API locale, avec la même carte des routes et la même déclaration de ce qui est garanti. Jusqu’à ce que tu les voies, traite l’interface de plateforme comme privée.

Ce qui ne changera pas, c’est la partie ci-dessus : ce qui sera publié sera de niveau système, et ne portera toujours aucun de tes secrets.