Vos secrets restent sur votre machine.

Latet est un pare-feu local de confidentialité pour vos agents IA. Avant qu'une requête quitte votre ordinateur, il remplace chaque secret et chaque donnée personnelle par une valeur factice réaliste, puis remet les vraies valeurs en place quand la réponse revient. Votre agent continue de travailler ; le modèle ne les voit jamais.

Latet en 45 secondes

Essayez par vous-même

Sans Latet, une clé collée dans le chat a quitté votre machine et doit être révoquée. Avec Latet, le modèle reçoit une valeur factice du même format.

Le modèle écrit la configuration avec la clé factice. Latet remet la vraie avant que le fichier soit enregistré.

Vous
Configure les paiements avec cette clé : sk_live_51Hq8KzLmN3pQrStUvWxYz0aBcDeFgHiJ

Le modèle écrit la configuration avec la clé factice. Latet remet la vraie avant que le fichier soit enregistré.

Modèle write config/payments.toml
[payments]
secret_key = "sk_live_51Hq8KzLmN3pQrStUvWxYz0aBcDeFgHiJ"
Sur votre machine
Vous
Configure les paiements avec cette clé : sk_live_51Hq8KzLmN3pQrStUvWxYz0aBcDeFgHiJ
Ce que reçoit le modèle
Vous
Configure les paiements avec cette clé : sk_live_79Tl4NbCiV3iIkSqUtFmWc2lVlSeFzJsM
Sur votre machine
Vous
Configure les paiements avec cette clé : sk_live_51Hq8KzLmN3pQrStUvWxYz0aBcDeFgHiJ
Modèle write config/payments.toml
[payments]
secret_key = "sk_live_51Hq8KzLmN3pQrStUvWxYz0aBcDeFgHiJ"
Ce que répond le modèle
Vous
Configure les paiements avec cette clé : sk_live_79Tl4NbCiV3iIkSqUtFmWc2lVlSeFzJsM
Modèle write config/payments.toml
[payments]
secret_key = "sk_live_79Tl4NbCiV3iIkSqUtFmWc2lVlSeFzJsM"

Pour vous répondre, votre agent lit le journal. L'adresse e-mail, le numéro de carte, l'adresse IP et le jeton sortent sous forme de valeurs factices.

Le modèle répond avec les valeurs factices qu'il a reçues. Latet remet les vraies valeurs avant que vous lisiez la réponse.

Vous
Pourquoi le paiement de j.okafor@fabrikam-logistics.com a-t-il été refusé ?
tail -n 3 logs/payments.log
09:12:44 ERROR payment declined for j.okafor@fabrikam-logistics.com
09:12:44 card 4111 1111 1111 1111, client 81.2.69.160
09:12:45 retry, Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1XzdmM2EifQ.c2lnbmF0dXJlLW5vdC1yZWFs

Le modèle répond avec les valeurs factices qu'il a reçues. Latet remet les vraies valeurs avant que vous lisiez la réponse.

Modèle
Le paiement de j.okafor@fabrikam-logistics.com a été refusé. Il utilisait la carte 4111 1111 1111 1111 et venait de 81.2.69.160.
Sur votre machine
Vous
Pourquoi le paiement de j.okafor@fabrikam-logistics.com a-t-il été refusé ?
tail -n 3 logs/payments.log
09:12:44 ERROR payment declined for j.okafor@fabrikam-logistics.com
09:12:44 card 4111 1111 1111 1111, client 81.2.69.160
09:12:45 retry, Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1XzdmM2EifQ.c2lnbmF0dXJlLW5vdC1yZWFs
Ce que reçoit le modèle
Vous
Pourquoi le paiement de laura.mitchell@woodford-89e8.example a-t-il été refusé ?
tail -n 3 logs/payments.log
09:12:44 ERROR payment declined for laura.mitchell@woodford-89e8.example
09:12:44 card 4345 0900 0435 1539, client 203.0.113.135
09:12:45 retry, Authorization: Bearer eyJkmZchPeKCOvW3TwM3.eyJpnFLbWgI7UfbrP6MzcN.z6gesxN9vFJdPD5ydW4qHSWo
Sur votre machine
Vous
Pourquoi le paiement de j.okafor@fabrikam-logistics.com a-t-il été refusé ?
Modèle
Le paiement de j.okafor@fabrikam-logistics.com a été refusé. Il utilisait la carte 4111 1111 1111 1111 et venait de 81.2.69.160.
Ce que répond le modèle
Vous
Pourquoi le paiement de laura.mitchell@woodford-89e8.example a-t-il été refusé ?
Modèle
Le paiement de laura.mitchell@woodford-89e8.example a été refusé. Il utilisait la carte 4345 0900 0435 1539 et venait de 203.0.113.135.

Votre agent lit les deux commandes clients dans la base de données.

Le modèle écrit la modification avec les valeurs qu'il a reçues. Latet remet les vraies, et la requête s'exécute avec elles sur votre machine.

Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
1042,shipped,2026-10-03,Emily Carter,emily.carter@northwind-legal.com,129.90
1043,refunded,2026-10-04,Jon Okafor,j.okafor@fabrikam-logistics.com,48.50

Le modèle écrit la modification avec les valeurs qu'il a reçues. Latet remet les vraies, et la requête s'exécute avec elles sur votre machine.

Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'j.okafor@fabrikam-logistics.com';
Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
1042,shipped,2026-10-03,Emily Carter,emily.carter@northwind-legal.com,129.90
1043,refunded,2026-10-04,Jon Okafor,j.okafor@fabrikam-logistics.com,48.50

Le modèle écrit la modification avec les valeurs qu'il a reçues. Latet remet les vraies, et la requête s'exécute avec elles sur votre machine.

Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'j.okafor@fabrikam-logistics.com';
Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
1042,shipped,2026-10-03,Emily Carter,emily.carter@northwind-legal.com,129.90
1043,refunded,2026-10-04,Jon Okafor,j.okafor@fabrikam-logistics.com,48.50

Le modèle écrit la modification avec les valeurs qu'il a reçues. Latet remet les vraies, et la requête s'exécute avec elles sur votre machine.

Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'j.okafor@fabrikam-logistics.com';
Sur votre machine
Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
1042,shipped,2026-10-03,Emily Carter,emily.carter@northwind-legal.com,129.90
1043,refunded,2026-10-04,Jon Okafor,j.okafor@fabrikam-logistics.com,48.50
Ce que reçoit le modèle
Vous
Passe le statut de la commande de laura.mitchell@woodford-89e8.example à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
1042,shipped,2026-10-03,Emily Carter,sarah.adams@lamna-1c89.example,129.90
1043,refunded,2026-10-04,Jon Okafor,laura.mitchell@woodford-89e8.example,48.50
Sur votre machine
Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'j.okafor@fabrikam-logistics.com';
Ce que répond le modèle
Vous
Passe le statut de la commande de laura.mitchell@woodford-89e8.example à shipped.
Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'laura.mitchell@woodford-89e8.example';
Sur votre machine
Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
1042,shipped,2026-10-03,Emily Carter,emily.carter@northwind-legal.com,129.90
1043,refunded,2026-10-04,Jon Okafor,j.okafor@fabrikam-logistics.com,48.50
Ce que reçoit le modèle
Vous
Passe le statut de la commande de laura.mitchell@woodford-89e8.example à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
3595,fewmppu,2025-12-22,Ytrac Rpqrbj,sarah.adams@lamna-1c89.example,406.20
9786,kcfppzrb,2025-10-02,Emd Aqcgea,laura.mitchell@woodford-89e8.example,93.47
Sur votre machine
Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'j.okafor@fabrikam-logistics.com';
Ce que répond le modèle
Vous
Passe le statut de la commande de laura.mitchell@woodford-89e8.example à shipped.
Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'laura.mitchell@woodford-89e8.example';
Sur votre machine
Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
1042,shipped,2026-10-03,Emily Carter,emily.carter@northwind-legal.com,129.90
1043,refunded,2026-10-04,Jon Okafor,j.okafor@fabrikam-logistics.com,48.50
Ce que reçoit le modèle
Vous
Passe le statut de la commande de laura.mitchell@woodford-89e8.example à shipped.
psql shop --csv -c "SELECT * FROM orders LIMIT 2"
id,status,created_at,customer,email,amount
1042,shipped,2026-10-03,Ytrac Rpqrbj,sarah.adams@lamna-1c89.example,406.20
1043,refunded,2026-10-04,Emd Aqcgea,laura.mitchell@woodford-89e8.example,93.47
Sur votre machine
Vous
Passe le statut de la commande de j.okafor@fabrikam-logistics.com à shipped.
Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'j.okafor@fabrikam-logistics.com';
Ce que répond le modèle
Vous
Passe le statut de la commande de laura.mitchell@woodford-89e8.example à shipped.
Modèle psql shop
UPDATE orders SET status = 'shipped'
WHERE email = 'laura.mitchell@woodford-89e8.example';

Votre agent lit la commande client via l'API de la boutique.

Le modèle répond avec les valeurs qu'il a reçues. Latet remet les vraies avant que vous lisiez la réponse.

Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 1042,
  "status": "shipped",
  "created_at": "2026-10-03",
  "customer": "Emily Carter",
  "email": "emily.carter@northwind-legal.com",
  "total": 129.90,
  "note": "Leave the parcel at reception"
}

Le modèle répond avec les valeurs qu'il a reçues. Latet remet les vraies avant que vous lisiez la réponse.

Modèle
La commande 1042 a le statut shipped. L'adresse e-mail du client est emily.carter@northwind-legal.com.
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 1042,
  "status": "shipped",
  "created_at": "2026-10-03",
  "customer": "Emily Carter",
  "email": "emily.carter@northwind-legal.com",
  "total": 129.90,
  "note": "Leave the parcel at reception"
}

Le modèle répond avec les valeurs qu'il a reçues. Latet remet les vraies avant que vous lisiez la réponse.

Modèle
La commande 1042 a le statut shipped. L'adresse e-mail du client est emily.carter@northwind-legal.com.
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 1042,
  "status": "shipped",
  "created_at": "2026-10-03",
  "customer": "Emily Carter",
  "email": "emily.carter@northwind-legal.com",
  "total": 129.90,
  "note": "Leave the parcel at reception"
}

Le modèle répond avec les valeurs qu'il a reçues. Latet remet les vraies avant que vous lisiez la réponse.

Modèle
La commande 1042 a le statut shipped. L'adresse e-mail du client est emily.carter@northwind-legal.com.
Sur votre machine
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 1042,
  "status": "shipped",
  "created_at": "2026-10-03",
  "customer": "Emily Carter",
  "email": "emily.carter@northwind-legal.com",
  "total": 129.90,
  "note": "Leave the parcel at reception"
}
Ce que reçoit le modèle
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 1042,
  "status": "shipped",
  "created_at": "2026-10-03",
  "customer": "Emily Carter",
  "email": "sarah.adams@lamna-1c89.example",
  "total": 129.90,
  "note": "Leave the parcel at reception"
}
Sur votre machine
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
Modèle
La commande 1042 a le statut shipped. L'adresse e-mail du client est emily.carter@northwind-legal.com.
Ce que répond le modèle
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
Modèle
La commande 1042 a le statut shipped. L'adresse e-mail du client est sarah.adams@lamna-1c89.example.
Sur votre machine
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 1042,
  "status": "shipped",
  "created_at": "2026-10-03",
  "customer": "Emily Carter",
  "email": "emily.carter@northwind-legal.com",
  "total": 129.90,
  "note": "Leave the parcel at reception"
}
Ce que reçoit le modèle
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 3595,
  "status": "fewmppu",
  "created_at": "2025-12-22",
  "customer": "Ytrac Rpqrbj",
  "email": "sarah.adams@lamna-1c89.example",
  "total": 406.20,
  "note": "Bcagq llh ayeftu zc gtyzfybdm"
}
Sur votre machine
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
Modèle
La commande 1042 a le statut shipped. L'adresse e-mail du client est emily.carter@northwind-legal.com.
Ce que répond le modèle
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
Modèle
La commande 1042 a le statut fewmppu. L'adresse e-mail du client est sarah.adams@lamna-1c89.example.
Sur votre machine
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 1042,
  "status": "shipped",
  "created_at": "2026-10-03",
  "customer": "Emily Carter",
  "email": "emily.carter@northwind-legal.com",
  "total": 129.90,
  "note": "Leave the parcel at reception"
}
Ce que reçoit le modèle
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
curl -s https://api.shop.internal/orders/1042
{
  "id": 1042,
  "status": "shipped",
  "created_at": "2026-10-03",
  "customer": "Ytrac Rpqrbj",
  "email": "sarah.adams@lamna-1c89.example",
  "total": 406.20,
  "note": "Bcagq llh ayeftu zc gtyzfybdm"
}
Sur votre machine
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
Modèle
La commande 1042 a le statut shipped. L'adresse e-mail du client est emily.carter@northwind-legal.com.
Ce que répond le modèle
Vous
Quel est le statut de la commande 1042, et l'adresse e-mail du client ?
Modèle
La commande 1042 a le statut shipped. L'adresse e-mail du client est sarah.adams@lamna-1c89.example.

Votre agent lit une capture d'écran. Avec la reconnaissance de texte facultative, Latet en lit le texte sur votre machine et recouvre chaque valeur de sa valeur factice.

Le modèle répond avec les valeurs factices qu'il a lues dans l'image. Latet rétablit les vraies valeurs avant que vous ne lisiez la réponse.

Vous
Rembourse ce client : ses coordonnées sont dans la capture d'écran.
Un ticket d'assistance avec l'adresse e-mail, l'IBAN et le numéro de téléphone du client Le même ticket tel que le modèle le reçoit, avec une adresse e-mail, un IBAN et un numéro de téléphone factices inscrits par-dessus les vrais

Le modèle répond avec les valeurs factices qu'il a lues dans l'image. Latet rétablit les vraies valeurs avant que vous ne lisiez la réponse.

Modèle
Remboursement prêt pour emily.carter@northwind-legal.com, sur l'IBAN GB82WEST12345698765432. La confirmation part par SMS au +44 20 7946 0958.
Sur votre machine
Vous
Rembourse ce client : ses coordonnées sont dans la capture d'écran.
Un ticket d'assistance avec l'adresse e-mail, l'IBAN et le numéro de téléphone du client
Ce que reçoit le modèle
Vous
Rembourse ce client : ses coordonnées sont dans la capture d'écran.
Le même ticket tel que le modèle le reçoit, avec une adresse e-mail, un IBAN et un numéro de téléphone factices inscrits par-dessus les vrais
Sur votre machine
Vous
Rembourse ce client : ses coordonnées sont dans la capture d'écran.
Un ticket d'assistance avec l'adresse e-mail, l'IBAN et le numéro de téléphone du client
Modèle
Remboursement prêt pour emily.carter@northwind-legal.com, sur l'IBAN GB82WEST12345698765432. La confirmation part par SMS au +44 20 7946 0958.
Ce que répond le modèle
Vous
Rembourse ce client : ses coordonnées sont dans la capture d'écran.
Le même ticket tel que le modèle le reçoit, avec une adresse e-mail, un IBAN et un numéro de téléphone factices inscrits par-dessus les vrais
Modèle
Remboursement prêt pour sarah.adams@lamna-1c89.example, sur l'IBAN GB59UJHW04024437198939. La confirmation part par SMS au +44 21 3923 5073.

Ici, chaque valeur factice a été produite par Latet lui-même. Survolez une valeur, ou touchez-la, pour voir la valeur associée.

Comment ça marche

Une requête, de votre agent au modèle, aller et retour.

  1. Il repère ce qui est sensible

    Avant que quoi que ce soit ne parte, Latet lit la requête. Il repère les secrets, comme les clés d'API, les jetons, les mots de passe et les clés privées. Il repère les données personnelles, comme les adresses e-mail, les numéros de téléphone, les IBAN, les numéros de carte, et les numéros d'identité et les numéros fiscaux de 15 pays. Il repère aussi les termes que vous ajoutez vous-même et l'identité de cet ordinateur.

    Sur votre machine
    Vous
    Rembourse emily.carter@northwind-legal.com sur l'IBAN GB82WEST12345698765432 et confirme par SMS au +44 20 7946 0958.
    Ce que reçoit le modèle

    …

  2. Il les remplace par des valeurs factices réalistes

    Chaque valeur devient une valeur factice du même format, toujours la même pour une valeur donnée. Pour le modèle, le code et la configuration gardent tout leur sens.

    Sur votre machine
    Vous
    Rembourse emily.carter@northwind-legal.com sur l'IBAN GB82WEST12345698765432 et confirme par SMS au +44 20 7946 0958.
    Ce que reçoit le modèle
    Vous
    Rembourse sarah.adams@lamna-1c89.example sur l'IBAN GB59UJHW04024437198939 et confirme par SMS au +44 21 3923 5073.
  3. Il remet les vraies valeurs en place

    La réponse revient avec les valeurs factices. Sur votre machine, Latet remet les originaux dans les réponses, le texte diffusé en continu et les appels d'outils : les fichiers que votre agent écrit contiennent les vraies valeurs.

    Sur votre machine
    Vous
    Rembourse emily.carter@northwind-legal.com sur l'IBAN GB82WEST12345698765432 et confirme par SMS au +44 20 7946 0958.
    Modèle
    Remboursement prêt pour emily.carter@northwind-legal.com, sur l'IBAN GB82WEST12345698765432. La confirmation part par SMS au +44 20 7946 0958.
    Ce que répond le modèle
    Vous
    Rembourse sarah.adams@lamna-1c89.example sur l'IBAN GB59UJHW04024437198939 et confirme par SMS au +44 21 3923 5073.
    Modèle
    Remboursement prêt pour sarah.adams@lamna-1c89.example, sur l'IBAN GB59UJHW04024437198939. La confirmation part par SMS au +44 21 3923 5073.

Tout s'exécute sur votre machine : il n'y a ni service cloud Latet, ni télémétrie, ni statistiques d'utilisation.

Pour une équipe ou une entreprise, un seul Latet, sur votre propre serveur, masque les requêtes que chaque ordinateur et chaque programme lui envoie en HTTPS. Chacun a son propre espace. Là non plus, rien ne part vers un cloud Latet. Latet sur un serveur

Comment ça marche, étape par étape

Ce que Latet protège

Les agents lisent à votre place, et les agents autonomes le font seuls, pendant des heures. Latet vérifie chaque requête avant qu'elle parte, quelle que soit l'origine du texte.

  • Vos prompts

    Latet vérifie ce que vous tapez. Chaque valeur devient une valeur factice du même format ; les noms aussi, si vous utilisez le modèle local de noms, en option.

    Voir dans la démo
  • Les fichiers que lit l'agent

    Latet masque les clés, les mots de passe et les données personnelles des fichiers .env, de la configuration et des exports clients. Les fichiers que l'agent écrit retrouvent les vraies valeurs.

    Voir dans la démo
  • Sorties de commandes et journaux

    Latet masque les jetons, les adresses e-mail, les adresses IP publiques et les numéros d'identité dans les journaux, les traces d'erreur et la sortie des commandes.

    Voir dans la démo
  • Requêtes de base de données

    Les colonnes secrètes sont toujours masquées. En mode données strict, toutes les valeurs le sont, avec des valeurs factices qui préservent jointures et comptages.

    Voir dans la démo
  • Captures d'écran et images

    Avec la reconnaissance de texte facultative, Latet lit sur votre machine le texte de chaque image que contient une requête et recouvre chaque valeur de sa valeur factice. Une image qu'il ne peut pas lire n'est pas transmise.

    Voir dans la démo

Latet couvre aussi les pages web, les instructions comme CLAUDE.md et ce qu'aucun motif ne détecte.

Tout ce que Latet protège

Chaque requête dans un tableau de bord

Un tableau de bord local affiche chaque requête envoyée par vos agents : l'original sur votre machine à côté de ce que le modèle a reçu. Chaque valeur masquée porte une étiquette qui indique sa nature et la règle qui l'a détectée.

Un échange dans le tableau de bord : chaque bloc de la requête tel qu'il est sur cette machine, à côté de ce qui a été envoyé au modèle ; chaque valeur masquée y est mise en évidence

Compatible avec les agents que vous utilisez

Latet se place entre votre agent et son fournisseur, et fonctionne avec la connexion propre de l'agent ou avec vos clés d'API. Les requêtes arrivent toujours au même fournisseur, une fois que Latet les a vérifiées ou masquées.

Agents de code

  • Claude Code : CLI, VS Code et JetBrains, avec un abonnement Pro ou Max ou une clé d'API
  • Codex : CLI et Desktop, avec ChatGPT ou une clé d'API
  • OpenCode, avec les fournisseurs à clé d'API
  • Gemini CLI, avec une clé d'API Gemini ou Vertex AI
  • GitHub Copilot, JetBrains Junie et AI Assistant, Zed, Cline, Kilo Code, Continue, Qwen Code, Crush et d'autres outils, avec votre clé d'API

Agents autonomes

Hermes Agent, OpenClaw, Goose, OpenHands, et tout agent qui accepte une URL de base compatible OpenAI

En entreprise

Claude Code et Codex via la passerelle LLM de votre entreprise, Amazon Bedrock, Google Vertex, Microsoft Foundry ou Azure OpenAI

Scripts et SDK

Les SDK OpenAI, Anthropic et Google, LangChain, LangGraph, AutoGen, CrewAI, Aider, etc.

Latet ne couvre pas Chat et Cowork de Claude Desktop connectés à Claude, les sessions dans le cloud, ni Cursor, Windsurf et les autres outils dont les requêtes partent des serveurs de l'éditeur, et non de votre machine.

Configurer votre agent

Une commande pour l'installer

Aucun droit d'administrateur n'est nécessaire : tout s'installe dans votre compte utilisateur. Le script ajoute uv, le gestionnaire d'outils Python, s'il n'est pas déjà là, puis installe Latet. Il ne change rien d'autre : il ne touche pas aux réglages de vos agents et n'ajoute rien qui démarre à l'ouverture de session.

macOS et Linux
curl -LsSf https://raw.githubusercontent.com/Latet-AI/latet/main/scripts/install.sh | sh
Windows (PowerShell)
irm https://raw.githubusercontent.com/Latet-AI/latet/main/scripts/install.ps1 | iex

Ensuite

  1. latet tutorial Découvrez Latet à l'œuvre en 30 minutes environ, dans votre navigateur, avec un agent fictif, un modèle fictif et des données inventées. Rien ne quitte votre ordinateur. À propos du tutoriel
  2. latet claude latet codex Faites passer une session de votre agent par Latet, sans changer aucun réglage.
  3. latet global-install Faites passer vos agents par Latet pour de bon, quand il convient à votre travail.
Prérequis et autres façons de l'installer

Éditions

Latet existe en deux éditions. La Community Edition protège les personnes et les équipes, et elle est gratuite pour toute entreprise. L'Enterprise Edition, bientôt disponible, ajoute ce dont l'équipe de sécurité d'une entreprise a besoin : des règles communes à tous, que personne ne peut assouplir, des décisions prises de façon centralisée et des chiffres pour ses audits.

Latet Community Edition

Elle comprend tout ce qui protège les personnes et les équipes, gratuitement pour toute entreprise, quelle que soit sa taille, pour ses propres besoins.

Sur votre ordinateur

Pour une personne, elle comprend tout ce qui précède : le masquage, le tableau de bord, le relecteur local et le Relecteur en direct, vos propres termes et règles, et le tutoriel.

Sur un serveur, pour une équipe

Un seul Latet sert tous les ordinateurs d'une équipe ou d'une entreprise, et les programmes qui interrogent un modèle d'eux-mêmes. Les requêtes arrivent au serveur en HTTPS, et c'est lui qui les masque : il ne s'en remet jamais à un ordinateur pour le faire.

  • Un espace pour chacun. Les personnes connectent leur ordinateur avec un code à usage unique, et les programmes utilisent une clé d'API créée par un administrateur. Chacun a ses propres réglages, son coffre-fort et son historique, tous chiffrés.
  • Les règles de chacun. Chacun garde ses propres règles, et les règles se partagent manuellement : par export et import, ou dans le latet.yaml d'un projet.
  • Un journal d'administration. Il enregistre qui a fait quoi, et quand, mais jamais une valeur.
  • Il grandit avec vous. Vous faites tourner autant d'instances sans état qu'il en faut derrière un répartiteur de charge, avec PostgreSQL et Valkey.
Latet sur un serveur

Latet Enterprise Edition

Bientôt disponible

Elle s'adresse aux entreprises dont l'équipe sécurité fixe les règles pour tous. Cette édition ajoute à la Community Edition :

  • Des règles partagées. Les administrateurs définissent pour tous, en un seul endroit, les termes, les listes, les reconnaisseurs, les règles de champ et les niveaux de protection ; chacun y ajoute les siens.
  • Règles verrouillées. Elles fixent un plancher sous lequel personne ne peut descendre, sur le serveur ou dans un fichier de politique géré.
  • Approbations centralisées. Toute modification qui réduit la protection est soumise à la décision de l'équipe sécurité.
  • Rapports d'audit. Ils donnent des décomptes par groupe, projet, agent et catégorie, en CSV et en JSON, mais jamais une valeur.
  • SIEM. Les événements partent vers Splunk, Elastic, Microsoft Sentinel ou syslog.
  • Termes synchronisés. Les noms des clients et des collègues sont repris d'un fichier ou d'une URL, d'Entra ID ou de LDAP.
  • Connexion. Chacun se connecte en OIDC avec Entra ID, Google, Okta ou d'autres, et les comptes sont gérés via SCIM 2.0.
  • Rôles. Il y en a cinq : utilisateur, responsable de groupe, sécurité, auditeur en lecture seule et administrateur.
Ce que fait Latet Enterprise, en détail

Recevez un message quand Latet Enterprise sera disponible

Laissez votre adresse e-mail : vous recevrez un seul message quand Latet Enterprise sera disponible, et rien d'autre.

Comment l'adresse est conservée

Des questions sur Latet Enterprise ?

Écrivez à cette adresse :

info@latet.ai

Écrire un e-mail

Licences

Latet est source-available : le code est public, et vous pouvez le lire, le vérifier et le modifier. La Community Edition est gratuite pour tous, y compris pour les entreprises de toute taille. L'Enterprise Edition ajoute ce dont une entreprise a besoin pour gérer Latet de façon centralisée, sous licence commerciale.

Gratuit, pour tous

  • Au travail, dans toute entreprise. Utilisez Latet pour les besoins propres de votre entreprise, sur autant d'ordinateurs et de serveurs et pour autant de personnes que vous voulez, quels que soient la taille ou le chiffre d'affaires de l'entreprise. Une entreprise qui l'utilise pour ses 5 000 salariés et ses serveurs de build ne paie rien.
  • Pour vous-même. Les projets personnels, les études, la recherche et les essais sont gratuits.
  • Usage non commercial. Tout usage non commercial est gratuit, y compris pour les associations, les écoles et les universités.
  • Le modifier. Vous pouvez modifier Latet pour ces mêmes usages, et le partager, ou partager vos modifications, gratuitement et à des fins non commerciales. Conservez le fichier LICENSE et les mentions de droits d'auteur, et indiquez que vous l'avez modifié.

Licence commerciale

Avant de le vendre ou de le proposer. Écrivez-nous avant de vendre Latet ou une copie modifiée, de le proposer à des tiers sous forme de service (en l'exploitant pour d'autres entreprises ou pour vos clients, en mode hébergé ou infogéré), de l'intégrer à un produit ou un service que vous vendez, ou d'en faire un fork commercial.

Par exemple. Une agence qui place Latet en amont des outils d'IA qu'elle vend à ses clients a besoin d'une licence commerciale, tout comme un éditeur de sécurité qui intègre Latet à son propre produit. Un consultant qui installe Latet chez une entreprise, laquelle l'utilise ensuite pour ses propres besoins, n'en a pas besoin : l'entreprise l'utilise gratuitement, et le consultant peut facturer son travail.

L'Enterprise Edition. Utiliser ses fonctions en production nécessite une licence Latet Enterprise ; développer et tester avec elles est gratuit. Indiquez le nom de votre entreprise et le nombre de personnes qui utiliseront Latet.

Écrire à info@latet.ai

La Community Edition n'a pas de clé de licence et ne contacte jamais personne pour vérifier quoi que ce soit. Les fonctions Enterprise vérifient un fichier de licence signé, hors ligne.

Les conditions complètes

Essayez-le sur votre machine

Installez Latet en quelques minutes, puis suivez le tutoriel d'environ 30 minutes, avec un agent fictif, un modèle fictif et des données inventées, avant d'y brancher un vrai agent.