[{"data":1,"prerenderedAt":103},["ShallowReactive",2],{"blog-post-es-ES-open-source-has-to-include-the-servers":3},{"post":4,"translated":95},{"id":5,"title":6,"author":7,"body":8,"date":89,"description":90,"draft":91,"extension":92,"meta":93,"minutes":94,"navigation":95,"path":96,"seo":97,"stem":98,"tags":99,"__hash__":102},"blog_es\u002Fblog\u002Fopen-source-has-to-include-the-servers.md","El código abierto tiene que incluir los servidores","Erik Bjerke",{"type":9,"value":10,"toc":79},"minimark",[11,15,20,23,27,30,33,36,40,43,46,50,62,65,69,76],[12,13,14],"p",{},"Muchas empresas centradas en la privacidad se describen como de código abierto.\nNormalmente eso significa que las aplicaciones son públicas y el backend no. Es\nmejor que nada, y es bastante menos de lo que parece.",[16,17,19],"h2",{"id":18},"qué-demuestra-un-cliente-abierto","Qué demuestra un cliente abierto",[12,21,22],{},"Bastante, en realidad. Si el cliente es abierto y su compilación es reproducible,\npuedes verificar que cifra antes de enviar, que las claves se derivan donde dice\nla documentación y que no contiene un SDK de analítica de terceros. Para contenido\ncifrado de extremo a extremo, eso es casi toda la historia: si el texto cifrado\nsale correctamente de tu dispositivo, la honestidad del servidor importa mucho\nmenos.",[16,24,26],{"id":25},"qué-no-demuestra","Qué no demuestra",[12,28,29],{},"Todo lo relativo a las partes que no van cifradas de extremo a extremo, que\nsiempre son más de las que el marketing sugiere.",[12,31,32],{},"Los metadatos son el caso evidente. A quién escribes, cuándo, con qué frecuencia,\ndesde qué IP y de qué tamaño era el mensaje. Nada de eso está en el modelo de\namenazas del cliente, y todo eso lo conserva o no lo conserva un código que no\npuedes ver. «No registramos direcciones IP» es una frase sobre un fichero de\nconfiguración que no te dejan leer.",[12,34,35],{},"Luego está todo lo operativo: los periodos de retención, la vida de las copias de\nseguridad, si el borrado es real, a qué terceros llama el servicio y qué ocurre\ncon una cuenta marcada por abuso. Todo decidido en un repositorio al que no tienes\nacceso.",[16,37,39],{"id":38},"la-versión-incómoda","La versión incómoda",[12,41,42],{},"El motivo por el que el código del servidor sigue cerrado casi nunca es que\ncontenga secretos. Los secretos van en un gestor de secretos, no en el código\nfuente. Sigue cerrado porque es donde viven las concesiones: la analítica que iba\na ser temporal, el proveedor que necesitaba texto en claro, el periodo de\nretención más largo de lo que insinúa la página de política.",[12,44,45],{},"No estoy acusando a nadie en particular. Digo que «confía en nosotros, el servidor\nestá bien» es la única afirmación de un discurso sobre privacidad que no se puede\ncomprobar, y es sistemáticamente la afirmación que se deja sin comprobar.",[16,47,49],{"id":48},"qué-estamos-haciendo-al-respecto","Qué estamos haciendo al respecto",[12,51,52,53,57,58,61],{},"Todos los servidores de Numori son públicos bajo la AGPL-3.0. ",[54,55,56],"code",{},"Numori-CRDT"," es el\nrelé de sincronización, ",[54,59,60],{},"Numori-Auth"," es el servicio de identidad, y hoy mismo se\npueden leer los dos. Aquí importa que sea AGPL y no una licencia permisiva:\nsignifica que cualquiera puede ofrecer Numori como servicio, pero tiene que\npublicar también sus modificaciones. Si algún día nos compran y alguien decide que\nel relé de sincronización debería empezar a guardar un poco más, la licencia lo\nhace visible.",[12,63,64],{},"Esto no nos vuelve fiables. Nos vuelve comprobables, que es una propiedad más\nútil, porque no depende de que nuestras intenciones sigan siendo buenas.",[16,66,68],{"id":67},"la-pega-dicha-claramente","La pega, dicha claramente",[12,70,71,72,75],{},"Publicar el servidor no demuestra que el código que publicamos sea el código que\nestamos ejecutando. Esa brecha es real y no voy a fingir lo contrario. Cerrarla\nbien requiere compilaciones reproducibles y atestación, que está en la hoja de ruta\nde ",[54,73,74],{},"Numori-Updater"," y es genuinamente difícil.",[12,77,78],{},"Lo que sí te da publicarlo es una especificación lo bastante precisa para\nexigirnos que la cumplamos, una implementación independiente que puedes ejecutar tú\ny la posibilidad de marcharte a tu propio servidor sin perder nada. Es una posición\nmucho mejor que dar por buena una página de política.",{"title":80,"searchDepth":81,"depth":81,"links":82},"",3,[83,85,86,87,88],{"id":18,"depth":84,"text":19},2,{"id":25,"depth":84,"text":26},{"id":38,"depth":84,"text":39},{"id":48,"depth":84,"text":49},{"id":67,"depth":84,"text":68},"2026-08-04","Publicar un cliente y dejar el servidor cerrado demuestra muy poco. Esto es lo que un cliente abierto sí te dice, y lo que no.",false,"md",{},5,true,"\u002Fblog\u002Fopen-source-has-to-include-the-servers",{"title":6,"description":90},"blog\u002Fopen-source-has-to-include-the-servers",[100,101],"principios","código-abierto","OSqlAZapM4QZWsq-RPxM4T4PNJSPVKSLSW4cLa6mGH4",1788170792438]