pers ▸ identity loaded 0

Des exécutions fiables et cohérentes, à chaque fois.

Une Persona est une identité réutilisable que Writ applique automatiquement : sa propre identité enregistrée et ses paramètres réseau, une session chaude enregistrée, des identifiants et le 2FA. Vos workflows authentifiés fonctionnent, tout simplement, sur les comptes que vous possédez.

Identité + région fixéesSession chaude enregistréeTOTP + OTP par e-mail intégrés
Writ s’exécute sur vos propres comptes, avec vos propres identifiants et données, sur des sites que vous êtes autorisé à utiliser.
def ▸ what a persona is 3
01
the mechanic

Une seule identité que vos exécutions réutilisent

Une Persona contient tout ce qu’une exécution doit avoir pour se connecter en votre nom et rester cohérente sur un site : une connexion, un mot de passe chiffré par Fernet, une méthode 2FA facultative, une empreinte de navigateur fixée, une région préférée, et une session authentifiée chaude (cookies, localStorage et en-têtes) partagée par chaque workflow qui l’utilise.

Attachez-la à un workflow et Writ se connecte en votre nom et reste cohérent d’une exécution à l’autre : la même identité, le même lieu, la même session chaude. Exactement le travail qu’une personne ferait à la main dans un navigateur.

Accès autorisé, pas contournement. Writ s’exécute sur vos propres comptes, avec vos propres identifiants et données, sur des sites que vous êtes autorisé à utiliser.

acme-prod-login

portal.acme.com · session valide

Session chaude

Ce qu’elle regroupe

Connexion

Identifiant + mot de passe chiffré

2FA

Secret TOTP ou OTP par e-mail

Empreinte

User agent, langue, fuseau horaire

Session chaude

Cookies, stockage, en-têtes

Egress & région

Agent + région d’egress fixés

2fa ▸ built in 7
02
two-factor

Il passe le 2FA comme vous le feriez

Les invites TOTP et les codes à usage unique par e-mail bloquent net les autres outils. Writ les complète automatiquement, en se connectant à votre propre compte comme vous le faites déjà.

Authentificateur TOTP

Stockez un secret TOTP base32 chiffré sur la Persona. Writ génère le code à 6 chiffres actuel côté serveur au moment de la connexion (le même code que votre application d’authentification afficherait), avec un nombre de chiffres, une période et un algorithme configurables (SHA1 / SHA256 / SHA512). Le secret est chiffré par Fernet et jamais renvoyé par l’API.

persona.twofa
{
  "method": "totp",
  "algorithm": "SHA1",
  "digits": 6,
  "period": 30
}

OTP par e-mail & magic links

Connectez une boîte mail via OAuth, ou pointez une adresse de relais de transfert vers la Persona. Quand un site envoie par e-mail un code à usage unique ou un magic link, Writ le lit depuis votre boîte de réception à l’aide d’une règle d’analyse que vous définissez (filtre d’adresse d’expéditeur, regex du sujet, regex du code, regex du lien, âge maximum) et complète l’étape. Vous lisez les codes depuis des comptes que vous possédez ; Writ ne touche jamais la boîte mail de quelqu’un d’autre.

persona.mailbox
{
  "method": "mailbox_otp",
  "from": "[email protected]",
  "code_regex": "\\b\\d{6}\\b",
  "max_age_seconds": 120
}
warm ▸ sessions kept live 11
03
warm sessions

Évitez la connexion à chaque exécution après la première

Après la première connexion réussie, Writ enregistre une session d’authentification chiffrée (cookies, localStorage, sessionStorage, en-têtes et empreinte) sur la Persona et la réutilise pour chaque workflow qui la référence. Les exécutions suivantes sautent entièrement le flux de connexion jusqu’à l’expiration de la session : des exécutions plus rapides, moins d’invites 2FA, et moins de risque de connexion déclenchée.

Writ suit la première expiration de cookie, expires_at, un statut de validation (valid / expired / unknown), last_login_at, et last_used_at pour ne se ré-authentifier que quand c’est nécessaire.

01Exécution 1 : connexion complète + 2FAWrit s’authentifie, complète le 2FA et enregistre la session chiffrée.
02Exécutions 2...N : session chaudePas de reconnexion. Writ réutilise la session enregistrée jusqu’à son expiration.
Session valide Ré-auth à l’expiration
fp ▸ fingerprint + egress 15
04
consistency

La même identité, le même lieu, à chaque exécution

Une Persona a la même apparence et se connecte de la même façon à chaque fois, donc votre compte se comporte de façon prévisible pour les sites qui attendent une identité et une localisation stables.

Empreinte fixéeUne empreinte de navigateur cohérente (user agent, langue et fuseau horaire), pour que le compte ait la même apparence à chaque exécution.
Affinité d’agentFixez un agent de confiance préféré pour les comptes qui attendent un client stable.
Région d’egressChoisissez une région d’egress. Si vous fournissez vos propres identifiants de proxy d’egress, ils sont chiffrés par Fernet et requièrent une reconnaissance d’usage licite avant d’être stockés.
run ▸ applied per run 19
05
in a workflow

Configurez-la une fois, appelez-la comme une API

Créez une Persona, attachez-la à un workflow, et appelez ce workflow comme un endpoint REST ou un MCP tool. Il s’exécute authentifié, sur votre compte, sans connexion à surveiller.

01Créer une PersonaNommez-la, ajoutez la connexion, choisissez une méthode 2FA, fixez l’empreinte et la région.
02Attacher à un workflowRéférencez la Persona sur tout workflow qui a besoin du site authentifié.
03La première exécution authentifieWrit se connecte et complète le TOTP ou l’OTP par e-mail, puis enregistre la session chaude.
04Appelez-la comme une APIAtteignez l’endpoint REST ou le MCP tool ; chaque exécution suivante réutilise la session chaude.
run-authenticated.sh
curl -X POST https://api.usewrit.app/v1/acme-portal/export \
  -H "Authorization: Bearer wt_..." \
  -d '{"persona":"acme-prod-login","range":"last_30d"}'

Les recettes du Marketplace utilisent votre propre Persona. Quand vous installez une recette du marketplace, vous attachez votre propre Persona. Les identifiants du créateur sont retirés à la publication et jamais utilisés. Comment fonctionne l’installation →

ord ▸ resolution order 23
06
resolution order

Résolu dans un ordre fixe, les rotations sont instantanées

Quand un workflow s’exécute, Writ résout une référence {{vault:key}} dans un ordre fixe, et une rotation prend effet dès l’exécution suivante.

01Cache à courte duréeVérifié en premier ; invalidé à chaque création, mise à jour ou suppression.
02Coffre intégréLe stockage par tenant chiffré par Fernet.
03Fournisseurs externesVos gestionnaires connectés, par priorité (le plus petit numéro d’abord).

Chaque fournisseur externe a sa propre priorité et un interrupteur d’activation, plus un bouton de test qui enregistre le dernier résultat, pour que vous puissiez vérifier une connexion avant de vous y fier.

ext ▸ external managers 27
07
external managers

Déjà un gestionnaire de secrets ? Pointez Writ dessus

Standardisé sur un gestionnaire de secrets ? Connectez-le et Writ résout {{vault:key}} contre lui à l’exécution, sans copier les secrets dans un second système. Les détails de connexion sont chiffrés par Fernet ; définissez une priorité par fournisseur et testez avant de vous y fier.

AWS Secrets ManagerRésolvez les secrets depuis votre compte AWS.
HashiCorp VaultLisez des chemins depuis votre serveur Vault.
Azure Key VaultRécupérez les secrets de votre coffre Azure.
GCP Secret ManagerRésolvez depuis Google Cloud.

Config par fournisseur

aws_secrets_managerhashicorp_vaultazure_key_vaultgcp_secret_manager

Chaque connexion stocke une priorité, un indicateur d’activation et le dernier résultat de test (last_tested_at, last_test_success, last_test_error).

sec ▸ security model 31
08
security

Vos identifiants restent scellés

Les Personas sont isolées par tenant et exclusivement cloud. Chaque champ de secret est chiffré par Fernet au repos et n’est jamais renvoyé par l’API, montré à l’IA ni écrit dans les logs.

Fernet au reposMots de passe, secrets, tokens et état de session chiffrés avec la clé de la plateforme.
Jamais renvoyé par l’APILes champs sensibles sont en écriture seule ; ils ne ressortent jamais.
Isolé par tenantLimité à votre organisation au niveau des données.
Exclusivement cloudL’identifiant de connexion est affiché pour distinguer les comptes ; rien de sensible ne l’est.
faq ▸ questions logged 35
09
faq

Questions fréquentes

Où vivent mes identifiants ?

Chaque champ de secret (mot de passe, secret TOTP, tokens de boîte mail, identifiants de proxy et état de session enregistré) est chiffré par Fernet au repos avec la clé de chiffrement de la plateforme et n’est jamais renvoyé par l’API, montré à l’IA ni écrit dans les logs.

Est-il autorisé d’utiliser un 2FA stocké ?

Une Persona ne se connecte qu’à votre propre compte autorisé. Vous fournissez votre propre secret TOTP ou connectez votre propre boîte mail, et Writ complète la même étape 2FA que vous feriez à la main. Cela ne contourne la sécurité de personne d’autre.

Sur quels sites puis-je utiliser les Personas ?

Les sites que vous possédez ou que vous êtes par ailleurs autorisé à utiliser. Writ s’exécute sur vos propres comptes, avec vos propres identifiants et données, sur des sites que vous êtes autorisé à utiliser. Consultez la politique d’utilisation acceptable pour les détails.

Local ou cloud ?

Les Personas sont une fonctionnalité cloud, disponible sur les forfaits payants. Les agents locaux et BYO gèrent leur propre authentification sur votre propre machine.

go ▸ first persona 43

Des exécutions fiables et cohérentes, à chaque fois.

Créez une Persona, attachez-la à un workflow, et appelez-la comme n’importe quelle API, sur vos propres comptes autorisés.