Des nœuds dédiés, des limites claires

Vos certificats, sur votre machine

OSXBuild vous fournit une machine physique entière, pas une machine virtuelle. Le processeur, la mémoire et le stockage ne sont pas partagés avec d’autres clients. Vous choisissez où stocker vos certificats de signature, votre code source et vos artefacts de build, qui peut y accéder et comment les exporter.

Vérifiez d’abord le mode d’isolation, puis configurez la signature et les accès. Ne mettez jamais de clé privée ni de mot de passe dans un ticket.

Commençons par les ressources

Une machine entière, aucun build d’un autre client

Vous disposez d’un nœud physique dédié, pas d’un créneau sur un hôte partagé. Pendant toute la durée de la location, le Mac mini est réservé à vos charges de travail.

Processeur et mémoire dédiés

Aucun autre client n’exécute de compilation, de tests ou d’inférence sur cette machine. Vos processus de build utilisent ses ressources sans partager le processeur ni la mémoire avec d’autres clients.

Le nombre de tâches exécutées en parallèle sur un même nœud reste déterminé par votre runner et vos scripts de build.

Vous gérez le stockage et le cache

Votre code source, DerivedData, les caches de dépendances et les fichiers IPA exportés restent sur votre nœud. Ils ne risquent pas d’être écrasés par les tâches d’un autre client, et vous n’avez pas à confier vos fichiers de signature à une file de build partagée.

Un cache n’est pas une sauvegarde. Conservez ailleurs une copie de vos artefacts importants et des éléments nécessaires à leur restauration.

L’isolation physique ne remplace pas la gestion des accès

Une machine dédiée isole les ressources entre clients. Au sein de votre équipe, attribuez les droits par projet. Utilisez un compte et des clés dédiés pour les builds courants, et ne stockez pas d’identifiants administrateur dans vos pipelines.

L’interface graphique macOS et la ligne de commande sont entièrement disponibles ; vous définissez les accès.

Le code et les artefacts de build présents sur la machine vous appartiennent ; nous ne consultons pas ces contenus métier. Pour obtenir de l’aide au dépannage, transmettez uniquement les extraits d’erreur nécessaires. Avant l’envoi, supprimez les jetons, les éléments de signature et les secrets du projet.

À la fin de la location

Effacement du disque, puis réinstallation

Le répertoire de travail du client précédent n’est jamais remis tel quel au suivant. La récupération comprend l’effacement sécurisé du disque et la réinstallation du système.

  1. Sauvegardez vos données

    Avant la fin de la location, exportez le code source, les fichiers IPA, la configuration et les éléments nécessaires à la restauration de la signature que vous souhaitez conserver. Vérifiez que les fichiers s’ouvrent dans un autre environnement ; ne vous contentez pas de constater que la commande de copie a été exécutée.

  2. Le nœud est récupéré

    À la fin de la location, une fois le nœud récupéré, le disque est effacé de manière sécurisée. La récupération n’est pas un service de stockage temporaire : ne comptez pas sur le nœud pour retrouver vos fichiers après l’échéance.

  3. Réinstallation avant remise en service

    Le nœud n’est remis à un autre client qu’après la réinstallation du système. Le répertoire de votre projet, les caches de build et les actifs de signature ne sont pas conservés dans l’environnement du nouveau client.

N’attendez pas votre dernier archive pour préparer la transition

Ajoutez la vérification des sauvegardes à la checklist de passation du projet. Révoquez aussi les accès aux dépôts, les enregistrements de runners et les jetons de distribution dont le nœud n’aura plus besoin. L’effacement du disque local ne révoque pas les autorisations encore valides dans les systèmes externes.

Considérez la signature comme un droit de publication

Un certificat peut signer ; cela ne signifie pas que tout le monde peut l’emporter

Accordez à vos tâches de build uniquement les droits indispensables à la publication. Ces trois mesures sont bien plus efficaces que de cacher des fichiers dans un dossier discret.

Trousseau dédié, verrouillé après usage

Créez un trousseau dédié au compte de build. Déverrouillez-le uniquement avant l’étape de signature, puis verrouillez-le à nouveau à la fin du pipeline. Prévoyez aussi un nettoyage en cas d’échec afin qu’une sortie inattendue ne laisse pas le trousseau accessible.

Récupérez le mot de passe de déverrouillage dans un coffre de secrets contrôlé ; ne l’affichez pas comme paramètre de commande.

Utilisez une clé API pour les chargements

Pour charger des artefacts sur App Store Connect, utilisez une clé API dont les droits correspondent à la tâche, plutôt que d’enregistrer le mot de passe du compte dans un script d’automatisation. Stockez le fichier de clé séparément du code du projet et mettez à jour la configuration de build lors de sa rotation.

Ne placez pas le contenu de la clé dans les journaux, les artefacts de build ou les captures d’écran d’erreur.

Pas de fichier .p12 dans un dépôt partagé

Ne validez pas de fichier .p12 contenant une clé privée et ne stockez pas le mot de passe d’exportation dans le même dépôt. Avec Fastlane match, gérez séparément les éléments chiffrés et les identifiants de déchiffrement, et limitez l’accès en lecture au dépôt de signature.

En cas de commit accidentel, évaluez la révocation et la rotation des clés : supprimer le fichier actuel ne suffit pas à effacer son historique.

Dernière étape : verrouiller le trousseau de build

La commande ci-dessous utilise un chemin de trousseau donné en exemple. Remplacez-le par le nom réel et ajoutez la même opération de nettoyage à la procédure de fin de pipeline.

security lock-keychain "$HOME/Library/Keychains/build.keychain-db"
Deux accès, deux protections

Le portail gère les commandes, SSH gère la machine

Les identifiants du portail et les clés de connexion au nœud ont des rôles différents. Ne les réutilisez pas et ne les confiez pas à une tâche qui n’a pas besoin de ces droits.

Portail et e-mail

Définissez un mot de passe propre au portail et sécurisez la boîte e-mail qui reçoit les messages de connexion et de vérification. Connectez-vous uniquement depuis un appareil de confiance et ne saisissez pas vos identifiants sur une page transmise par quelqu’un d’autre.

Vérifiez les informations de livraison, l’état de la commande et l’historique des opérations dans le portail. Si vous constatez un changement inattendu, notez le numéro de commande et l’heure, puis ouvrez un ticket. N’ajoutez pas d’identifiants complets à votre message.

Se connecter au portail

SSH et accès de l’équipe

Connectez-vous avec une clé publique SSH et gardez la clé privée sur un appareil local sécurisé ou dans le coffre d’identifiants de votre CI. Utilisez une clé distincte pour chaque membre et chaque pipeline afin de pouvoir la révoquer individuellement ; ne partagez pas une clé privée impossible à attribuer.

Vérifiez que la connexion par clé fonctionne et qu’une méthode d’accès de secours est disponible avant de modifier les paramètres de connexion par mot de passe et de port. Retirez rapidement les autorisations d’un membre qui quitte l’équipe ou d’un runner retiré du service.

Consulter le guide de connexion et de migration

Des opérations traçables, des journaux expurgés

Associez chaque publication à une révision du code, à un numéro de pipeline et à une version de l’artefact, et limitez l’accès aux journaux de build. Si vous demandez de l’aide, indiquez l’heure de l’erreur et joignez les extraits pertinents de fin de journal ; supprimez les variables d’environnement, les jetons d’accès et les URL de dépôt contenant des identifiants.

Facturation et données machine : deux traitements distincts

OSXBuild ne conserve pas votre numéro de carte

Toutes les commandes sont facturées en dollars américains (USD). Seuls les deux modes de paiement ci-dessous sont acceptés. Les options effectivement disponibles sont celles indiquées par l’interface de paiement au moment du règlement.

Visa / Mastercard / Amex

Les paiements par carte sont traités par Stripe ; OSXBuild ne stocke pas les numéros de carte. Les commandes conservent les informations de paiement nécessaires à la livraison et au rapprochement, sans collecter de numéro de carte pour l’assistance technique.

En cas de problème de paiement, indiquez simplement le numéro de commande, l’heure du paiement et le message d’erreur affiché.

USDT-TRC20

Utilisez uniquement les informations de paiement affichées en temps réel sur la page de règlement. Avant le transfert, vérifiez le réseau, le montant et les coordonnées du bénéficiaire. Ne remplacez pas les informations de la commande en cours par celles d’une ancienne capture d’écran ou d’un e-mail reçu d’un tiers.

Pour nous aider à rapprocher une transaction, fournissez son identifiant ; ne transmettez ni clé privée de portefeuille ni élément de récupération.

Consultez les factures, les renouvellements et l’état des paiements dans le portail. Ne communiquez jamais votre numéro de carte complet, son cryptogramme ni une clé privée à quiconque prétend en avoir besoin pour résoudre un problème de paiement.

Votre demande entre de bonnes mains

Signalez les failles, jamais les secrets

Pour signaler un problème de sécurité, un accès anormal ou une fuite présumée d’identifiants, utilisez l’adresse e-mail du support ou un ticket dans le portail après connexion. Il n’existe pas d’adresse e-mail dédiée aux signalements de sécurité.

Quatre informations à inclure dans votre premier signalement

  • Élément concerné : Chemin de la page, nœud ou numéro de commande concerné ; n’incluez pas de mot de passe d’accès.
  • Déroulement : Étapes minimales pour reproduire le problème, résultat attendu et résultat obtenu.
  • Repère temporel : Date et heure de l’incident, avec le fuseau horaire, pour faciliter la vérification des opérations.
  • Éléments expurgés : Extrait d’erreur ou capture d’écran où les informations sensibles sont masquées ; ne joignez ni clé privée ni fichier de signature complet.

Choisissez un seul canal

Si vous n’avez pas encore passé commande ou ne pouvez pas vous connecter, contactez-nous par e-mail. Pour une commande existante, privilégiez un ticket afin de le relier au nœud et aux informations de livraison.

support@osxbuild.com

Si vous pensez qu’une clé a été compromise, révoquez les autorisations concernées et remplacez les identifiants avant d’envoyer votre signalement. Pour vérifier le problème, n’utilisez que des ressources auxquelles vous êtes autorisé à accéder. Ne consultez pas les données d’autres clients et n’effectuez pas de tests destructifs.

Pour votre prochain build, des limites claires

Une machine entière vous est réservée et vous gérez vos actifs de signature. Choisissez votre configuration, puis intégrez les clés, les sauvegardes et la checklist de récupération à votre processus de build.