en
Injectez des filigranes uniques dans votre code source pour suivre la propriété, tracer les fuites et prouver la paternité. Chaque copie reçoit une signature structurelle unique basée sur un identifiant de destinataire – le tout gratuit, privé et aucune inscription requise.
Inject unique watermarks into your source code to track ownership and trace leaks. Each watermarking technique produces functionally identical code with a unique structural signature tied to a recipient ID.
Watermarking Techniques
Paste your source code above, set a recipient ID, and click Apply Watermark to inject unique structural watermarks.
Each recipient gets code with a unique combination of declaration ordering, comment markers, variable name suffixes, and property ordering.
Privacy Guarantee
All watermark injection runs entirely in your browser. Your code and recipient IDs never leave your device — no uploads, no API calls, no tracking.
- Empreinte digitale de code unique : chaque copie filigranée reçoit une signature structurelle unique basée sur l'identifiant du destinataire. Le même code source filigrané pour différents destinataires produit un code fonctionnellement identique avec un ordre de déclaration, des noms de variables et des marqueurs de commentaires distincts.
- Réorganisation des déclarations : mélangez de manière déterministe les déclarations de fonctions, les déclarations de variables, les méthodes de classe et les instructions d'importation à l'aide d'un algorithme basé sur les graines. Chaque destinataire reçoit un ordre de déclaration unique qui préserve toute la sémantique du code.
- Noms spécifiques au destinataire : ajoutez un suffixe basé sur le destinataire aux noms de variables, de fonctions et de classes. Le suffixe est dérivé de l'identifiant du destinataire, ce qui permet aux copies filigranées de remonter jusqu'à leur source grâce à l'inspection de l'identifiant.
- Injection de commentaires furtifs : injectez des marqueurs de commentaires uniques avec des identifiants de destinataire, des horodatages et des sommes de contrôle de hachage à des positions stratégiques dans le code. Plusieurs styles de commentaires sont utilisés pour éviter la détection par les outils de suppression automatisés.
Qu’est-ce que le filigrane de code ?
Le filigrane de code intègre des identifiants uniques et invisibles dans le code source sans modifier son comportement. Contrairement au cryptage ou à l’obscurcissement qui visent à masquer le code, le filigrane vise à rendre chaque copie distribuée identifiable de manière unique. Les techniques incluent la réorganisation des déclarations, l'insertion de commentaires uniques, le renommage des variables avec des suffixes spécifiques au destinataire et l'application de modèles d'espaces déterministes.
Comment fonctionne le brassage déterministe ?
L'outil utilise un algorithme de mélange déterministe basé sur des graines. La valeur de départ combinée à l'ID du destinataire produit un ordre prévisible mais unique des déclarations. Cela signifie que le même identifiant de destinataire produit toujours le même filigrane, ce qui rend la vérification cohérente. Différents identifiants de destinataire produisent des classements différents, permettant à chaque copie distribuée d'être identifiée de manière unique.
Les copies filigranées sont-elles détectables ?
Le code filigrané est fonctionnellement identique à l’original. Les changements sont structurels : ordre de déclaration, noms de variables, présence de commentaires et ordre des propriétés. Un outil automatisé pourrait potentiellement détecter des différences en comparant deux copies, mais sans accès à l'original ou à une autre copie filigranée, le filigrane est invisible pour une inspection occasionnelle.
Combinaison avec d'autres protections
Le filigrane fonctionne bien avec d’autres techniques de protection. Vous pouvez masquer le code après le filigrane pour protéger la logique, mais sachez que la minification et le renommage des variables peuvent masquer certains indicateurs de filigrane. Pour de meilleurs résultats, conservez une cartographie des copies originales filigranées aux côtés de toutes les versions de distribution obscurcies.
Foire aux questions
Le filigrane de code intègre des identifiants uniques dans le code source sans modifier sa fonctionnalité. Chaque copie filigranée porte une signature structurelle unique (ordre de déclaration, noms de variables et marqueurs de commentaires) qui peut être retracée jusqu'au destinataire.
L'outil utilise un algorithme de mélange déterministe basé sur des graines. La graine et l'ID du destinataire produisent ensemble un ordre prévisible des déclarations de fonction, des déclarations de variables et des méthodes de classe. Le même identifiant de destinataire produit toujours le même filigrane.
Oui. Le filigrane ne modifie que les aspects structurels : ordre de déclaration, noms de variables, commentaires et espaces. La logique et le comportement restent identiques. JavaScript et CSS sont tous deux résilients à ces changements structurels.
Les filigranes sont invisibles lors d’une utilisation normale. Les miniificateurs peuvent supprimer les suffixes et les commentaires des noms de variables, mais la réorganisation des déclarations est plus résiliente. Pour une traçabilité maximale, utilisez plusieurs techniques ensemble.
L'ID du destinataire génère des modèles de filigrane uniques. Différents identifiants produisent différents ordres de déclaration, suffixes de nom de variable, marqueurs de commentaires et modèles d'espaces. Lorsqu'une fuite se produit, le destinataire peut être identifié en analysant le code filigrané.
Il est préférable d’appliquer le filigrane au code source lisible avant la minification. Si vous masquez après le filigrane, les noms de variables et les commentaires peuvent être supprimés. La réorganisation des déclarations est plus résiliente et peut survivre à une minification de base.
Oui. L'outil prend en charge le filigrane CSS via la réorganisation des propriétés : les déclarations de règles CSS sont triées par ordre alphabétique différent selon le destinataire. Des marqueurs de commentaires et des modèles d’espaces peuvent également être appliqués.
Oui, 100 % sûr. Toute injection de filigrane s’exécute entièrement dans votre navigateur. Votre code source et vos identifiants de destinataire ne quittent jamais votre appareil et ne sont jamais téléchargés sur un serveur.