Ir al contenido

Local-first

httui es una desktop app que habla con el filesystem, keychain y drivers de base de datos de tu máquina. No hay una cloud de httui, no hay cuenta para crear, no hay beacon de telemetría, no hay tracking de uso. Esta página explica por qué y qué significa en la práctica.

AspectoPostura de httui
Dónde viven tus runbooksUna carpeta en tu disco que vos elegiste
Dónde pasa la sincronizaciónGit, ejecutado por ti (push a GitHub, GitLab, self-hosted, lo que sea)
Dónde viven los secretosOS keychain en tu máquina (Keychain.app, Credential Manager, Secret Service)
Dónde vive el cacheUn archivo SQLite notes.db en la carpeta del vault
Telemetría / analyticsNinguna. Cero. La app nunca telefonea a casa para analytics.
License servers / activaciónNinguno. Open source, MIT — puedes leer cada línea.
Auto-update checkSí — fetchea de GitHub Releases. Deshabilítalo en Settings.

Para ser honestos sobre los network calls que hace la app cuando los pides:

AcciónNetwork call
Ejecutas un bloque HTTPLa request que escribiste, a donde la apuntaste
Conectas a una DBLa DB que configuraste, con las creds en tu keychain
Usas el panel de chatAPI de Claude (vía Anthropic SDK), usa tu ANTHROPIC_API_KEY
Checkeas por updatesapi.github.com/repos/httuicom/httui/releases/latest
Instalas desde scripthttui.com/install.sh (one-time)

Esa es la lista completa. No hay heartbeat de background, ni stream de eventos “qué tan seguido los usuarios clickean X”, ni crash reporter que esconde lo que envía.

Por qué esto importa para los runbooks específicamente

Sección titulada «Por qué esto importa para los runbooks específicamente»

Los runbooks contienen credenciales de producción y detalles de incidentes. Dos razones por las que eso hace que local-first sea non-negotiable:

1. La data sensible no debería atravesar un tercero

Sección titulada «1. La data sensible no debería atravesar un tercero»

Tu runbook del flujo de refund referencia el API token que puede emitir refunds. Tu runbook de post-mortem de incidente contiene las queries SQL que revelaron la breach. Estas no pertenecen a la base de datos de un SaaS vendor, indexada y replicada a través de regiones, sujeta a cualquier lista de sub-procesadores que actualizaron el mes pasado.

Cuando httui resuelve {{REFUND_TOKEN}}, lee de tu OS keychain y sustituye el valor en la request. El token existe por ~200 microsegundos en process memory, nunca cruza un network boundary excepto al endpoint API que elegiste.

httui podría fallar como producto. Los runbooks en tu carpeta runbooks/ no deberían morir con él.

Si httui cierra mañanaLo que tienes
Tus runbooksArchivos .md en tu repo git, legibles en cualquier editor
Tus secretosTodavía en tu OS keychain, manageables vía la UI del sistema
Tu lista de conexionesUn connections.toml plano, todavía parseable a mano
El historial de ejecuciónPerdido (estaba en notes.db), pero eso es un cache

Compara con “una cuenta cloud de Postman” — las colecciones viven en su servicio. Si desaparecen o cambian el pricing, las colecciones desaparecen o quedan rehenes.

httui usa git como capa de sync. Pusheas el vault a cualquier git remote — GitHub, GitLab, Gitea, un repo bare en un VPS, self-host Tailscale. Tu compañero lo clona. Ahora ambos lo tienen.

PreocupaciónRespuesta de git
ColaboraciónBranches, PRs, code review
Historiagit log, git blame, git revert
Resolución de conflictosMerge estándar 3-way — el diff es solo texto
PermisosLo que sea que tu git host te dé
Audit logCada cambio es un commit firmado

El vault tiene un workflow de git opinionated construido en el panel de Git de la derecha — stage, commit, sync (pull --ff-only + push) sin salir del editor. Pero también puedes simplemente usar git desde la terminal — los mismos archivos.

Qué significa realmente “sin telemetría”

Sección titulada «Qué significa realmente “sin telemetría”»

Somos explícitos porque la mayoría de los productos que dicen “sin telemetría” quieren decir “sin telemetría desde el sitio de marketing” mientras siguen telefoneando a casa desde la desktop app vía crash reporters o beacons de update.

httui:

  • Sin Sentry / Bugsnag / Rollbar — los crashes producen un archivo de log local que puedes adjuntar a un GitHub issue si quieres
  • Sin Plausible / Fathom / GA en el binario de desktop
  • Sin contador de “uso anónimo” de qué menús clickeas
  • Sin framework de A/B testing
  • Sin servicio de feature-flag — los flags shipean en el binario, sin fetch en runtime

El check de update (api.github.com/repos/httuicom/httui/releases/latest) es un único GET que GitHub ve, y está detrás de un toggle de Settings.

Si usas el panel de chat, el texto de tu conversación más el contenido de los archivos que el chat lee viajan al API de Anthropic (Claude). Ese es el modelo sirviendo las respuestas; no hay un server intermedio de httui.

Permisos:

  • Los comandos Bash siempre requieren un OK por llamada
  • Edit/Write fuera del cwd de la sesión son hard-denied (sin prompt)
  • Read dentro del cwd de la sesión es auto-allowed
  • Otras herramientas: prompt con scope Once / Session / Always

Las reglas de permisos se persisten en tu notes.db, no en ninguna cloud. Ve Chat y MCP para el modelo completo.

¿Y qué de analytics para el sitio (httui.com)?

Sección titulada «¿Y qué de analytics para el sitio (httui.com)?»

httui.com (el sitio donde estás leyendo esto) es un sitio estático en GitHub Pages. No hay JavaScript que cargue un SDK de analytics. Los únicos outbound calls que un browser hace son para fetchear fonts (CDN de Google Fonts) y Mermaid para diagramas (CDN de jsdelivr).

Si no quieres ni siquiera esos, el sitio se degrada gracefully — las fonts caen a system, los bloques Mermaid se muestran como texto de código.

Local-first no es gratis. Renuncias a:

  • Compartir en team con un clic. Necesitas un git host. (La mayoría de los teams ya tienen uno.)
  • Sensación “abrir en browser”. El binario de desktop es ~80 MB. (Igual que Postman / Insomnia / Bruno.)
  • El SRE de un vendor on call. Si self-hosteás el git remote, eso es asunto tuyo.

Lo que obtienes:

  • Tus datos, en tus discos, accesibles sin conexión a internet
  • Sin crecimiento de costos a medida que tu team crece — la desktop app es gratis
  • Sin vendor lock-in, sin costo de migración
  • Code path auditable — lee el source en GitHub