diff --git a/public/index.html b/public/index.html
index 823a2908..d0c86602 100644
--- a/public/index.html
+++ b/public/index.html
@@ -375,40 +375,40 @@ Handles plural moral values without imposing hierarchy—facilitates human judgm
-
-
-
-Additional case studies and research findings documented in technical papers
+
+
+
+
+
+ Help us reach the right people.
+
+
+ If you know researchers, implementers, or leaders who need structural AI governance solutions, share this with them.
-
Browse Case Studies →
-
+
+
+ Copy Link
+
+
+ Email
+
+
+ LinkedIn
+
+
-
@@ -418,6 +418,8 @@ Additional case studies and research findings documented in technical papers
+
+
diff --git a/public/js/share-cta.js b/public/js/share-cta.js
new file mode 100644
index 00000000..8fc4fd59
--- /dev/null
+++ b/public/js/share-cta.js
@@ -0,0 +1,76 @@
+/**
+ * Share CTA functionality
+ * Professional, quiet sharing mechanism
+ * CSP-compliant (no inline handlers)
+ */
+
+(function() {
+ 'use strict';
+
+ // Wait for DOM to be ready
+ if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', initShare);
+ } else {
+ initShare();
+ }
+
+ function initShare() {
+ // Copy link to clipboard
+ const copyButtons = document.querySelectorAll('[data-action="copy-link"]');
+ copyButtons.forEach(button => {
+ button.addEventListener('click', async () => {
+ const url = window.location.href;
+
+ try {
+ await navigator.clipboard.writeText(url);
+
+ // Visual feedback
+ const originalText = button.textContent;
+ const originalClasses = button.className;
+
+ button.textContent = 'Link Copied';
+ button.className = 'bg-green-600 hover:bg-green-700 text-white px-6 py-2.5 rounded-lg font-medium transition-colors';
+
+ setTimeout(() => {
+ button.textContent = originalText;
+ button.className = originalClasses;
+ }, 2000);
+ } catch (err) {
+ console.error('Failed to copy link:', err);
+ // Fallback: show alert with URL
+ alert('Copy this link: ' + url);
+ }
+ });
+ });
+
+ // Email share
+ const emailButtons = document.querySelectorAll('[data-action="email-share"]');
+ emailButtons.forEach(button => {
+ button.addEventListener('click', () => {
+ const url = window.location.href;
+ const subject = encodeURIComponent('Thought you might find this useful');
+ const body = encodeURIComponent(
+ 'I thought this might be relevant to your work:\n\n' +
+ 'Tractatus - AI Safety Framework\n' +
+ url + '\n\n' +
+ 'It addresses structural AI governance through architectural constraints.'
+ );
+
+ window.location.href = `mailto:?subject=${subject}&body=${body}`;
+ });
+ });
+
+ // LinkedIn share
+ const linkedinButtons = document.querySelectorAll('[data-action="linkedin-share"]');
+ linkedinButtons.forEach(button => {
+ button.addEventListener('click', () => {
+ const url = encodeURIComponent(window.location.href);
+ window.open(
+ `https://www.linkedin.com/sharing/share-offsite/?url=${url}`,
+ '_blank',
+ 'width=600,height=600'
+ );
+ });
+ });
+ }
+})();
diff --git a/public/locales/de/homepage.json b/public/locales/de/homepage.json
index cf33318c..36b2421c 100644
--- a/public/locales/de/homepage.json
+++ b/public/locales/de/homepage.json
@@ -103,6 +103,13 @@
"cta": "Fallstudien durchsuchen →"
}
},
+ "share_cta": {
+ "heading": "Helfen Sie uns, die richtigen Leute zu erreichen.",
+ "description": "Wenn Sie Forscher, Implementierer oder Führungskräfte kennen, die strukturelle KI-Governance-Lösungen benötigen, teilen Sie dies mit ihnen.",
+ "copy_link": "Link kopieren",
+ "email": "E-Mail",
+ "linkedin": "LinkedIn"
+ },
"footer": {
"about_heading": "Tractatus Framework",
"about_text": "Architektonische Beschränkungen für KI-Sicherheit, die menschliche Entscheidungsfreiheit durch strukturelle, nicht aspirationale, Garantien wahren.",
diff --git a/public/locales/en/homepage.json b/public/locales/en/homepage.json
index 6398f2aa..fcdb48ae 100644
--- a/public/locales/en/homepage.json
+++ b/public/locales/en/homepage.json
@@ -103,6 +103,13 @@
"cta": "Browse Case Studies →"
}
},
+ "share_cta": {
+ "heading": "Help us reach the right people.",
+ "description": "If you know researchers, implementers, or leaders who need structural AI governance solutions, share this with them.",
+ "copy_link": "Copy Link",
+ "email": "Email",
+ "linkedin": "LinkedIn"
+ },
"footer": {
"about_heading": "Tractatus Framework",
"about_text": "Architectural constraints for AI safety that preserve human agency through structural, not aspirational, enforcement.",
diff --git a/public/locales/fr/homepage.json b/public/locales/fr/homepage.json
index bd8ae3d3..e3badfd5 100644
--- a/public/locales/fr/homepage.json
+++ b/public/locales/fr/homepage.json
@@ -103,6 +103,13 @@
"cta": "Parcourir les Études de Cas →"
}
},
+ "share_cta": {
+ "heading": "Aidez-nous à atteindre les bonnes personnes.",
+ "description": "Si vous connaissez des chercheurs, des implémenteurs ou des dirigeants qui ont besoin de solutions de gouvernance structurelle de l'IA, partagez ceci avec eux.",
+ "copy_link": "Copier le lien",
+ "email": "E-mail",
+ "linkedin": "LinkedIn"
+ },
"footer": {
"about_heading": "Tractatus Framework",
"about_text": "Contraintes architecturales pour la sécurité de l'IA qui préservent l'autonomie humaine par des garanties structurelles, et non aspirationnelles.",