[mirotalk] - improve privacy policy page: restructure content into clear sections

This commit is contained in:
Miroslav Pejic
2026-04-14 23:47:59 +02:00
parent c3e188115b
commit ede74aea56
8 changed files with 94 additions and 66 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
# ====================================================
# MiroTalk P2P v.1.8.02 - Environment Configuration
# MiroTalk P2P v.1.8.03 - Environment Configuration
# ====================================================
# App environment
+1 -1
View File
@@ -2,7 +2,7 @@
/**
* ==============================================
* MiroTalk P2P v.1.8.02 - Configuration File
* MiroTalk P2P v.1.8.03 - Configuration File
* ==============================================
*
* This file is the central configuration source.
+1 -1
View File
@@ -45,7 +45,7 @@ dependencies: {
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.8.02
* @version 1.8.03
*
*/
+6 -6
View File
@@ -1,12 +1,12 @@
{
"name": "mirotalk",
"version": "1.8.02",
"version": "1.8.03",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mirotalk",
"version": "1.8.02",
"version": "1.8.03",
"license": "AGPL-3.0",
"dependencies": {
"@mattermost/client": "11.5.0",
@@ -18,7 +18,7 @@
"compression": "^1.8.1",
"cors": "^2.8.6",
"crypto-js": "^4.2.0",
"dompurify": "^3.3.3",
"dompurify": "^3.4.0",
"dotenv": "^17.4.2",
"express": "^5.2.1",
"express-openid-connect": "^2.20.1",
@@ -2501,9 +2501,9 @@
}
},
"node_modules/dompurify": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.3.tgz",
"integrity": "sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==",
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.0.tgz",
"integrity": "sha512-nolgK9JcaUXMSmW+j1yaSvaEaoXYHwWyGJlkoCTghc97KgGDDSnpoU/PlEnw63Ah+TGKFOyY+X5LnxaWbCSfXg==",
"license": "(MPL-2.0 OR Apache-2.0)",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "mirotalk",
"version": "1.8.02",
"version": "1.8.03",
"description": "A free WebRTC browser-based video call",
"main": "server.js",
"scripts": {
@@ -53,7 +53,7 @@
"compression": "^1.8.1",
"cors": "^2.8.6",
"crypto-js": "^4.2.0",
"dompurify": "^3.3.3",
"dompurify": "^3.4.0",
"dotenv": "^17.4.2",
"express": "^5.2.1",
"express-openid-connect": "^2.20.1",
+1 -1
View File
@@ -109,7 +109,7 @@ let brand = {
},
about: {
imageUrl: '../images/mirotalk-logo.gif',
title: 'WebRTC P2P v1.8.02',
title: 'WebRTC P2P v1.8.03',
html: `
<button
id="support-button"
+2 -2
View File
@@ -15,7 +15,7 @@
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.8.02
* @version 1.8.03
*
*/
@@ -14966,7 +14966,7 @@ function showAbout() {
Swal.fire({
background: swBg,
position: 'center',
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.8.02',
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.8.03',
imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about,
customClass: { image: 'img-about' },
html: `
+80 -52
View File
@@ -59,58 +59,86 @@
<h1 class="mt-0 mb-16 reveal-from-bottom" data-reveal-delay="150">
Privacy Policy
</h1>
<p class="mt-0 mb-32 reveal-from-bottom" data-reveal-delay="300">
We limit ourselves to collect the smallest amount of user data that we need
in order to create a seamless experience when using
<strong>MiroTalk</strong>. <br /><br />
This data includes mainly:
<a
href="https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate"
target="_blank"
>RTCICECandidates</a
>
&
<a
href="https://developer.mozilla.org/en-US/docs/Web/API/RTCSessionDescription"
target="_blank"
>RTCSessionDescription</a
>
which is needed to establish the video call using WebRTC. RTCICECandidates,
RTCSessionDescription is not stored in any persistent database, it's removed
from the server as soon as the user leaves the call by closing the browser
window. The media streams are encrypted using Secure Real-time Transport
Protocol (SRTP).
<br /><br />
For Chat messaging and File Sharing, we using WebRTC's
<a
href="https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel"
target="_blank"
>RTCDataChannel</a
>
to transfer data directly from one peer to another. With RTCDataChannel, all
data is secured with
<a
href="https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security"
target="_blank"
>Datagram Transport Layer Security</a
>
(DTLS). DTLS is a derivative of SSL, meaning your data will be as secure as
using any standard SSL-based connection.
<br /><br />
If you record a meeting, the recording of the meeting is temporarily stored
on <strong>Your browser</strong>
<a
href="https://developer.mozilla.org/en-US/docs/Web/API/Blob"
target="_blank"
>Blob</a
>, then will be downloaded on Your PC/Mobile Device. <br /><br />
<strong>MiroTalk</strong> is purely peer-to-peer, which means the user's
video, audio, chat and file is not sent to our server at all. <br /><br />
We use Umami to track aggregated usage statistics in order to improve our
service. The maker of
<strong>MiroTalk</strong> has no intention of using personally or selling
any of the above-mentioned data.
</p>
<div class="mt-0 mb-32 reveal-from-bottom" data-reveal-delay="300">
<p>
<strong>Minimal Data Collection</strong><br />
We collect only the minimal data required to provide real-time
communication functionality in <strong>MiroTalk</strong>.
</p>
<p>
<strong>Signaling Data</strong><br />
<strong>MiroTalk</strong> is a real-time peer-to-peer WebRTC
application. Establishing a connection requires temporary signaling data
such as
<a
href="https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate"
target="_blank"
>RTCICECandidates</a
>
and
<a
href="https://developer.mozilla.org/en-US/docs/Web/API/RTCSessionDescription"
target="_blank"
>RTCSessionDescription</a
>. This data is used only to negotiate the connection between peers.
</p>
<p>
<strong>No Persistent Storage</strong><br />
This signaling data is not stored in any persistent database and is
discarded immediately after the session ends or the user leaves the
call. <strong>MiroTalk</strong> does not retain chat, audio, video, or
file transfer content.
</p>
<p>
<strong>Encryption</strong><br />
Media streams are transmitted directly between peers using WebRTC and
are encrypted using
<a
href="https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol"
target="_blank"
>Secure Real-time Transport Protocol</a
>
(SRTP). Data channels used for chat and file sharing via
<a
href="https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel"
target="_blank"
>RTCDataChannel</a
>
are secured using
<a
href="https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security"
target="_blank"
>Datagram Transport Layer Security</a
>
(DTLS).
</p>
<p>
<strong>Peer-to-Peer Architecture</strong><br />
<strong>MiroTalk</strong> does not act as an intermediary for user
communications. Audio, video, chat messages, and file transfers are
exchanged directly between users and are not routed through or stored on
<strong>MiroTalk</strong> servers.
</p>
<p>
<strong>Recordings</strong><br />
Meeting recordings (if enabled by the user) are temporarily stored in
the user's browser as a
<a
href="https://developer.mozilla.org/en-US/docs/Web/API/Blob"
target="_blank"
>Blob</a
>
and downloaded locally to the user's device.
<strong>MiroTalk</strong> does not have access to or store these
recordings.
</p>
<p>
<strong>Analytics</strong><br />
We use Umami to collect aggregated, non-personal usage statistics to
improve the service. This data is not used to identify users and is not
sold or shared with third parties.
</p>
</div>
<div class="reveal-from-bottom" data-reveal-delay="450">
<a
class="button button-custom button-wide-mobile br-6 pulse"