Autoallotja el relay de Happier: SSO, mTLS i la teva pròpia base de dades
Happier té llicència MIT, i el relay pel qual parlen tots els dispositius és un contenidor que pots executar tu mateix. Aquesta pàgina és la llista de controls que porta — què fa complir el servidor, què emmagatzema i què lliura als teus clients en temps d'execució.
Val la pena aclarir la forma abans de la llista. Les sessions s'executen als ordinadors dels teus desenvolupadors, contra les CLI de proveïdor que ja tenen. El relay transporta missatges entre aquells ordinadors i els seus telèfons, navegadors i escriptoris. És l'única peça que ha de ser accessible des de fora, i és la peça que se't demana que allotgis.
Tot el que ve a continuació és configuració de servidor: variables d'entorn en aquell contenidor, aplicades per aquell contenidor, sense cap servei operat per Happier pel mig. La postura predeterminada d'un servidor acabat d'instal·lar és emmagatzematge xifrat d'extrem a extrem i registre obert, partint de la base que la majoria de gent el posa darrere de Tailscale. Si estàs llegint aquesta pàgina, gairebé segur que vols el contrari de la segona meitat d'aquesta frase.
Què vol dir per sota aquest valor predeterminat xifrat — quina clau es genera on, què li queda al teu relay i quines columnes pot llegir sense cap clau — és l'arquitectura de xifratge, escrita per al desenvolupador i no per a tu. És la pàgina per enviar a qui pregunti què pot veure el servidor; aquesta es queda amb el que pots fer complir tu.
SSO: organitzacions de GitHub, grups d'OIDC i certificats de client
La identitat es delega al que ja executis. La feina de Happier és fer-la complir a cada petició i no només en el registre, i continuar preguntant.
- Exigeix un proveïdor d'identitat, comprovat de nou a cada petició
- El registre anònim està activat de manera predeterminada perquè la majoria de qui s'autoallotja posa el relay darrere de Tailscale i ja està. Desactiva'l i exigeix un proveïdor d'identitat, i l'elegibilitat s'aplica a cada ruta HTTP autenticada i a l'establiment de connexió en temps real — no només a la porta d'entrada. Una petició d'algú que ja no compleix els requisits es rebutja, no es degrada.
- Inici de sessió amb GitHub, restringit a les teves organitzacions
- Permet inicis de sessió concrets, o exigeix pertinença a una o més organitzacions de GitHub, coincidint amb qualsevol d'elles o amb totes. La via recomanada verifica la pertinença mitjançant una GitHub App i no mitjançant el token d'OAuth de l'usuari, així que l'accés no sobreviu que un desenvolupador revoqui el consentiment — i no es trenca quan ho fa.
- Inici de sessió únic amb OIDC, amb regles de permís per proveïdor
- Okta, Entra ID, Auth0, Keycloak, qualsevol cosa amb un document de descobriment. Cada proveïdor té les seves pròpies regles de permís: una llista d'inicis de sessió permesos, dominis de correu admesos, grups dels quals l'usuari ha de ser membre d'algun, grups dels quals ha de ser membre de tots. Si el teu IdP omet els grups del token i retorna un punter d'excés, Happier tracta l'usuari com a no elegible en lloc de com a sense grups.
- Certificats de client mTLS del teu MDM
- Acaba el mTLS al teu proxy invers i reenvia una identitat verificada a Happier. Mapa-la des del correu SAN o l'UPN SAN del certificat perquè un dispositiu que roti el certificat continuï sent la mateixa persona, i limita-la amb llistes de permís d'emissor i de domini de correu. Els certificats desconeguts es rebutgen tret que hagis habilitat deliberadament l'aprovisionament automàtic.
- Sortida: la pertinença es torna a comprovar amb l'interval que fixis
- La pertinença es torna a comprovar amb un interval que fixes tu — diari de manera predeterminada, fins a cada minut — i el resultat es desa a la memòria cau del registre d'identitat. L'ajust interessant és què passa quan el teu IdP no és accessible: permissiu de manera predeterminada, o estricte, on el servidor falla tancant en lloc de deixar que una comprovació d'elegibilitat obsoleta substitueixi una de viva.
Política d'emmagatzematge, retenció i la base de dades que allotges tu
Els controls pels quals un auditor pregunta en segon lloc, un cop ha acabat amb l'autenticació.
- Tres polítiques d'emmagatzematge, i la predeterminada és l'estricta
- Només xifrat d'extrem a extrem, que rebutja les escriptures en text pla i és el que fa un servidor acabat d'instal·lar. Opcional, on decideix un compte o una sessió. O només text pla, per a organitzacions que gestionen el xifratge a la capa d'infraestructura i volen indexació al servidor — un compromís real, dit clarament: amb aquest ajust el servidor pot llegir el contingut emmagatzemat.
- Finestres de retenció que fixes tu, aplicades sense llegir cap transcripció
- Desactivat de manera predeterminada: no configuris res i el servidor conserva les sessions per sempre. Activa-ho i la regla de sessió és conservadora expressament — un arbre de sessions només s'elimina quan és inactiu segons l'indicador persistit, més antic que el tall segons dues marques de temps separades, i no s'observa com a viu en memòria, amb el tall comprovat de nou dins de la transacció d'esborrat. Mai no li cal desxifrar una transcripció per decidir-ho.
- Desactiva funcions per a tothom alhora
- Veu, social, pujades d'informes d'errors, adjunts, el terminal incrustat, el traspàs de sessions, els serveis connectats, els mesuradors de quota — cadascun és una variable d'entorn al servidor, anunciada als clients en temps d'execució. Els clients s'adapten al que el servidor diu que hi ha disponible, així que una capacitat desactivada és absent de la interfície en lloc de ser-hi i fallar.
- Límits de freqüència i un endpoint de diagnòstic que controles tu
- Un limitador global més límits per ruta, cadascun amb la seva pròpia finestra i una estratègia de clau que tries tu — per IP, o per usuari amb recurs a la IP, que és el que vols quan cent desenvolupadors comparteixen una sola adreça de sortida de VPN. La instantània de diagnòstic del servidor està desactivada fins que l'habilites, i només per al propietari quan ho fas.
- Una imatge de Docker, amb SQLite o Postgres al darrere
- La imatge publicada del relay-server s'executa com a usuari no root amb la interfície web incrustada, per defecte fa servir SQLite sota un únic volum muntat, i accepta una substitució documentada per a Postgres. MySQL també funciona, des d'una imatge construïda a partir del codi font — la precompilada deixa fora aquest client deliberadament. Fixa una etiqueta immutable; la imatge no s'actualitza sola.
Si la teva organització té retenció zero de dades
Si estàs llegint aquesta pàgina, potser ja has topat amb el mur des de l'altra banda. La documentació de Remote Control d'Anthropic és explícita: les organitzacions amb requisits de compliment com ara Zero Data Retention no el poden activar. En aquest estat l'interruptor de la consola d'administració de Claude Code apareix inhabilitat, així que no és res que un Owner pugui decidir d'una altra manera. Tampoc no està disponible a Amazon Bedrock, a l'Agent Platform de Google Cloud ni a Microsoft Foundry, i està desactivat quan el trànsit s'apunta a una passarel·la d'LLM en lloc d'a api.anthropic.com.
Res d'això no és una crítica. Remote Control manté la transcripció de la sessió als servidors d'Anthropic per poder-la sincronitzar entre els teus dispositius, i una organització que ha contractat retenció zero ho ha descartat, correctament. Simplement és una resposta diferent a una pregunta diferent, i si la teva organització es troba en aquesta situació, un relay que executes tu mateix és la mena de resposta que queda.
El que obté el departament de compres: una llicència MIT i una imatge de contenidor
MIT. No source-available, no open-core amb la pila d'autenticació darrere d'un nivell comercial, no AGPL. Tot el que hi ha en aquesta pàgina és al mateix repositori que el client, sota la mateixa llicència, i res no depèn d'un contracte amb nosaltres. Si la política de la teva organització és que el copyleft no entra a l'edifici, aquesta política no s'atura aquí.
Cap dels controls de dalt no està darrere d'una compra: no hi ha cap nivell enterprise per comprar ni cap recompte de places per negociar per a cap d'ells. Segons el teu procés de compres, això és la part tranquil·litzadora d'aquesta pàgina o la part preocupant. El que obtens és el codi font, una llicència MIT i una imatge de contenidor.
Aixeca un relay de prova i comprova què fa complir
L'ordre honest és: aixeca el relay en un amfitrió d'usar i llençar, apunta-hi un desenvolupador, i llegeix GET /v1/features per veure exactament què anuncia aquell servidor als seus clients. Aquesta resposta és el contracte, i és la manera més ràpida de confirmar que una política que has fixat és una política que els clients respectaran de debò.
curl -fsSL https://happier.dev/install | bashLa guia de desplegament amb Docker cobreix la imatge, el volum i la substitució per a Postgres. La referència d'autenticació del servidor cobreix totes les variables esmentades més amunt, incloses les receptes per a un servidor públic que exigeixi GitHub o un proveïdor d'OIDC.

