diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index 218922d5bc65e709999a692b114e23b2b5c8fc16..33693dd0e0f73a4b3f9178a2bff77ff3ff8de074 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -1410,6 +1410,9 @@ const connection = Penpal.connectToParent({
       return encodeResponse("200", "", "Document signed");
     },
     // passportUUID - String - passport to sign the vCard
+    // senderEmail - the email address of the sender
+    // attribs - additional attributes, to be added to the vCard. Recognized attribs are:
+    //   - emailService: "GMail", "Outlook 365", ...
     // text, html - String - the text and html part of the email, both optional
     // parts - array of objects, representing the MIME structure in format:
     // {
@@ -1421,7 +1424,7 @@ const connection = Penpal.connectToParent({
     //   body: String if it is a text part (Content-Type = "text/...") or Uint8Array otherwise; filled for leaf MIME nodes
     //   parts: array of instances of the same object; filled for container MIME nodes (Content-Type = "multipart/...")
     // }
-    signVCard: async (passportUUID, senderEmail, text, html, parts = null) => {
+    signVCard: async (passportUUID, senderEmail, attribs, text, html, parts = null) => {
       const authenticationPublicKey = localStorage.getItem(
         "authenticatedIdentity"
       );
@@ -1437,8 +1440,9 @@ const connection = Penpal.connectToParent({
       const messageUUID = makeid();
 
       const vCardAttribs = {
-        passportUUID: passportUUID,
-        messageUUID: messageUUID
+        ...attribs,
+        passportUUID,
+        messageUUID
       };
 
       let vCardImageData;