VisiDog Enterprise Docs
← Back to Portal ← Retour au Portail
Enterprise Administrator Documentation Documentation Administrateur Entreprise

VisiDog Enterprise Administration Guide Guide d'Administration VisiDog Enterprise

Complete manual for IT administrators: secure LLM proxy configuration, API key encryption, user and license management, and consumption governance. Manuel complet pour les responsables informatiques : configuration du proxy mandataire d'IA, chiffrement des clés API, gestion des utilisateurs et licences, et gouvernance des consommations.

🛡️ 1. Overview & Security Architecture 1. Vue d'ensemble & Architecture de Sécurité

VisiDog Enterprise acts as a secure, authenticated AI forward proxy between your organization's users and external Large Language Model (LLM) providers (OpenAI, Anthropic, Google Gemini, Azure, Mistral, DeepSeek...).

Instead of distributing expensive and sensitive provider API keys to every user's browser, VisiDog Enterprise centralizes credential storage on your secure server. Each collaborator signs in with their portal account, and their inference access is governed by the assigned access profile.

VisiDog Enterprise agit comme un proxy mandataire d'IA sécurisé et authentifié, intercalé entre les postes de travail de vos collaborateurs et utilisateurs et les fournisseurs de modèles de langage (LLM) externes (OpenAI, Anthropic, Google Gemini, Azure, Mistral, DeepSeek...).

Plutôt que de diffuser des clés d'API fournisseurs sensibles et coûteuses sur chaque navigateur utilisateur, VisiDog Enterprise centralise le stockage des identifiants sur votre serveur sécurisé. Chaque collaborateur se connecte avec son compte portail, et son accès d'inférence est gouverné par le profil d'accès qui lui est affecté.

🔒
Zero API Key Leaks Zéro Fuite de Clés API
Provider API keys never reach client browsers. They are encrypted at rest with authenticated AES-256-GCM. Les clés API fournisseurs ne transitent jamais sur les postes clients. Elles sont chiffrées au repos en AES-256-GCM authentifié.
🏷️
Unified Portal Identity Identité Portail Unique
Each collaborator signs in with a single portal account: email confirmation at enrollment, optional two-factor authentication, and per-profile authorizations. Chaque collaborateur se connecte avec un compte portail unique : confirmation d'adresse à l'enrôlement, double facteur facultatif et autorisations portées par son profil d'accès.
⚡
Transparent SSE Streaming Streaming SSE Transparent
Full support for real-time Server-Sent Events (SSE) token generation with zero browser buffering. Prise en charge temps réel du streaming de jetons (SSE) avec libération immédiate du pool MySQL avant relais HTTP.
📊
Quota Enforcement Gouvernance & Quotas
Real-time tracking of token counts and automated rate-limiting / blocking (HTTP 429) upon quota exhaustion. Comptabilisation exacte des tokens en temps réel et blocage automatique (HTTP 429) en cas de dépassement des limites mensuelles.
🛡️ Cryptographic Architecture Notice Notice de Sécurité Cryptographique
All sensitive LLM API keys are encrypted at rest using AES-256-GCM (AEAD) with a unique 12-byte initialization vector (IV) and a 16-byte authentication tag per configuration. Server endpoints strictly validate incoming target URLs against SSRF (Server-Side Request Forgery), forbidding access to loopback (127.0.0.1, localhost), RFC 1918 private subnets, and cloud instance metadata services (169.254.169.254).
Toutes les clés API fournisseurs sont chiffrées au repos en AES-256-GCM (AEAD) avec un vecteur d'initialisation (IV) de 12 octets et un tag d'intégrité de 16 octets par enregistrement. Les endpoints du serveur valident rigoureusement les URLs cibles contre les attaques SSRF, bloquant impérativement 127.0.0.1, localhost, les plages privées RFC 1918 et les métadonnées cloud (169.254.169.254).

🔐 2. Account Management & Two-Factor Authentication (2FA) 2. Gestion du Compte & Double Facteur (2FA TOTP)

Enterprise administrator accounts hold critical permissions (modifying API keys, revoking access, allocating budget quotas). As an IT administrator, you should enforce strong passwords and activate Two-Factor Authentication (2FA TOTP, RFC 6238).

Les comptes administrateurs d'entreprise disposent de privilèges sensibles (gestion des clés d'API, révocation de collaborateurs, plafonds de facturation). En tant qu'administrateur, vous devez adopter un mot de passe robuste et activer l'Authentification à Double Facteur (2FA TOTP, RFC 6238).

Step-by-Step: Enabling 2FA (TOTP) Procédure : Activation du Double Facteur (2FA TOTP)

  1. 1

    Navigate to Account Security Accédez à l'écran Sécurité & Mot de passe

    In the sidebar navigation, click on Security & Password (or URL fragment #security). Dans la barre latérale du portail connecté, cliquez sur Sécurité & Mot de passe (fragment #security).

  2. 2

    Click "Enable Two-Factor Authentication" Cliquez sur « Configurer le double facteur (2FA) »

    The server will generate a unique Base32 secret key and display a QR Code compatible with standard authenticator applications. Le serveur génère une clé secrète Base32 unique et affiche un QR Code compatible avec toutes les applications d'authentification standard.

  3. 3

    Scan the QR Code with your Authenticator Scannez le QR Code avec votre application mobile

    Open Google Authenticator, Microsoft Authenticator, Bitwarden, 1Password, or Aegis, and scan the on-screen code (or copy the manual secret key). Ouvrez Google Authenticator, Microsoft Authenticator, Bitwarden, 1Password ou Aegis et scannez le code affiché (ou copiez la clé secrète manuellement).

  4. 4

    Confirm with a 6-Digit Code Validez avec le code à 6 chiffres

    Enter the 6-digit code currently generated by your app and click Verify and Activate. Your account is immediately protected. Saisissez le code temporaire à 6 chiffres affiché sur votre application et cliquez sur Confirmer et activer. La protection est instantanément active.

💡 Unified Sign-In Experience Expérience de Connexion Unifiée
Once 2FA is active, the sign-in form dynamically detects your account upon entering your identifier and password, and smoothly requests your 6-digit TOTP code before granting access.
Dès que le 2FA est activé, l'écran de connexion détecte automatiquement votre compte lors de la saisie de l'identifiant et du mot de passe, puis sollicite le code TOTP à 6 chiffres avant de délivrer le jeton de session JWT.

🤖 3. Company models & Providers 3. Modèles de l’entreprise & Fournisseurs

In Company models (#models), add a free VisiDog model, a model using a provider API key or a paid VisiDog offer. This catalog belongs to the company. Then select the permitted models in Profiles and assign users to their profiles, including your own access. In a personal space, this page is called My models; company members see Accessible models.

Dans Modèles de l’entreprise (#models), ajoutez un modèle gratuit VisiDog, un modèle avec une clé API fournisseur ou une offre payante VisiDog. Ce catalogue appartient à l’entreprise. Choisissez ensuite les modèles autorisés dans Profils et affectez les utilisateurs à leur profil, y compris votre propre accès. Dans un espace personnel, cette page s’appelle Mes modèles ; les membres de l’entreprise consultent leurs Modèles accessibles.

Network policies (#configs) controls tool request domains and methods, plus prompt logging for assigned members. Provider connections and API keys are managed in Company models. Create a network policy without supplying a key or model.Politiques réseau (#configs) contrôle les domaines et méthodes des requêtes des outils ainsi que la journalisation des prompts des membres affectés. Les connexions fournisseur et leurs clés API se gèrent dans Modèles de l’entreprise. Créez une politique sans fournir de clé ni de modèle.

GET and HEAD are allowed without enabling other methods. The domain list applies to every method; empty or * allows all public domains, subject to network protection.

GET et HEAD restent permis sans activer les autres méthodes. La liste de domaines s’applique à toutes les méthodes ; vide ou * autorise tous les domaines publics sous réserve de la protection réseau.

Recommended Flagship Models Modèles Phares Recommandés

Provider TypeType Fournisseur Official Target EndpointURL Cible Officielle Recommended Model IdentifierIdentifiant Modèle Recommandé Key FeaturesPoints Forts
OpenAI https://api.openai.com/v1/chat/completions gpt-5.5, gpt-4o State-of-the-art reasoning, code generation and instruction following. Raisonnement complexe de pointe, génération de code et suivi des consignes.
Anthropic https://api.anthropic.com/v1/messages claude-sonnet-5, claude-3-7-sonnet Exceptional coding abilities, nuance understanding and large context window. Capacités exceptionnelles en programmation, nuance et très large contexte.
Google Gemini https://generativelanguage.googleapis.com/v1beta/openai/chat/completions gemini-3.6-flash, gemini-2.5-flash Ultra-fast response latency, economical token pricing and high throughput. Latence ultra-faible, tarification économique et débit élevé.
Compatible OpenAI https://api.deepseek.com/chat/completions deepseek-v4-flash, deepseek-chat High performance open-weights models, self-hosted Ollama/vLLM or Groq. Modèles ouverts très performants, hébergement sur site (vLLM/Ollama) ou Groq.
ℹ️ Automated Model Substitution (visidog-auto) Substitution Transparente du Modèle (visidog-auto)
In VisiDog, users simply select the virtual model visidog-auto. The enterprise proxy automatically substitutes this request with the Default Model configured in their assigned enterprise policy (e.g., gpt-5.5 or claude-sonnet-5), allowing administrators to upgrade or swap AI providers globally without touching user workstations!
Dans VisiDog, les utilisateurs peuvent sélectionner les modèles virtuels visidog-auto ou visidog-eco. Le proxy les résout vers les modèles configurés dans leur rôle d’accès. Vous pouvez ainsi faire évoluer ou basculer vos fournisseurs d’IA de manière centralisée, sans impacter les postes de travail ni donner le même accès à tous les collaborateurs.

🛡️ 4. Access profiles 4. Profils d’accès

The Profiles view (#roles) controls which company models each user may call. Each user has exactly one access profile, separate from their portal administration status.

La vue Profils (#roles) définit les modèles de l’entreprise que chaque utilisateur peut appeler. Un utilisateur possède exactement un profil d’accès, distinct de son statut d’administration du portail.

  1. 1

    Declare the company modelsDéclarez les modèles de l’entreprise

    In Company models (#models), add free VisiDog models, models using a provider API key or paid VisiDog offers that your organization is allowed to use. Technical capabilities are retrieved when available.Dans Modèles (#models), ajoutez les modèles revendeur ou BYOK que l’organisation peut utiliser. Leurs caractéristiques techniques sont récupérées lorsqu’elles sont disponibles.

  2. 2

    Create or edit a profileCréez ou modifiez un profil

    Select Add a profile, or Edit an existing profile. The same form lets you name the profile, select permitted models, and configure its two optional aliases.Sélectionnez Ajouter un profil, ou Modifier un profil existant. Le même formulaire permet de le nommer, de cocher les modèles autorisés et de configurer ses deux alias optionnels.

  3. 3

    Apply network and time restrictions when neededAppliquez si besoin des restrictions réseau et horaires

    Enter one IP address or IPv4/IPv6 CIDR range per line. An empty list allows every IP. Enable the schedule to select a timezone, authorized days and start/end times.Saisissez une adresse IP ou une plage CIDR IPv4/IPv6 par ligne. Une liste vide autorise toute IP. Activez les horaires pour choisir le fuseau, les jours et les heures de début et de fin.

  4. 4

    Assign usersAffectez les utilisateurs

    Use the assignment table at the bottom of the Profiles page. New users automatically receive the default profile.Utilisez le tableau d’affectation en bas de la page Profils. Les nouveaux utilisateurs reçoivent automatiquement le profil par défaut.

Important: an alias must point to a model selected for the profile. There must always be one default profile. It cannot be deleted, and the last remaining profile cannot be deleted. Deleting another profile reassigns its users to the default profile.Important : un alias doit désigner un modèle sélectionné pour le profil. Un profil par défaut doit toujours exister : il ne peut pas être supprimé, et le dernier profil ne peut jamais être supprimé. La suppression d’un autre profil affecte ses utilisateurs au profil par défaut.

👥 5. Managing Users & Licenses 5. Gestion des Collaborateurs & Licences

Each user accessing VisiDog within your organization must be provisioned in the Users & Licenses view (#users).

Chaque utilisateur ou collaborateur utilisant VisiDog au sein de votre entreprise doit être déclaré dans l'écran Collaborateurs & Licences (#users).

Account Access & Instant Revocation Accès au Compte & Révocation Immédiate

  • Email Enrollment: a created account waits for its email confirmation. The recipient confirms the address, then chooses a password through password recovery before the first sign-in. Enrôlement par adresse : un compte créé attend la confirmation de son adresse email. Le destinataire confirme son adresse, puis choisit son mot de passe via la récupération avant la première connexion.
  • Unified Sign-In: the collaborator signs in with their email, password and optionally a two-factor code. Existing account holders can also be invited to the environment rather than recreating an identity. Connexion unifiée : le collaborateur se connecte avec son email, son mot de passe et en option un code de double facteur. Un compte existant peut aussi être invité à rejoindre l'environnement plutôt que de recréer une identité.
  • Instant Revocation: revoking or deactivating a user immediately cuts off proxy access (HTTP 401) and closes their active sessions. Révocation immédiate : désactiver ou supprimer un collaborateur bloque instantanément ses requêtes au niveau du proxy (HTTP 401) et ferme ses sessions actives.

💻 6. End-User Workstation Configuration 6. Configuration du Poste Utilisateur (Client VisiDog)

Setting up a user's workstation takes less than 30 seconds. The collaborator does not need to register on any AI platform or install server software.

La configuration du poste de travail d'un utilisateur nécessite moins de 30 secondes. Le collaborateur n'a besoin d'aucun compte chez les fournisseurs de LLM ni d'installer d'outils complexes.

  1. 1

    Onboard the Collaborator through the Portal Enrôlez le collaborateur via le Portail

    The collaborator created in Users & Licenses receives an activation email: they confirm their address, choose a password through password recovery, and sign in with their portal account. They do not need to register on any AI platform. Le collaborateur créé dans Collaborateurs & Licences reçoit un email d'activation : il confirme son adresse, choisit son mot de passe via la récupération, puis se connecte avec son compte portail. Il n'a besoin d'aucun compte chez les fournisseurs d'IA.

  2. 2

    Portal Authentication & Model Selection Authentification Portail & Sélection du Modèle

    Upon opening VisiDog to create a project, the user signs in with their portal account (email and password): the models authorized by their access profile become available automatically, without any key to paste. Alternatively, a personal model or provider can be selected if configured. À l'ouverture de VisiDog pour créer un projet, l'utilisateur s'authentifie avec son compte portail (email et mot de passe) : les modèles autorisés par son profil d'accès deviennent disponibles automatiquement, sans aucune clé à saisir.

  3. 3

    Project Intent & AI Launch Intention du Projet & Lancement de l'IA

    The user arrives on the Project Intent screen. They describe what the application should do in the Intent / Description field (e.g. "Create a contact management CRM with quotes...") and click Start the Project. VisiDog immediately establishes the secure connection with the enterprise proxy and starts building the application with AI assistance. L'utilisateur accède ensuite à l'écran Intention du Projet. Il décrit ce que l'application doit accomplir dans le champ Intention / Description (ex: « Créer un CRM de gestion de contacts avec devis... ») et clique sur Démarrer le Projet. VisiDog établit immédiatement la liaison sécurisée avec le proxy d'entreprise et commence la création de l'application assistée par l'IA.

📋 7. Inference Logs, Auditing & Traceability 7. Journaux d'Inférence, Audit & Traçabilité

Under Inference Logs (#logs), administrators maintain real-time oversight of all AI queries routed through the company proxy.

La vue Journaux d'Inférence (#logs) assure une traçabilité complète et en temps réel de toutes les requêtes relayées par le proxy mandataire.

Logged FieldChamp Enregistré DescriptionDescription Compliance ValueValeur de Conformité
Timestamp (UTC) Exact date and millisecond timestamp of the inference call.Horodatage précis à la milliseconde de l'appel d'inférence. Audit Trail / Chronologie légale
User / Collaborator Name and ID of the user or collaborator initiating the inference.Nom et identifiant de l'utilisateur ou collaborateur à l'origine de l'appel. Imputabilité des usages
Provider & Real Model Exact target model executed (e.g. gpt-5.5).Modèle réel effectivement exécuté (ex: gpt-5.5). Vérification contractuelle
Prompt & Output Tokens Token consumption split between prompt context and completion.Décompte précis des tokens en entrée (prompt) et sortie (complétion). Contrôle des coûts d'API
Latency (ms) Round-trip duration between VisiDog proxy and LLM endpoint.Temps d'aller-retour total entre le proxy et le fournisseur. Surveillance des performances SLA
HTTP Status HTTP 200 (Success), 429 (Rate-limited/Quota), or 500 (Provider error).HTTP 200 (Succès), 429 (Dépassement de quota), ou 500 (Erreur fournisseur). Détection proactive d'incidents

⚙️ 8. Quotas, Enforcement & Budget Policies 8. Quotas, Plafonds & Politiques Budgétaires

The Shared company quotas view (#quotas) sets one monthly budget for the selected company environment. All users, profiles and models consume this same budget. It is not an individual allowance or a separate budget per model or profile.

  • Monthly budgets: request count and input + output tokens. A value of 0 means unlimited for that counter. Counters reset at the start of each UTC month. These usage budgets are separate from prepaid credits.
  • Example: a 10,000-request budget is used up by one user making 6,000 requests and another making 4,000, even on different models or profiles.
  • Profile rate limit: requests per minute are counted separately for each user. Users with the same profile do not share this minute counter. Both limits apply.
  • Budget enforcement: when enabled, the proxy reserves estimated input and provider-capped output before admission. Insufficient budget returns HTTP 429; unsupported bounds return HTTP 422. Unknown usage remains reserved. Input is estimated, so this is not an absolute guarantee on provider tokens or billing. When disabled, calls continue beyond the thresholds.
  • Alerts: the notification contact is configured here; thresholds and channels are configured in Alerts & Webhooks.

L’écran Quotas partagés de l’entreprise (#quotas) définit un budget mensuel unique pour l’environnement d’entreprise sélectionné. Tous les utilisateurs, profils et modèles consomment ce même budget. Ce n’est pas une allocation individuelle ni un budget distinct par modèle ou par profil.

  • Budgets mensuels : nombre de requêtes et jetons d’entrée + sortie. La valeur 0 signifie sans limite pour ce compteur. Les compteurs se renouvellent au début de chaque mois UTC. Ces budgets d’usage sont distincts des crédits prépayés.
  • Exemple : un budget de 10 000 requêtes est épuisé par un utilisateur qui en effectue 6 000 et un autre 4 000, même avec des modèles ou profils différents.
  • Débit du profil : les requêtes par minute sont comptées séparément pour chaque utilisateur. Les utilisateurs d’un même profil ne partagent pas ce compteur à la minute. Les deux limites s’appliquent.
  • Application des budgets : si activée, le proxy réserve l’entrée estimée et la sortie plafonnée chez le fournisseur avant l’admission. Un budget insuffisant donne HTTP 429 ; une borne non prise en charge donne HTTP 422. L’usage inconnu reste réservé. L’entrée étant estimée, ce n’est pas une garantie absolue sur les jetons ou la facturation du fournisseur. Si désactivée, les appels continuent au-delà des seuils.
  • Alertes : le contact de notification se règle ici ; les seuils et canaux se règlent dans Alertes & Webhooks.

❓ 9. FAQ & Troubleshooting 9. FAQ & Dépannage Courant

⚠️ User or Collaborator receives HTTP 401 Unauthorized Un collaborateur reçoit une erreur HTTP 401 Unauthorized
Verify in the Users & Licenses table that the user's status is Active, and that their portal session is still open. A deactivated or deleted account immediately loses proxy access.
Vérifiez dans le tableau Collaborateurs & Licences que le compte de l'utilisateur est bien à l'état Actif, et que sa session portail est toujours ouverte. Un compte désactivé ou supprimé perd immédiatement l'accès au proxy.
⚠️ Connection Test Fails in LLM Configuration Le test de connexion échoue dans la configuration LLM
1. Ensure the target API Key is valid and has active billing credits with the provider.
2. Verify that your server's outbound firewall allows HTTPS connections to external provider endpoints.
3. Check that the Target URL does not point to a restricted internal IP or localhost (blocked by anti-SSRF).
1. Assurez-vous que la clé API fournisseur est valide et dispose de crédits de facturation actifs.
2. Vérifiez que le pare-feu sortant de votre serveur autorise les flux HTTPS vers les domaines du fournisseur.
3. Confirmez que l'URL cible ne pointe pas vers une adresse interne ou localhost (bloquée par l'anti-SSRF).
ℹ️ Loss of Administrator 2FA Authenticator Device Perte du smartphone ou de l'application 2FA de l'administrateur
If an enterprise administrator loses access to their authenticator device, the platform super-administrator (God Mode) can reset the 2FA flag on the organization account, allowing the administrator to sign in with their password and reconfigure a new authenticator device.
En cas de perte du terminal d'authentification par un administrateur d'entreprise, le super-administrateur de la plateforme (God Mode) peut réinitialiser le statut 2FA du compte concerné, permettant à l'administrateur de se reconnecter par mot de passe et de ré-associer un nouvel appareil.