Aperçu de la sécurité

En vigueur le [date de publication]

ApplicationTuneCraft : automatisation et nettoyage du site, une application Jira Cloud conçue sur Atlassian Forge
Fiche MarketplacePas encore inscrite. TuneCraft n’est pas encore sur le Marketplace d’Atlassian, et sa clé d’application sera ajoutée ici lorsqu’elle le sera.
Identifiant de l’application Forgeari:cloud:ecosystem::app/facece90-dfd5-4792-9bff-6a5bd061a341
ÉditeurLogiciels Plugincraft inc., société constituée en vertu des lois du Québec, Canada

En bref

  • TuneCraft fonctionne entièrement sur Atlassian Forge. Elle ne déclare aucun accès réseau externe : vos données ne quittent donc pas Atlassian.
  • Jira décide qui peut faire quoi dans Jira. Les pages de l’application lisent et modifient Jira avec les droits Jira propres à la personne. Un changement à la configuration de votre Jira n’est fait que lorsqu’un administrateur Jira le confirme, et les outils de nettoyage sont réservés aux administrateurs Jira. Les tickets que l’application crée sont les avis aux propriétaires, envoyés en leur propre nom par une personne du niveau Gérer; les tickets de la page À faire, créés en tant qu’administrateur Jira qui les confirme; et les alertes, que l’application crée en son propre nom.
  • Pour signaler une vulnérabilité, suivez la Politique de divulgation des vulnérabilités et écrivez à info@plugincraft.ca.
  • Nous répondons aux alertes de sécurité d’Atlassian dans les 8 heures ouvrables et aux demandes de soutien critiques dans les 24 heures, et nous corrigeons les vulnérabilités dans les délais de la politique de correction des bogues de sécurité d’Atlassian pour les applications du Marketplace.
  • Aucun test d’intrusion n’a encore été fait. Nous en prévoyons un, ainsi qu’une prime aux bogues, après l’inscription de l’application sur le Marketplace d’Atlassian.

Signaler une vulnérabilité

Si vous pensez avoir trouvé un problème de sécurité dans TuneCraft, suivez notre Politique de divulgation des vulnérabilités. Elle explique comment signaler, ce qui est visé, comment nous protégeons les chercheurs de bonne foi, et ce que vous pouvez attendre de nous et quand.

Une fois TuneCraft inscrite au Marketplace d’Atlassian, vous pourrez aussi signaler par l’entremise d’Atlassian : le programme de primes aux bogues de sécurité du Marketplace et le programme de divulgation des vulnérabilités (en anglais).

Engagements de réponse

Voici les délais auxquels Plugincraft s’engage. Ils correspondent aux minimums qu’Atlassian fixe aux partenaires du Marketplace dans le programme Atlassian Enterprise Certified, ou les améliorent. Les jours ouvrables vont du lundi au vendredi, et les heures ouvrables sont les heures de la personne-ressource en sécurité : de 8 h à 17 h, heure de l’Est. Un message reçu en dehors des heures ouvrables compte à partir du début de la période ouvrable suivante.

QuoiEngagement
Une alerte de sécurité d’AtlassianNous répondons dans les 8 heures ouvrables.
Une demande de soutien critique (gravité 1 ou 2, voir Réponse aux incidents)Première réponse dans les 24 heures, cinq jours ouvrables par semaine.
Un signalement de vulnérabilité de toute autre provenanceAccusé de réception dans les 2 jours ouvrables.
Un incident de sécurité qui touche des clientsNous avisons Atlassian dans les 24 heures suivant sa découverte.
Le correctif d’une vulnérabilitéDans les délais de la section suivante.

Les signalements de sécurité vont à info@plugincraft.ca. Cette adresse reçoit des messages en tout temps et est consultée chaque jour ouvrable.

Délais de correction

Nous évaluons une vulnérabilité selon son score CVSS et la corrigeons dans le délai de la politique de correction des bogues de sécurité d’Atlassian (en anglais) pour les applications Cloud. Le délai court à partir du jour où nous recevons le signalement, ou du jour où Atlassian nous signale la vulnérabilité par le Marketplace, selon le premier des deux. Nous avons vérifié la politique le 27 octobre 2026. Atlassian peut la modifier, et c’est la politique publiée sur le site d’Atlassian qui s’applique.

GravitéScore CVSSDélai de correction
Critique9,0 ou plus10 jours
Élevée7,0 à 8,94 semaines
Moyenne4,0 à 6,912 semaines
FaibleMoins de 4,025 semaines

Ce sont les délais auxquels Plugincraft s’engage. Nous n’en demandons pas de plus longs. La politique d’Atlassian n’accepte une prolongation que dans des cas limités, par exemple lorsque le correctif dépend d’un changement de la plateforme Atlassian. Si nous devions en demander une, nous le dirions à la personne qui a signalé le problème. Un incident de sécurité a aussi une gravité et des objectifs dans Réponse aux incidents. Lorsque les deux s’appliquent, nous respectons le délai le plus court.

Pratiques de sécurité

Cette section décrit comment nous concevons, exploitons et vérifions TuneCraft. Ce qu’elle dit de l’application provient du code source et de la documentation de l’application. Ce qu’elle dit de la plateforme d’Atlassian provient de la documentation d’Atlassian, avec un lien à l’endroit où elle est utilisée.

Cycle de développement sécurisé

Contrôle d’accès

Minimisation des données

Fonctionne sur Atlassian (aucune sortie de données)

Chiffrement au repos et en transit

Sauvegardes et reprise

Test d’intrusion et primes aux bogues (prévus)

Permissions que l’application demande

Voici les 65 permissions Forge du manifeste de l’application, et à quoi chacune sert. Chaque administrateur Jira qui installe l’application les approuve. L’application demande le strict nécessaire.

PermissionÀ quoi elle sert
read:jira-workVérifier, en tant que la personne, si elle est administratrice Jira ou administratrice de projet. Compter, en tant que la personne, les tickets que trouve maintenant la recherche d’un flux planifié (le décompte approximatif de Jira), et faire vérifier par Jira le JQL d’un flux. Faire vérifier par Jira, depuis la page Optimiser, l’expression Jira d’un validateur qu’Optimiser propose, et lire, en tant que la personne, les noms des statuts qu’un flux nomme par identifiant. Lire la configuration du site que nomment les flux, en tant qu’application ou qu’administrateur Jira; les rapports de l’outil Limites sur les tickets proches des plafonds de Jira, en tant qu’administrateur qui ouvre la page (montrés à lui seul, jamais stockés); les tickets qui ont des pièces jointes, pour l’outil Pièces jointes, et les tickets que trouve une recherche d’Archivage, en tant qu’administrateur Jira qui utilise l’outil (les identifiants des plus volumineux sont conservés, jamais un nom ni un texte); les étiquettes du site, le décompte des tickets qui portent chacune et une recherche des tickets qui portent une étiquette choisie, pour l’outil Étiquettes, en tant qu’administrateur Jira dont la page est ouverte; le décompte des tickets ouverts d’un sprint, pour Laissés de côté, en tant qu’administrateur Jira dont la page est ouverte; l’état du ticket lié à une action À faire; et les champs qu’exige un type de ticket. Les nombres sont conservés; le contenu des tickets ne l’est pas.
write:jira-workCréer des tickets Jira : un avis au propriétaire d’un flux, en tant que la personne qui l’envoie; les actions que crée la page À faire, en tant qu’administrateur Jira qui confirme; les alertes, en tant qu’application (les seules écritures que l’application fait dans Jira en son propre nom), dans le projet et le type de ticket choisis par un administrateur Jira. Aussi, en tant qu’administrateur Jira qui confirme (un filtre, en tant que son propriétaire) : un nouveau propriétaire ou un nouveau nom pour un filtre ou un tableau de bord, chacun avec une annulation; la suppression d’un filtre ou d’un tableau de bord, qui n’en a pas; le JQL d’un filtre réécrit avec l’identifiant d’un champ à la place d’un nom que Jira n’accepte plus, en tant que propriétaire du filtre, lorsque ce propriétaire est la personne qui confirme (prendre un filtre à son propriétaire pour le réparer n’est pas encore offert), avec une annulation; le partage avec n’importe qui sur le Web, avec toute personne connectée ou avec un espace que Jira n’affiche plus, retiré de nombreux filtres et tableaux de bord à la fois, avec une annulation; l’archivage de vieux tickets de l’outil Archivage, que son annulation restaure, et le déplacement de tickets périmés vers un autre statut, qui n’a pas d’annulation; le renommage, la fusion et le retrait d’une étiquette sur les tickets qui la portent, un à la fois et sans les courriels de notification de Jira, de l’outil Étiquettes, avec une annulation pendant 30 jours; la copie, par la page Fusionner des champs, des valeurs d’un champ personnalisé dans un autre du même type, sur les tickets qui en ont une, seulement là où la seconde est vide, un ticket à la fois et sans les courriels de notification de Jira, avec une annulation qui vide le second champ seulement là où il est encore égal au premier; et la suppression de pièces jointes de l’outil Pièces jointes, que Jira ne peut pas rétablir et qui n’a pas d’annulation.
read:jira-user, read:user:jira, read:group:jira, read:avatar:jiraSavoir qui est la personne et à quels groupes elle appartient; chercher des groupes et des personnes par nom; afficher les noms des propriétaires de flux comme Jira les montre; vérifier si les comptes que nomment les flux sont toujours actifs; et, dans la page Groupes, lire les premiers membres des groupes à qui un schéma de permissions accorde quelque chose, ainsi que les noms des groupes. Les noms sont affichés et non stockés.
write:group:jiraRetirer des personnes désactivées d’un groupe, et les y remettre à l’annulation, en tant qu’administrateur Jira qui confirme. TuneCraft ne désactive ni ne supprime jamais un compte.
storage:appLe stockage hébergé Forge (Forge SQL) pour les propres données de l’application.
report:personal-dataSignaler les identifiants de comptes Atlassian que l’application stocke, une fois par cycle de signalement, et savoir quels comptes ont été fermés pour effacer leurs données.
read:license:jiraLire, en tant qu’administrateur Jira, si le forfait Jira du site est Free et le décompte approximatif de ses utilisateurs, pour que les administrateurs n’aient pas à les saisir.
read:issue-type-scheme:jiraLire quels schémas de types de tickets contiennent chaque type et quels espaces utilisent chaque schéma (identifiants et indicateur de schéma par défaut). Lecture seule.
read:workflow:jira, read:workflow-scheme:jira, read:status:jiraLire les workflows avec les clés des règles de leurs transitions, les statuts, ainsi que les schémas de workflow qui contiennent chaque workflow avec le nombre d’espaces qui les utilisent, pour trouver les workflows et les statuts qu’aucun espace n’utilise. Lecture seule. Les réglages d’une règle ne sont pas conservés.
write:workflow:jira, delete:workflow:jira, delete:workflow-scheme:jiraSupprimer un statut, un workflow ou un schéma de workflow que rien n’utilise, en tant qu’administrateur Jira qui confirme, après un fichier d’enregistrement qu’il sauvegarde. Jira n’a pas de corbeille pour ceux-ci.
read:project:jira, read:project-category:jira, read:project.property:jira, read:project-version:jira, read:project.component:jira, read:issue-type:jira, read:issue-type-hierarchy:jiraLire les espaces, leurs catégories, versions et composants, ainsi que les types de tickets, pour les outils Espaces, Schémas et Workflows et pour les appels ci-dessous. Les ensembles de Jira pour ces appels en listent plusieurs ensemble. La lecture hebdomadaire de l’outil Espaces demande aussi le responsable de chaque espace, et ne garde l’identifiant de compte du responsable que tant que Jira dit qu’il est inactif; l’application ne lit aucun rôle par leur entremise.
write:project:jira, delete:project:jira, write:project.avatar:jira, write:project-version:jira, delete:project-version:jira, delete:project.component:jiraArchiver, mettre dans la corbeille de Jira ou restaurer un espace; changer son responsable, son responsable par défaut et sa catégorie; mettre des espaces sur un autre schéma de permissions lorsque des schémas identiques sont fusionnés (une annulation les remet); publier, archiver ou supprimer une version; et supprimer un composant, en tant qu’administrateur Jira qui confirme, avec une annulation lorsque Jira en permet une.
read:screen:jira, read:screen-tab:jira, read:screenable-field:jira, read:screen-scheme:jira, read:issue-type-screen-scheme:jira, read:field-configuration:jira, read:field-configuration-scheme:jira, read:notification-scheme:jira, read:issue-security-scheme:jira, read:issue-security-level:jiraLire les écrans, leurs onglets et leurs champs, les configurations de champs, les schémas et ce qui les utilise, pour trouver ceux que rien n’utilise et compter ce que contient un écran ou un schéma de notification et, pour Laissés de côté, savoir si un espace a des niveaux de sécurité. Lecture seule. Les identifiants et les nombres sont conservés, jamais les noms.
read:field:jira, read:custom-field-contextual-configuration:jira, read:field.option:jiraLire les champs, l’endroit où un champ personnalisé est utilisé (ses contextes, espaces, écrans et onglets) et si un contexte contient une option. Lecture seule. Les identifiants, les nombres et les vrai ou faux sont conservés.
write:field:jira, delete:field:jiraMettre un champ personnalisé dans la corbeille de Jira, le restaurer et supprimer un champ déjà dans la corbeille; et ajouter des espaces à un contexte du champ à garder dans une fusion (une annulation les retire), en tant qu’administrateur Jira qui confirme.
write:field.option:jiraDésactiver ou activer les options du contexte d’un champ à sélection, et créer dans le champ à garder d’une fusion les options qui lui manquent (une annulation les désactive), en tant qu’administrateur Jira qui confirme. TuneCraft ne supprime jamais une option.
write:issue-type-screen-scheme:jira, delete:issue-type-screen-scheme:jiraMettre les espaces d’une copie d’un schéma d’écrans par type de ticket sur le schéma identique que l’administrateur garde, et supprimer la copie restée vide, en tant qu’administrateur Jira qui confirme, après un fichier d’enregistrement qu’il sauvegarde. Les schémas sont prouvés identiques de nouveau avant chaque appel. Un déplacement a une annulation; Jira ne rend pas un schéma supprimé.
write:screenable-field:jira, delete:screenable-field:jiraAjouter le champ à garder d’une fusion à l’onglet de chaque écran qui montre le champ à vider, juste après lui, et, pour l’annulation, le retirer seulement des écrans où TuneCraft l’a ajouté, en tant qu’administrateur Jira qui confirme. Jamais un ticket.
read:project-role:jira, read:application-role:jira, read:permission:jira, read:permission-scheme:jiraLire les rôles de projet, les schémas de permissions et leurs octrois à des groupes, des rôles et des personnes, ainsi que les rôles de chaque espace, pour trouver les rôles et les groupes que rien n’utilise et les personnes désactivées qu’un schéma nomme encore.
delete:project-role:jiraSupprimer un rôle de projet qu’aucun schéma de permissions n’accorde et auquel aucun espace n’a donné d’acteurs, en tant qu’administrateur Jira qui confirme, après un fichier d’enregistrement qu’il sauvegarde.
write:permission:jira, delete:permission:jiraRetirer les octrois d’un rôle des schémas de permissions dans lesquels aucun espace qui utilise le schéma ne donne d’acteurs au rôle, et les remettre à l’annulation. Aussi retirer un octroi qui donne une permission à n’importe qui ou à tous les utilisateurs d’un produit, ou le donner à un groupe ou à un rôle à la place, et le remettre à l’annulation. Le tout en tant qu’administrateur Jira qui confirme. TuneCraft ne change jamais qui est dans un rôle.
delete:permission-scheme:jiraSupprimer la copie d’un schéma de permissions qu’aucun espace n’utilise après que ses espaces ont été placés sur un schéma identique, en tant qu’administrateur Jira qui confirme.
read:board-scope:jira-software, read:board-scope.admin:jira-software, read:sprint:jira-softwareLire, en tant qu’administrateur Jira qui ouvre Tableaux ou Sprints, les tableaux, leur configuration et leur filtre, ainsi que les sprints. Montrés à lui seul, jamais stockés.
write:sprint:jira-software, delete:sprint:jira-software, write:board-scope:jira-softwareRenommer, fermer et supprimer des sprints, ajouter les tickets ouverts d’un sprint qu’elle ferme au prochain sprint futur ou à un nouveau sprint, et supprimer des tableaux orphelins, en tant qu’administrateur Jira qui confirme. Fermer un sprint et en supprimer un n’ont pas d’annulation. Les noms ne sont pas stockés; le registre garde des identifiants, des états et des hachages à clé.
read:audit-log:jiraLire les enregistrements d’audit de Jira, seulement lorsqu’un administrateur Jira appuie sur « Qui l’a fait » dans la page Historique des changements, en tant que cet administrateur, pour les jours qu’il a choisis. Montrés à lui seul et jamais stockés.

Incidents et état du service

La façon dont nous traitons un incident est décrite dans Réponse aux incidents. Une page d’état sera publiée avec la fiche du Marketplace. Les problèmes de Jira ou de Forge eux-mêmes sont signalés sur la page d’état d’Atlassian.