forked from Amal-David/chatgpt-sensitive-data-blocker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontent.js
29 lines (25 loc) · 1.48 KB
/
content.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const sensitiveDataRegex = /^(?:(?:\+1[2-9]\d{9}|\+44\d{10}|\+61\d{9}|\+91[6-9]\d{9}|\+86\d{11})|(?:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}))$/;
const sensitiveDataMobile = /(?:(?:\+\d{1,2}\s?)?(?:\d{10}|\d{2}\s?\d{3}\s?\d{3}\s?\d{2}))/;
const sensitiveDataEmail = /(?:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/;
function monitorChatTextarea() {
const chatTextarea = document.querySelector('textarea');
// console.log('Text entered in chatTextarea: without chat extraction', chatTextarea);
if (chatTextarea) {
chatTextarea.addEventListener('input', () => {
const text = chatTextarea.value;
// console.log('Text entered in chatTextarea:', text);
const sensitiveDataMatchesMobile = text.match(sensitiveDataMobile);
const sensitiveDataMatchesEmail = text.match(sensitiveDataEmail);
if (sensitiveDataMatchesMobile) {
// console.log('Sensitive mobile number has been entered:', sensitiveDataMatchesMobile[0]);
alert('Caution! You have entered a phone number. Please avoid sharing sensitive information like phone numbers in the chat');
} else if (sensitiveDataMatchesEmail) {
// console.log('Sensitive email data has been entered:', sensitiveDataMatchesEmail[0]);
alert('Warning! You have entered an email address. To protect your privacy, please refrain from sharing sensitive information like email addresses in the chat');
}
});
} else {
setTimeout(monitorChatTextarea, 500);
}
}
monitorChatTextarea();