1<!DOCTYPE html> 2<html lang='en'> 3<head> 4<meta charset='utf-8'> 5<meta content='IE=edge' http-equiv='X-UA-Compatible'> 6<meta content='width=device-width, initial-scale=1' name='viewport'> 7<meta content='' name='description'> 8<meta content='' name='keywords'> 9<meta content='SIGNSTREAM.net' name='author'> 10<title> 11SignStream.NET 12| Stream Your Signs 13</title> 14<link href='https://app.signstream.net/assets/apple-touch-icon-a35135f5ef18eee007ccc7fa7cd7aad3eeff807151b9b4ff7000d114762ee4d8.png ' rel='aple-touch-icon' sizes='180x180'> 15<link href='https://app.signstream.net/assets/favicon-32x32-033375a14a8deb6898c341dbd357da758a402c77f9e3c492fa0d1fc20b183ade.png ' rel='icon' sizes='32x32' type='image/png'> 16<link href='https://app.signstream.net/assets/favicon-194x194-e4131b169b175cc6f7de0dbca8c9efccc0353790ec54d7ffc91692bb4b2feb7e.png ' rel='icon' sizes='194x194' type='image/png'> 17<link href='https://app.signstream.net/assets/android-chrome-192x192-7f0a0e46fd5eb26ff899efe45bb2402fa71cf850f3680bfeff854fc24d48edc5.png' rel='icon' sizes='192x192' type='image/png'> 18<link href='https://app.signstream.net/assets/favicon-16x16-773b19c6d559238b6eafc236378d9afebc0ccd013161c014022a3ef0773dded5.png ' rel='icon' sizes='16x16' type='image/png'> 19<link color='#5abfad' href='https://app.signstream.net/assets/safari-pinned-tab-3f761bc1857d3ea37b71d56940d92462d706a4cecf1a562eb1b91098d770e310.svg' rel='mask-icon'> 20<meta content='SignStream.net' name='apple-mobile-web-app-title'> 21<meta content='SignStream.net' name='application-name'> 22<meta content='#da532c' name='msapplication-TileColor'> 23<meta content='https://app.signstream.net/assets/mstile-144x144-ffbff4bdbfd963984c8e99fbc7ce10ab8a7232c2e5884bf4c226d5b0d12a3723.png' name='msapplication-TileImage'> 24<meta content='#ffffff' name='theme-color'> 25<link rel="shortcut icon" type="image/x-icon" href="/assets/favicon-033375a14a8deb6898c341dbd357da758a402c77f9e3c492fa0d1fc20b183ade.png" /> 26<link href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css' id='bootstrap-css' rel='stylesheet'> 27<link href='//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' id='bootstrap-css' rel='stylesheet'>
28<script src='//code.jquery.com/jquery-1.11.1.min.js'></script>
vendor: 1 bytes, line 28
28
29<script src='//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js'></script>
vendor: 1 bytes, line 29
29
30<script src='https://cdn.tailwindcss.com'></script>
30 31<style> 32 .panel-login { 33 34 } 35 .panel-login>.panel-heading { 36 color: #00415d; 37 background-color: #fff; 38 border-color: #fff; 39 text-align:center; 40 } 41 .panel-login>.panel-heading a{ 42 text-decoration: none; 43 color: #666; 44 font-weight: bold; 45 font-size: 15px; 46 -webkit-transition: all 0.1s linear; 47 -moz-transition: all 0.1s linear; 48 transition: all 0.1s linear; 49 } 50 .panel-login>.panel-heading a.active{ 51 color: #029f5b; 52 font-size: 18px; 53 } 54 .panel-login>.panel-heading hr{ 55 margin-top: 10px; 56 margin-bottom: 0px; 57 clear: both; 58 border: 0; 59 height: 1px; 60 background-image: -webkit-linear-gradient(left,rgba(0, 0, 0, 0),rgba(0, 0, 0, 0.15),rgba(0, 0, 0, 0)); 61 background-image: -moz-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0)); 62 background-image: -ms-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0)); 63 background-image: -o-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0)); 64 } 65 66 .btn-login { 67 background-color: #59B2E0; 68 outline: none; 69 color: #fff; 70 font-size: 14px; 71 height: auto; 72 font-weight: normal; 73 padding: 14px 0; 74 text-transform: uppercase; 75 border-color: #59B2E6; 76 } 77 .btn-login:hover, 78 .btn-login:focus { 79 color: #fff; 80 background-color: #53A3CD; 81 border-color: #53A3CD; 82 } 83 .forgot-password { 84 text-decoration: underline; 85 color: #888; 86 } 87 .forgot-password:hover, 88 .forgot-password:focus { 89 text-decoration: underline; 90 color: #666; 91 } 92 93 .btn-register { 94 background-color: #1CB94E; 95 outline: none; 96 color: #fff; 97 font-size: 14px; 98 height: auto; 99 font-weight: normal; 100 padding: 14px 0; 101 text-transform: uppercase; 102 border-color: #1CB94A; 103 } 104 .btn-register:hover, 105 .btn-register:focus { 106 color: #fff; 107 background-color: #1CA347; 108 border-color: #1CA347; 109 } 110 body{ 111 background-repeat: no-repeat; 112 background-size: 100% 100%; 113 } 114 html { 115 height: 100% 116 } 117 118 119 120 .tv_area_sm{ 121 margin-top: 0px; 122 margin-bottom: 50px; 123 124 } 125 .tv_area img,.tv_area_sm img{ 126 width:100%; 127 position: relative; 128 left: 0; 129 top: 0px; 130 131 } 132 .under{ 133 position:absolute; 134 left:40px; 135 top:70px; 136 z-index:0; 137 } 138 .over{ 139 position:absolute; 140 left:27px; 141 top:60px; 142 z-index:1; 143 } 144 .main_area { 145 padding-top: 90px; 146 } 147 .content_area{ 148 background-color: rgba(0, 0, 0, 0.6); 149 min-height:100vh; 150 151 } 152 153 .footer { 154 position: absolute; 155 right: 0; 156 bottom: 0; 157 left: 0; 158 padding: 1rem; 159 background-color: rgba(150, 150, 150, 0.7); 160 text-align: center; 161 } 162 .footer_sm { 163 padding: 1rem; 164 background-color: rgba(150, 150, 150, 0.7); 165 text-align: center; 166 } 167 168 .transition-reverse-plus { 169 transform: translateX(100%); 170 } 171 172 .transition-reverse-minus { 173 transform: translateX(-100%); 174 } 175 176 @media (max-width: 768px) { 177 .transition-reverse-plus { 178 transform: translateX(0%); 179 } 180 181 .transition-reverse-minus { 182 transform: translateX(-0%); 183 } 184 } 185</style> 186
187<script>
vendor: 345 bytes, lines 187-193
187 188 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 189 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 190 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 191 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 192 193 ga('create', '
193UA-93921256-1
vendor: 39 bytes, lines 193-195
193', 'auto'); 194 ga('send', 'pageview'); 195
196</script>
196 197 198<!-- Google Code for try for free Conversion Page -->
199<script type="text/javascript"> 200 /* <![CDATA[ */ 201 var google_conversion_id = 998721343; 202 var google_conversion_language = "en"; 203 var google_conversion_format = "3"; 204 var google_conversion_color = "ffffff"; 205 var google_conversion_label = "xaPwCM7K6HMQv46d3AM"; 206 var google_remarketing_only = false; 207 /* ]]> */ 208</script>
vendor: 1 bytes, line 208
208
209<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"></script>
209 210<noscript> 211 <div style="display:inline;"> 212 <img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/998721343/?label=xaPwCM7K6HMQv46d3AM&guid=ON&script=0"/> 213 </div> 214</noscript> 215 216
216<script> 217 window['_fs_debug'] = false; 218 window['_fs_host'] = 'fullstory.com'; 219 window['_fs_script'] = 'edge.fullstory.com/s/fs.js'; 220 window['_fs_org'] = '5D7MP'; 221 window['_fs_namespace'] = 'FS'; 222 (function(m,n,e,t,l,o,g,y){ 223 if (e in m) {if(m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window["_fs_namespace"].');} return;} 224 g=m[e]=function(a,b,s){g.q?g.q.push([a,b,s]):g._api(a,b,s);};g.q=[]; 225 o=n.createElement(t);o.async=1;o.crossOrigin='anonymous';o.src='https://'+_fs_script; 226 y=n.getElementsByTagName(t)[0];y.parentNode.insertBefore(o,y); 227 g.identify=function(i,v,s){g(l,{uid:i},s);if(v)g(l,v,s)};g.setUserVars=function(v,s){g(l,v,s)};g.event=function(i,v,s){g('event',{n:i,p:v},s)}; 228 g.anonymize=function(){g.identify(!!0)}; 229 g.shutdown=function(){g("rec",!1)};g.restart=function(){g("rec",!0)}; 230 g.log = function(a,b){g("log",[a,b])}; 231 g.consent=function(a){g("consent",!arguments.length||a)}; 232 g.identifyAccount=function(i,v){o='account';v=v||{};v.acctId=i;g(o,v)}; 233 g.clearUserCookie=function(){}; 234 g.setVars=function(n, p){g('setVars',[n,p]);}; 235 g._w={};y='XMLHttpRequest';g._w[y]=m[y];y='fetch';g._w[y]=m[y]; 236 if(m[y])m[y]=function(){return g._w[y].apply(this,arguments)}; 237 g._v="1.3.0"; 238 })(window,document,window['_fs_namespace'],'script','user'); 239 </script>
239 240 241<!--
241<script> 242 window['_fs_debug'] = false; 243 window['_fs_host'] = 'fullstory.com'; 244 window['_fs_org'] = '5D7MP'; 245 window['_fs_namespace'] = 'FS'; 246 (function(m,n,e,t,l,o,g,y){ 247 if (e in m && m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window["_fs_namespace"].'); return;} 248 g=m[e]=function(a,b){g.q?g.q.push([a,b]):g._api(a,b);};g.q=[]; 249 o=n.createElement(t);o.async=1;o.src='https://'+_fs_host+'/s/fs.js'; 250 y=n.getElementsByTagName(t)[0];y.parentNode.insertBefore(o,y); 251 g.identify=function(i,v){g(l,{uid:i});if(v)g(l,v)};g.setUserVars=function(v){g(l,v)}; 252 g.identifyAccount=function(i,v){o='account';v=v||{};v.acctId=i;g(o,v)}; 253 g.clearUserCookie=function(c,d,i){if(!c || document.cookie.match('fs_uid=[`;`]*`[`;`]*`[`;`]*`')){ 254 d=n.domain;while(1){n.cookie='fs_uid=;domain='+d+ 255 ';path=/;expires='+new Date(0).toUTCString();i=d.indexOf('.');if(i<0)break;d=d.slice(i+1)}}}; 256 })(window,document,window['_fs_namespace'],'script','user'); 257 </script>
257 --> 258 259 260<!-- Start of HubSpot Embed Code --> 261
261<script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/4297266.js"></script>
261 262<!-- End of HubSpot Embed Code --> 263<!-- Tracking subsequent page views --> 264<!-- End of Tracking subsequent page views --> 265 266 267<!-- Exclude #register-form from HubSpot tracking -->
268<script> 269 var _hsq = window._hsq = window._hsq || []; 270 _hsq.push(['doNotTrackForm', { 271 elementId: 'register-form' 272 }]); 273</script>
273 274
275<script> 276 var capterra_vkey = '850c8fc91f1bda9f7687871c757e1b48', 277 capterra_vid = '2127584', 278 capterra_prefix = (('https:' == document.location.protocol) ? 'https://ct.capterra.com' : 'http://ct.capterra.com'); 279 280 (function() { 281 var ct = document.createElement('script'); ct.type = 'text/javascript'; ct.async = true; 282 ct.src = capterra_prefix + '/capterra_tracker.js?vid=' + capterra_vid + '&vkey=' + capterra_vkey; 283 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ct, s); 284 })(); 285</script>
285 286 287</head> 288<body> 289<div class='content_aread'> 290<nav class='bg-gray-100 left-1/2 lg:-translate-x-1/2 lg:-translate-y-1/2 lg:absolute lg:bg-transparent lg:top-24 mb-0 navbar sticky top-0 z-10'> 291<div class='container flex justify-center'> 292<div class='w-[230px]'> 293<a class="bg-gray-100 lg:bg-white w-auto" href="/login"><img alt="SignStream.NET" class="max-w-[200px] lg:max-w-full w-[230px]" src="/assets/signstream-black-78d8f1b840ac1a41ea5a650ed2e59e0b0109632767c6f5fe200128ce61c91e74.png" /> 294</a></div> 295</div> 296</nav> 297<section class='bg-white'> 298<div class='flex flex-col h-auto lg:flex-row lg:h-screen' id='login-page-wrapper' style='transition: transform 0.9s ease-in-out;'> 299<!-- start of main area --> 300<div class='bg-gray-100 duration-200 flex items-center justify-center lg:px-8 lg:py-24 lg:w-1/2 pb-10 pt-0 px-4 transition-all w-full' id='section-left'> 301<div class='relative'> 302<!-- center align the text --> 303<h3 class='-translate-x-1/2 -translate-y-1/2 absolute font-bold left-1/2 lg:top-32 mb-6 text-5xl text-black text-center top-12 w-full' id='create-account' style='display: none'>Create your free Account</h3> 304<h3 class='-translate-x-1/2 -translate-y-1/2 absolute font-bold left-1/2 lg:top-32 mb-6 text-5xl text-black text-center top-12 w-full' id='login-account'>Already have an account?</h3> 305<img class="w-[80%] mx-auto" src="/assets/smart-tv-login-355278a9bd06d8487a4dfa5d010cc2891edd25197712f2a82981451c0cc14ed3.png" alt="Smart tv login" /> 306</div> 307 308</div> 309<div class='bg-white duration-200 flex items-center justify-center lg:px-8 lg:py-24 lg:w-1/2 pb-10 pt-10 px-4 transition-all w-full' id='section-right'> 310<div class='w-full lg:w-[70%] mx-10 lg:mx-0'> 311<div class='clearfix'></div>
312<script> 313 $(document).ready(function() { 314 $(".devise-notice-alerts").delay(3000).fadeOut(); 315 }) 316</script>
316 317 318<div class='panel-login' style='margin-bottom: 0px !important; padding-bottom: 14px;'> 319<div class='bg-blue-500 flex gap-5 hover:bg-blue-600 hover:px-3 items-center justify-center mx-20 py-3 rounded-full'> 320<a class='!no-underline flex gap-5 mx-5 items-center justify-center text-2xl text-[#ffffffcc] hover:!text-white font-samibold hover:font-bold active' href='#' id='register-form-link'> 321<i class='fa fa-sign-in rotate-180'></i> 322Click here to register 323</a> 324<a class='!no-underline flex gap-5 items-center justify-center text-2xl text-[#ffffffcc] hover:!text-white font-samibold hover:font-bold ' href='#' id='login-form-link' style='display: none'> 325Click here to login 326<i class='fa fa-sign-in'></i> 327</a> 328</div> 329<div class='panel-heading'> 330<hr> 331</div> 332<div class='panel-body'> 333<div class='row'> 334<div class='col-lg-12'> 335<form action='/users' id='register-form' method='post' role='form' style='display: none;'> 336<div class='space-y-5'> 337<div class='mt-2 5'> 338<div class='relative'> 339<svg class='absolute left-3 top-1/2 transform -translate-y-1/2 size-8 text-gray-400' id='company' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'> 340<path d='M23.16 1H8.84A2.85 2.85 0 0 0 6 3.84V30a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V3.84A2.85 2.85 0 0 0 23.16 1ZM18 29h-4v-4h4Zm6 0h-4v-5a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v5H8V3.84A.84.84 0 0 1 8.84 3h14.32a.84.84 0 0 1 .84.84Z'></path> 341<path d='M20 5a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0V6a1 1 0 0 0-1-1zm0 6a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1zm0 6a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1zM12 5a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0V6a1 1 0 0 0-1-1zm0 6a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1zm0 6a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1z'></path> 342</svg> 343<input class='block w-full pl-14 p-4 text-black placeholder-gray-500 text-3xl transition-all duration-200 border border-gray-200 rounded-full bg-gray-50 focus:outline-none focus:border-blue-600 focus:bg-white caret-blue-600' id='account_name' name='account_name' placeholder='Company Name' type='text'> 344</div> 345<span id='account_name_error'></span> 346</div> 347<div class='mt-2 5'> 348<div class='relative'> 349<svg class='absolute left-3 top-1/2 transform -translate-y-1/2 size-8 text-gray-400' id='email' viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'> 350<path d='M53.42 53.32H10.58a8.51 8.51 0 0 1-8.5-8.5V19.18a8.51 8.51 0 0 1 8.5-8.5h42.84a8.51 8.51 0 0 1 8.5 8.5v25.64a8.51 8.51 0 0 1-8.5 8.5ZM10.58 13.68a5.5 5.5 0 0 0-5.5 5.5v25.64a5.5 5.5 0 0 0 5.5 5.5h42.84a5.5 5.5 0 0 0 5.5-5.5V19.18a5.5 5.5 0 0 0-5.5-5.5Z' fill='#222'></path> 351<path d='M32 38.08a8.51 8.51 0 0 1-5.13-1.71L3.52 18.71a1.5 1.5 0 1 1 1.81-2.39L28.68 34a5.55 5.55 0 0 0 6.64 0l23.35-17.68a1.5 1.5 0 1 1 1.81 2.39L37.13 36.37A8.51 8.51 0 0 1 32 38.08Z' fill='#222'></path> 352<path d='M4.17 49.14a1.5 1.5 0 0 1-1-2.62l18.4-16.41a1.5 1.5 0 0 1 2 2.24L5.17 48.76a1.46 1.46 0 0 1-1 .38zm55.66 0a1.46 1.46 0 0 1-1-.38l-18.4-16.41a1.5 1.5 0 1 1 2-2.24l18.39 16.41a1.5 1.5 0 0 1-1 2.62z' fill='#222'></path> 353</svg> 354<input class='block w-full pl-14 p-4 text-black placeholder-gray-500 text-3xl transition-all duration-200 border border-gray-200 rounded-full bg-gray-50 focus:outline-none focus:border-blue-600 focus:bg-white caret-blue-600' id='user_email' name='user[email]' placeholder='Email' type='email'> 355</div> 356<span id='user_email_error'></span> 357</div> 358<div class='mt-2 5'> 359<div class='relative'> 360<svg class='absolute left-3 top-1/2 transform -translate-y-1/2 size-8 text-gray-400' id='User' viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'> 361<rect fill='none' height='256' width='256'></rect> 362<circle class='colorStroke000000 svgStroke' cx='128' cy='96' fill='none' r='64' stroke-miterlimit='10' stroke-width='16' stroke='#000000'></circle> 363<path class='colorStroke000000 svgStroke' d='M30.989,215.99064a112.03731,112.03731,0,0,1,194.02311.002' fill='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='16' stroke='#000000'></path> 364</svg> 365<input class='block w-full pl-14 p-4 text-black placeholder-gray-500 text-3xl transition-all duration-200 border border-gray-200 rounded-full bg-gray-50 focus:outline-none focus:border-blue-600 focus:bg-white caret-blue-600' id='user_first_name' name='user[first_name]' placeholder='First Name' type='text'> 366</div> 367<span id='user_first_name_error'></span> 368</div> 369<div class='mt-2 5'> 370<div class='relative'> 371<svg class='absolute left-3 top-1/2 transform -translate-y-1/2 size-8 text-gray-400' id='User' viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'> 372<rect fill='none' height='256' width='256'></rect> 373<circle class='colorStroke000000 svgStroke' cx='128' cy='96' fill='none' r='64' stroke-miterlimit='10' stroke-width='16' stroke='#000000'></circle> 374<path class='colorStroke000000 svgStroke' d='M30.989,215.99064a112.03731,112.03731,0,0,1,194.02311.002' fill='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='16' stroke='#000000'></path> 375</svg> 376<input class='block w-full pl-14 p-4 text-black placeholder-gray-500 text-3xl transition-all duration-200 border border-gray-200 rounded-full bg-gray-50 focus:outline-none focus:border-blue-600 focus:bg-white caret-blue-600' id='user_last_name' name='user[last_name]' placeholder='Last Name' type='text'> 377</div> 378<span id='user_last_name_error'></span> 379</div> 380<div class='mt-2 5'> 381<div class='relative'> 382<svg class='absolute left-4 top-1/2 transform -translate-y-1/2 size-8 text-gray-400' id='Password' viewB
382ox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'> 383<path class='color000000 svgShape' d='M24,4H8A4,4,0,0,0,4,8V24a4,4,0,0,0,4,4H24a4,4,0,0,0,4-4V8A4,4,0,0,0,24,4Zm2,20a2,2,0,0,1-2,2H8a2,2,0,0,1-2-2V8A2,2,0,0,1,8,6H24a2,2,0,0,1,2,2ZM19.819,12.421A3.572,3.572,0,0,0,16.4,15H9.6a1,1,0,0,0-1,1v2.579a1,1,0,0,0,2,0V17h1v1.579a1,1,0,0,0,2,0V17h2.8a3.572,3.572,0,1,0,3.419-4.579Zm0,5.158A1.579,1.579,0,1,1,21.4,16,1.581,1.581,0,0,1,19.819,17.579Z' fill='#000000'></path> 384</svg> 385<input autocomplete='off' class='block w-full pl-14 pr-14 p-4 text-black placeholder-gray-500 text-3xl transition-all duration-200 border border-gray-200 rounded-full bg-gray-50 focus:outline-none focus:border-blue-600 focus:bg-white caret-blue-600' id='user_password' name='user[password]' placeholder='Password (6 characters minimum)' type='password'> 386<button aria-label='Show password' class='absolute right-4 top-1/2 transform -translate-y-1/2 text-gray-500 focus:outline-none' data-password-toggle='user_password' type='button'> 387<i class='fa fa-eye text-3xl'></i> 388</button> 389</div> 390<span id='user_password_error'></span> 391</div> 392<div class='mt-2 5'> 393<div class='relative'> 394<svg class='absolute left-4 top-1/2 transform -translate-y-1/2 size-8 text-gray-400' id='Password' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'> 395<path class='color000000 svgShape' d='M24,4H8A4,4,0,0,0,4,8V24a4,4,0,0,0,4,4H24a4,4,0,0,0,4-4V8A4,4,0,0,0,24,4Zm2,20a2,2,0,0,1-2,2H8a2,2,0,0,1-2-2V8A2,2,0,0,1,8,6H24a2,2,0,0,1,2,2ZM19.819,12.421A3.572,3.572,0,0,0,16.4,15H9.6a1,1,0,0,0-1,1v2.579a1,1,0,0,0,2,0V17h1v1.579a1,1,0,0,0,2,0V17h2.8a3.572,3.572,0,1,0,3.419-4.579Zm0,5.158A1.579,1.579,0,1,1,21.4,16,1.581,1.581,0,0,1,19.819,17.579Z' fill='#000000'></path> 396</svg> 397<input autocomplete='off' class='block w-full pl-14 pr-14 p-4 text-black placeholder-gray-500 text-3xl transition-all duration-200 border border-gray-200 rounded-full bg-gray-50 focus:outline-none focus:border-blue-600 focus:bg-white caret-blue-600' id='user_password_confirmation' name='user[password_confirmation' placeholder='Password Confirmation' type='password'> 398<button aria-label='Show password' class='absolute right-4 top-1/2 transform -translate-y-1/2 text-gray-500 focus:outline-none' data-password-toggle='user_password_confirmation' type='button'> 399<i class='fa fa-eye text-3xl'></i> 400</button> 401</div> 402<span id='user_password_confirmation_error'></span> 403</div> 404<div class='honeypot-field' style='position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;'> 405<label for='bot_website_check'>Website</label> 406<input aria-hidden='true' autocomplete='nope' id='bot_website_check' name='website' tabindex='-1' type='text'> 407<label for='bot_url_check'>URL</label> 408<input aria-hidden='true' autocomplete='nope' id='bot_url_check' name='url' tabindex='-1' type='text'> 409<label for='bot_phone_check'>Phone</label> 410<input aria-hidden='true' autocomplete='nope' id='bot_phone_check' name='phone_number' tabindex='-1' type='text'> 411</div> 412<div class='form-group'> 413<input id='recaptcha_token' name='recaptcha_token' type='hidden'> 414</div> 415<div> 416<button class='inline-flex items-center justify-center w-full px-4 py-4 text-3xl font-semibold text-white transition-all duration-200 bg-[#1CB94E] hover:bg[#1CA347] focus:bg[#1CA347] border border-transparent rounded-full focus:outline-none' id='register-submit' name='register-submit' tabindex='4' type='submit'>Register Now</button> 417<div class='text-danger small' id='recaptcha-bot-warning-share' style='display:none; margin-top: 10px; color: red;'> 418<i class='fa fa-exclamation-triangle'></i> 419Bot activity detected. Please refresh the page and try again. 420</div> 421</div> 422<i> 423By clicking on the register button above, I agree to the 424<a class="btn-link" data-target="#terms_of_serviceModal" data-toggle="modal" href="#">Terms Of Service and Privacy Policy 425</a></i> 426</div> 427</form>
428<script> 429 document.addEventListener("DOMContentLoaded", function() { 430 var submitButton = document.getElementById('register-submit'); 431 var warningMessage = document.getElementById('recaptcha-bot-warning-share'); 432 var recaptchaTokenField = document.getElementById('recaptcha_token'); 433 var recaptchaVerified = true; 434 var recaptchaEnabled = false; 435 436 function loadRecaptcha() { 437 if (typeof grecaptcha === 'undefined') { 438 setTimeout(loadRecaptcha, 100); 439 } else { 440 var siteKey = "6LeVmA4qAAAAAKHRzFw_f-acrPgByUk5_NUfBblQ"; 441 if (siteKey) { 442 grecaptcha.ready(function() { 443 grecaptcha.execute(siteKey , {action: 'register'}).then(function(token) { 444 if (recaptchaTokenField) { 445 recaptchaTokenField.value = token; 446 // Verify the token with the backend 447 verifyRecaptchaToken(token); 448 } 449 }); 450 }); 451 } 452 } 453 } 454 455 function verifyRecaptchaToken(token) { 456 fetch('/api/v1/recaptcha/verify', { 457 method: 'POST', 458 headers: { 459 'Content-Type': 'application/json', 460 }, 461 body: JSON.stringify({ token: token }) 462 }) 463 .then(function(response) { 464 return response.json(); 465 }) 466 .then(function(data) { 467 if (data.valid) { 468 recaptchaVerified = true; 469 if (submitButton) { 470 submitButton.disabled = false; 471 } 472 if (warningMessage) { 473 warningMessage.style.display = 'none'; 474 } 475 } else { 476 recaptchaVerified = false; 477 if (submitButton) { 478 submitButton.disabled = true; 479 } 480 if (warningMessage) { 481 warningMessage.style.display = 'block'; 482 } 483 console.warn('[RECAPTCHA] Verification failed:', data.message); 484 } 485 }) 486 .catch(function(error) { 487 console.error('[RECAPTCHA] Error verifying token:', error); 488 // On error, allow submission but let backend handle it 489 recaptchaVerified = true; 490 if (submitButton) { 491 submitButton.disabled = false; 492 } 493 }); 494 } 495 496 if (recaptchaEnabled) { 497 if (submitButton) { 498 submitButton.disabled = true; 499 } 500 loadRecaptcha(); 501 } 502 503 $('[data-password-toggle]', '#register-form').on('click', function() { 504 var input = document.getElementById($(this).data('password-toggle')); 505 var icon = $(this).find('i'); 506 if (!input) return; 507 if (input.type === 'password') { 508 input.type = 'text'; 509 icon.removeClass('fa-eye').addClass('fa-eye-slash'); 510 $(this).attr('aria-label', 'Hide password'); 511 } else { 512 input.type = 'password'; 513 icon.removeClass('fa-eye-slash').addClass('fa-eye'); 514 $(this).attr('aria-label', 'Show password'); 515 } 516 }); 517 518 $("#register-form").submit(function(e){ 519 var isFormValid = true 520 var account_name = $("#account_name").val() 521 var user_email = $("#user_email").val() 522 var user_first_name = $("#user_first_name").val() 523 var user_last_name = $("#user_last_name").val() 524 var user_password = $("#user_password").val() 525 var user_password_confirmation = $("#user_password_confirmation").val() 526 // / var document_path = $("#community_agreement_url").val() 527 if(account_name == "" || account_name == null){ 528 isFormValid = false 529 $('#account_name_error').attr('style','display:inline') 530 .text("Please enter company name") 531 .css("color","red"); 532 }else if(account_name.length > 256 || account_name.length < 3) { 533 isFormValid = false 534 $('#account_name_error').attr('style','display:inline') 535 .text("Please enter company name with minimum 3 characters") 536 .css("color","red"); 537 }else if(/[^a-zA-Z0-9,. ]/.test(account_name) == true) { 538 isFormValid = false 539 $('#account_name_error').attr('style','display:inline') 540 .text("Please enter alphanumeric character only") 541 .css("color","red"); 542 }else{ 543 $('span#account_name_error').text(''); 544 } 545 546 // Updated regex to allow + and other valid email characters 547 var regexEmail = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; 548 if(user_email == "" || user_email == null){ 549 isFormValid = false 550 $('#user_email_error').attr('style','display:inline') 551 .text("Please enter email") 552 .css("color","red"); 553 } 554 else if (!regexEmail.test(user_email) == true) { 555 isFormValid = false 556 $('#user_email_error').attr('style','display:inline') 557 .text("Please enter valid email format") 558 .css("color","red"); 559 } 560 else{ 561 $('span#user_email_error').text(''); 562 } 563 564 if(user_first_name == "" || user_first_name == null){ 565 isFormValid = false 566 $('#user_first_name_error').attr('style','display:inline') 567 .text("Please enter first name") 568 .css("color","red"); 569 }else if(user_first_name.length > 256 || user_first_name.length < 2) { 570 isFormValid = false 571 $('#user_first_name_error').attr('style','display:inline') 572 .text("Please enter first name with minimum 2 characters") 573 .css("color","red"); 574 }else if(/[^a-zA-Z0-9 ]/.test(user_first_name) == true) { 575 isFormValid = false 576 $('#user_first_name_error').attr('style','display:inline') 577 .text("Please enter alphanumeric character only") 578 .css("color","red"); 579 }else{ 580 $('span#user_first_name_error').text(''); 581 } 582 583 if(user_last_name == "" || user_last_name == null){ 584 isFormValid = false 585 $('#user_last_name_error').attr('style','display:inline') 586 .text("Please enter last name") 587 .css("color","red"); 588 }else if(user_last_name.length > 256 || user_last_name.length < 2) { 589 isFormValid = false 590 $('#user_last_name_error').attr('style','display:inline') 591 .text("Please enter last name with minimum 2 characters") 592 .css("color","red"); 593 }else if(/[^a-zA-Z0-9 ]/.test(user_last_name) == true) { 594 isFormValid = false 595 $('#user_last_name_error').attr('style','display:inline') 596 .text("Please enter alphanumeric character only") 597 .css("color","red"); 598 }else{ 599 $('span#user_last_name_error').text(''); 600 } 601 602 if(user_password == "" || user_password == null){ 603 isFormValid = false 604 $('#user_password_error').attr('style','display:inline') 605 .text("Please enter password") 606 .css("color","red"); 607 }else if(user_password.length > 256 || user_password.length < 6) { 608 isFormValid = false 609 $('#user_password_error').attr('style','display:inline') 610 .text("Please enter password with minimum 6 character") 611 .css("color","red"); 612 }else{ 613 $('span#user_password_error').text(''); 614 } 615 616 if(user_password_confirmation == "" || user_password_confirmation == null){ 617 isFormValid = false 618 $('#user_password_confirmation_error').attr('style','display:inline') 619 .text("Please enter confirmation password") 620 .css("color","red"); 621 }else if(user_password != user_password_confirmation ) { 622 isFormValid = false 623 $('#user_password_confirmation_error').attr('style','display:inline') 624 .text("Confirmation password not macth with given password") 625 .css("color","red"); 626 }else{ 627 $('span#user_password_confirmation_error').text(''); 628 } 629 630 // Check reCAPTCHA verification 631 if (recaptchaEnabled && !recaptchaVerified) { 632 isFormValid = false;
633 if (warningMessage) { 634 warningMessage.style.display = 'block'; 635 } 636 } 637 638 return isFormValid 639 }); 640 641 }); 642</script>
642 643 644<form class="form-signin" id="login-form" style="display: block;" action="/users/sign_in" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="pRazzBNEXvcg+mcjy9n/bRXgVmJz+NDHcvWj5uvJ9zlcenCOpGDmmvro12HOfSLFC/Yp6cHuVEKLsd500ENv/Q==" /> 645<div class='space-y-5'> 646<div class='mt-2 5'> 647<div class='relative'> 648<svg class='absolute left-3 top-1/2 transform -translate-y-1/2 size-8 text-gray-400' id='User' viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'> 649<rect fill='none' height='256' width='256'></rect> 650<circle class='colorStroke000000 svgStroke' cx='128' cy='96' fill='none' r='64' stroke-miterlimit='10' stroke-width='16' stroke='#000000'></circle> 651<path class='colorStroke000000 svgStroke' d='M30.989,215.99064a112.03731,112.03731,0,0,1,194.02311.002' fill='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='16' stroke='#000000'></path> 652</svg> 653<input class='block w-full pl-14 p-4 text-black placeholder-gray-500 text-3xl transition-all duration-200 border border-gray-200 rounded-full bg-gray-50 focus:outline-none focus:border-blue-600 focus:bg-white caret-blue-600' id='user_login_email' name='user[email]' placeholder='Username' type='email'> 654<span id='login_user_email_error'></span> 655</div> 656</div> 657<div class='mt-2 5'> 658<div class='relative'> 659<svg class='absolute left-4 top-1/2 transform -translate-y-1/2 size-8 text-gray-400' id='Password' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'> 660<path class='color000000 svgShape' d='M24,4H8A4,4,0,0,0,4,8V24a4,4,0,0,0,4,4H24a4,4,0,0,0,4-4V8A4,4,0,0,0,24,4Zm2,20a2,2,0,0,1-2,2H8a2,2,0,0,1-2-2V8A2,2,0,0,1,8,6H24a2,2,0,0,1,2,2ZM19.819,12.421A3.572,3.572,0,0,0,16.4,15H9.6a1,1,0,0,0-1,1v2.579a1,1,0,0,0,2,0V17h1v1.579a1,1,0,0,0,2,0V17h2.8a3.572,3.572,0,1,0,3.419-4.579Zm0,5.158A1.579,1.579,0,1,1,21.4,16,1.581,1.581,0,0,1,19.819,17.579Z' fill='#000000'></path> 661</svg> 662<input autocomplete='off' class='block w-full pl-14 pr-14 p-4 text-black placeholder-gray-500 text-3xl transition-all duration-200 border border-gray-200 rounded-full bg-gray-50 focus:outline-none focus:border-blue-600 focus:bg-white caret-blue-600' id='login_user_password' name='user[password]' placeholder='Password' type='password'> 663<button aria-label='Show password' class='absolute right-4 top-1/2 transform -translate-y-1/2 text-gray-500 focus:outline-none' data-password-toggle='login_user_password' type='button'> 664<i class='fa fa-eye text-3xl'></i> 665</button> 666<span id='login_user_password_error'></span> 667</div> 668</div> 669<div class='form-group'> 670<input id='recaptcha_token' name='recaptcha_token' type='hidden'> 671</div> 672<div> 673<button class='w-full py-4 text-3xl font-semibold text-white transition-all duration-100 bg-blue-500 hover:bg-blue-800 focus:bg-blue-800 border border-transparent rounded-full focus:outline-none' id='login-submit' name='login-submit' tabindex='4' type='submit'>Log In</button> 674</div> 675<div> 676<a class="btn-link text-blue-500 hover:text-blue-800 focus:text-blue-800 float-end" href="/users/password/new">Reset Password</a> 677</div> 678</div> 679</form>
vendor: 74 bytes, lines 679-681
679 680 681<script async defer src='https://www.google.com/recaptcha/api.js?render=
6816LeVmA4qAAAAAKHRzFw_f-acrPgByUk5_NUfBblQ
vendor: 12 bytes, line 681
681'></script>
682<script> 683 document.addEventListener("DOMContentLoaded", function() { 684 function loadRecaptcha() { 685 if (typeof grecaptcha === 'undefined') { 686 setTimeout(loadRecaptcha, 100); 687 } else { 688 var siteKey = "6LeVmA4qAAAAAKHRzFw_f-acrPgByUk5_NUfBblQ"; 689 grecaptcha.ready(function() { 690 grecaptcha.execute(siteKey , {action: 'login'}).then(function(token) { 691 document.getElementById('recaptcha_token').value = token; 692 }); 693 }); 694 } 695 } 696 697 loadRecaptcha(); 698 699 $('[data-password-toggle]', '#login-form').on('click', function() { 700 var input = document.getElementById($(this).data('password-toggle')); 701 var icon = $(this).find('i'); 702 if (!input) return; 703 if (input.type === 'password') { 704 input.type = 'text'; 705 icon.removeClass('fa-eye').addClass('fa-eye-slash'); 706 $(this).attr('aria-label', 'Hide password'); 707 } else { 708 input.type = 'password'; 709 icon.removeClass('fa-eye-slash').addClass('fa-eye'); 710 $(this).attr('aria-label', 'Show password'); 711 } 712 }); 713 714 $("#login-form").submit(function(e){ 715 var isFormValid = true; 716 var user_email = $("#user_login_email").val(); 717 var user_password = $("#login_user_password").val(); 718 719 var regexEmail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; 720 if(user_email == "" || user_email == null){ 721 isFormValid = false; 722 $('#login_user_email_error').attr('style','display:inline') 723 .text("Please enter email") 724 .css("color","red"); 725 } 726 else if (!regexEmail.test(user_email) == true) { 727 isFormValid = false 728 $('#login_user_email_error').attr('style','display:inline') 729 .text("Please enter valid email format") 730 .css("color","red"); 731 } 732 else{ 733 $('span#login_user_email_error').text(''); 734 } 735 736 if(user_password == "" || user_password == null){ 737 isFormValid = false; 738 $('#login_user_password_error').attr('style','display:inline') 739 .text("Please enter password") 740 .css("color","red"); 741 }else{ 742 $('span#login_user_password_error').text(''); 743 } 744 745 return isFormValid; 746 }); 747 }); 748</script>
748 749 750</div> 751</div> 752</div> 753</div>
754<script> 755 $(function() { 756 // Step 1: Extract the register form logic into a reusable function 757 function showRegisterForm() { 758 $("#register-form-link").css("display", "none"); 759 $("#login-form-link").css("display", "flex"); 760 $('#login-form-link').removeClass('active'); 761 $(this).addClass('active'); 762 $("#section-left").toggleClass("transition-reverse-plus"); 763 $("#section-right").toggleClass("transition-reverse-minus"); 764 $("#login-account").css("display", "none"); 765 $("#create-account").css("display", "block"); 766 } 767 768 // Step 2: Extract the login form logic into a reusable function 769 function showLoginForm() { 770 $("#login-form-link").css("display", "none"); 771 $("#register-form-link").css("display", "flex"); 772 $('#register-form-link').removeClass('active'); 773 $(this).addClass('active'); 774 $("#section-left").toggleClass("transition-reverse-plus"); 775 $("#section-right").toggleClass("transition-reverse-minus"); 776 $("#create-account").css("display", "none"); 777 $("#login-account").css("display", "block"); 778 } 779 780 // Step 3: Check for source parameter on page load 781 if (new URLSearchParams(window.location.search).get('source') === 'wix') { 782 showRegisterForm(); 783 } 784 785 // Step 4: Update click handlers to use the new functions 786 $('#login-form-link').click(function(e) { 787 showLoginForm(); 788 e.preventDefault(); 789 }); 790 791 $('#register-form-link').click(function(e) { 792 showRegisterForm(); 793 e.preventDefault(); 794 }); 795 }); 796</script>
796 797 798</div> 799</div> 800</div> 801</section> 802</div> 803<div class='modal fade' id='terms_of_serviceModal' role='dialog'> 804<div class='modal-dialog' style='width: 90%;'> 805<!-- Modal content --> 806<div class='modal-content'> 807<div class='modal-header'> 808<button class='close' data-dismiss='modal' type='button'>Ã</button> 809<h4 class='modal-title'>Terms Of Service and Privacy Policy</h4> 810</div> 811<div class='modal-body'> 812<p> 813This privacy policy sets out how SignStream uses and protects any information that you give SignStream when you use any of SignStreamâs websites. 814</p> 815<p> 816SignStream is committed to ensuring that your privacy is protected. Should we ask you to provide certain information by which you can be identified when using this website, then you can be assured that it will only be used in accordance with this privacy statement. 817</p> 818<p> 819This privacy policy has been compiled to better serve those who are concerned with how their âPersonally identifiable informationâ (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Also, we have amended this policy to be compliant with General Data Protection Regulation (âGDPRâ â Regulation (EU) 2016/679), for the benefits of our European customers and partners (resellers). Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website. 820</p> 821<p> 822SignStream may change this policy from time to time by updating this page. You should check this page from time to time to ensure that you are happy with any changes. This policy is effective from 23-May-2018. 823</p> 824<p> 825What personal information do we collect from the people that visit our blogs, websites or apps? 826</p> 827<p> 828When ordering or visiting or registering on our sites, as appropriate, you may be asked to enter your name, email address, company name or other details to help you with your experience. 829</p> 830<p> 831When do we collect information? 832</p> 833<p> 834We collect information from you when you register on our site or enter information on our site. Also, we collect information when you visit our websites. 835</p> 836<p> 837What we collect? 838</p> 839<p> 840We may collect the following information: 841<br> 842⢠Name and job title. 843<br> 844⢠Contact information including email address. 845<br> 846⢠Demographic information such as postcode, preferences and interests. 847<br>
848⢠Other information relevant to customer surveys and/or offers (such as the pages in our websites which you have visited). 849</p> 850<p> 851How do we use your information? 852</p> 853<p> 854We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the websites, or use certain other site features in the following ways: 855<br> 856⢠Internal record keeping. 857<br> 858⢠We may use the information to improve our products and services. 859<br> 860⢠To personalize userâs experience and to allow us to deliver the type of content and product offerings in which you are most interested. 861<br> 862⢠To allow us to better service you in responding to your customer service requests. 863<br> 864⢠From time to time, we may also use your information to contact you for your order, subscription, market research or other products, services and news. We may contact you by email, phone, fax or mail. We may use the information to customize the website according to your interests. 865</p> 866<p> 867If you want to inquire us about anything which is related to the privacy policy or to your personal data, please feel free to inquire our European representative in Portugal, who acts as the focal point of contact for any GDPR issue. You can do that by sending an email to [email protected]. 868</p> 869<p> 870Security: How do we protect visitor information? 871</p> 872<p> 873We are committed to ensuring that your information is secure. In order to prevent unauthorized access or disclosure, we have put in place suitable physical, electronic and managerial procedures to safeguard and secure the information we collect online. 874</p> 875<p> 876We do not use vulnerability scanning and/or scanning to PCI standards. 877</p> 878<p> 879We do collect credit card information, but did not know PCI compliant scans are now required. 880</p> 881<p> 882We do not use Malware Scanning. 883</p> 884<p> 885We use an SSL certificate, unless you are a white labeled partner (reseller). 886</p> 887<p> 888Do we use âcookiesâ? 889</p> 890<p> 891Yes. Cookies are small files that a site or its service provider transfers to your computerâs hard drive through your Web browser (if you allow) that enables the siteâs or service providerâs systems to recognize your browser and capture and remember certain information. For instance, we use cookies to help us remember and process the pages which you have visited in our websites, in order to better understand your preferences. They are also used to help us understand your interests based on previous or current site activity, which enables us to provide you with improved services. We also use cookies to help us compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future. We use both session cookies (cookies that are deleted once you close your browser) and application cookies (cookies that stays on your PC until you delete the browserâs cache). 892</p> 893<p> 894We use cookies to: 895<br> 896⢠Understand and save userâs preferences for future visits. 897<br> 898⢠Provide better services based on your interests. 899</p> 900<p> 901You can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser (like Internet Explorer) settings. Each browser is a little different, so look at your browserâs Help menu to learn the correct way to modify your cookies. 902</p> 903<p> 904If users disable cookies in their browser: 905</p> 906<p> 907If you disable cookies off, some features will be disabled It will turn off some of the features that make your site experience more efficient and some of our services will not function properly. 908</p> 909<p> 910Third-party disclosure 911</p> 912<p> 913We do not sell, trade, or otherwise transfer to outside parties your personal identifiable information. 914</p> 915<p> 916Third-party links 917</p> 918<p> 919We do not include or offer third-party products or services on our website, except integrations with 3rd parties (such as integrations with facial recognition apps, barcode scanner, RFID reader, sensors, 3rd party apps, etc.). 920</p> 921<p> 922Our websites (www.SignStream.com and digital.signage.software) may contain links to other websites of interest. However, once you have used these links to leave our sites, you should note that we do not have any control over that other website. Therefore, we cannot be responsible for the protection and privacy of any information which you provide whilst visiting such sites and such sites are not governed by this privacy statement. You should exercise caution and look at the privacy statement applicable to the website in question. 923</p> 924<p> 925COPPA (Children Online Privacy Protection Act) 926</p> 927<p> 928When it comes to the collection of personal information from children under 13, the Childrenâs Online Privacy Protection Act (COPPA) puts parents in control. The Federal Trade Commission, the nationâs consumer protection agency, enforces the COPPA Rule, which spells out what operators of websites and online services must do to protect childrenâs privacy and safety online. 929<br> 930We do not specifically market to children under 18. 931</p> 932<p> 933Fair Information Practices 934</p> 935<p> 936The Fair Information Practices Principles form the backbone of privacy law in the United States and the concepts they include have played a significant role in the development of data protection laws around the globe. Understanding the Fair Information Practice Principles and how they should be implemented is critical to comply with the various privacy laws that protect personal information. 937</p> 938<p> 939In order to be in line with Fair Information Practices and GDPR we will take the following responsive action, should a data breach occur: 940</p> 941<p> 942We will notify the users via email within 3 business days and will notify the European Union relevant officer within 24 hours from the moment we know of such a data breach. 943</p> 944<p> 945We also agree to the Individual Redress Principle, which requires that individuals have a right to pursue legally enforceable rights against data collectors and processors who fail to adhere to the law. This principle requires not only that individuals have enforceable rights against data users, but also that individuals have recourse to courts or government agencies to investigate and/or prosecute non-compliance by data processors. 946</p> 947<p> 948CAN SPAM Act 949</p> 950<p> 951The CAN-SPAM Act is a law that sets the rules for commercial email, establishes requirements for commercial messages, gives recipients the right to have emails stopped from being sent to them, and spells out tough penalties for violations. 952</p> 953<p> 954We collect your email address in order to: 955<br> 956⢠Send information, respond to inquiries, and/or other requests or questions. 957<br> 958⢠Process orders and to send information and updates pertaining to orders. 959<br>
960⢠We may also send you additional information related to your product and/or service. 961<br> 962⢠Market to our mailing list or continue to send emails to our clients after the original transaction has occurred. 963</p> 964<p> 965To be in accordance with CANSPAM we agree to the following: 966</p> 967<p> 968If at any time you would like to unsubscribe from receiving future emails, you can email us at [email protected] and we will promptly remove you from ALL correspondence. 969</p> 970<p> 971Controlling your personal information 972</p> 973<p> 974You may choose to restrict or delete (the right âto be forgottenâ) the collection or use of your personal information by writing to or emailing us at [email protected]. 975We will not sell, distribute or lease your personal information to third parties unless we have your permission or are required by law to do so. We may use your personal information to send you promotional information about third parties which we think you may find interesting if you tell us that you wish this to happen. 976</p> 977<p> 978You may request details of personal information which we hold about you under the Data General Data Protection Regulation (âGDPRâ â Regulation (EU) 2016/679). If you would like a copy of the information held on you please write to [email protected]. 979<br> 980If you believe that any information we are holding on you is incorrect or incomplete, please write to or email us as soon as possible, at the above address. We will promptly correct any information found to be incorrect. 981</p> 982<p> 983Contacting Us 984</p> 985<p> 986If there are any questions regarding this privacy policy you may contact us using the information below. 987</p> 988<p> 989www.SignStream.com 990<br> 991[email protected] 992<br> 993</p> 994<p> 995Terms and Conditions 996</p> 997<p> 998The following agreement is between SignStream Ltd. (âSignStreamâ) and you (âClientâ). By completing the registration process, Client agrees to be bound by this Agreement when signing up for SignStream service. 999</p> 1000<p> 1001I. Description of Service 1002</p> 1003<p> 1004SignStream hosts an online digital signage application service, for broadcasting signs to screens connected to the Internet. This agreement defines terms and conditions for using SignStream service. 1005</p> 1006<p> 1007II. Proprietary Rights 1008</p> 1009<p> 1010SignStream hereby grants Client a non-exclusive, non-transferable application service for the sole purpose of evaluation during a free trial period. The Client acknowledges that all Title & Rights for the software and services provided and all intellectual property associated with it is the sole property of SignStream Ltd. 1011</p> 1012<p> 1013III. Data Processing 1014</p> 1015<p> 1016SignStream may keep records of: 1017<br> 1018⢠Name and job title. 1019<br> 1020⢠Contact information including email address. 1021<br> 1022⢠Demographic information such as postcode, preferences and interests. 1023<br>
1024⢠Other information relevant to customer surveys and/or offers (such as the pages in our websites which you have visited). 1025<br> 1026The records will be kept for good, unless the Client asks, by writing, SignStream to be forgotten (to be deleted). 1027</p> 1028<p> 1029SignStream may use the information we collect from the Client when the Client registers, makes a purchase, signs up for SignStreamâs newsletter, responds to a survey or marketing communication, surfs the websites, or uses certain other site features in the following ways and purposes: 1030<br> 1031⢠Internal record keeping. 1032<br> 1033⢠SignStream may use the information to improve SignStreamâs products and services. 1034<br> 1035⢠To personalize userâs experience and to allow SignStream to deliver the type of content and product offerings in which the Client is most interested. 1036<br> 1037⢠To allow SignStream to better service the Client in responding to the Clientâs customer service requests. 1038<br> 1039⢠From time to time, SignStream may also use the Clientâs information to contact the Client for his order, subscription, market research or other products, services and news. SignStream may use the information to customize the website according to the Clientâs interests. 1040</p> 1041<p> 1042IV. Security 1043</p> 1044<p> 1045As a data controller (as defined in the General Data Protection Regulation, âGDPRâ â Regulation (EU) 2016/679), SignStream is committed to ensuring that the Clientâs information is secured. In order to prevent unauthorized access or disclosure, SignStream has put in place suitable physical, electronic and managerial procedures to safeguard and secure the information it collects online and offline. 1046</p> 1047<p> 1048For any GDPR issue (personal data), please feel free to inquire our European representative in Portugal, who acts as the focal point of contact for any GDPR issue. You can do that by sending an email to [email protected]. 1049</p> 1050<p> 1051V. Data Controller and Data Processor 1052<br> 1053SignStream as a data controller and data processor is obliged to: 1054<br> 1055⢠Impose confidentiality obligations on persons authorized to process the personal data. 1056<br> 1057⢠Ensure the security of the personal data. 1058<br> 1059⢠Return or destroy the personal data at the end of the processing arrangement, unless it is required to SignStream as mentioned in clause no. III above. 1060</p> 1061<p> 1062VI. Partner as Data Processor 1063<br> 1064In case the Client becomes a SignStreamâs partner (reseller), the Client obliges to: 1065<br> 1066⢠Process personal data only on SignStreamâs system; 1067<br> 1068⢠Impose confidentiality obligations on persons authorized to process the personal data. 1069<br> 1070⢠Ensure the security of the personal data. 1071<br> 1072⢠Comply with additional rules restricting the appointment of sub-processors. 1073<br> 1074⢠Assist SignStream to comply with data subjectsâ rights. 1075<br> 1076⢠Assist SignStream to comply with data security requirements. 1077<br> 1078⢠Return or destroy the personal data at the end of the processing arrangement, unless it is required to the Client as mentioned in clause no. III above. 1079<br> 1080⢠Provide SignStream with all information necessary for SignStream to demonstrate compliance to GDPR. 1081<br> 1082⢠Notify SignStream immediately if it believes that any instructions from SignStream are illegal. 1083</p> 1084<p> 1085VII. Limited Liability 1086<br> 1087Client expressly agrees that use of SignStream application is at Clientâs sole risk. Neither SignStream, its employees, affiliates, agents, third-party information providers, resellers or the like, warrant that SignStream service will not be interrupted or error free; nor do they make any warranty as to the results that may be obtained from the use of the service or as to the accuracy, reliability or content of any information or service contained in or provided through SignStream, unless otherwise expressly stated in this Agreement. 1088<br> 1089Under no circumstances, including negligence, shall SignStream, its offices, agents or any one else involved in creating, producing or distributing Digital Signage service be liable for any direct, indirect, incidental, special or consequential damages that result from the use of or inability to use SignStream service; or that results from mistakes, omissions, interruptions, deleti
1089on of files, errors, defects, delays in operation, or transmission or any failure of performance, whether or not limited to acts of God, communication failure, theft, destruction or unauthorized access to SignStream records, programs or services. Client hereby acknowledges that this paragraph shall apply to all content on SignStream servers. 1090<br> 1091Notwithstanding the above, Clientâs exclusive remedies for all damages, losses and causes of actions whether in contract or misdemeanor including negligence or otherwise, shall not exceed the aggregate dollar amount which Client paid during the term of this Agreement. 1092<br> 1093IN THE EVENT THAT, NOTWITHSTANDING THE TERMS OF THIS AGREEMENT, SignStream IS FOUND LIABLE DAMAGES, SUCH SHALL NOT EXCEED FIFTY US DOLLARS ($50). 1094</p> 1095<p> 1096VIII. Indemnification 1097<br> 1098Client agrees that it shall defend, indemnify and hold SignStream harmless from any and all demands, liabilities, losses, costs and claims, including attorneysâ fees, (âLiabilitiesâ) asserted against SignStream, its agents, its customers and employees, that may arise or result from any service provided or performed or agreed to be performed or any product sold by Client, its agents, employees or assignees. 1099</p> 1100<p> 1101This agreement represents the complete agreement and understanding between SignStream and Client and supersedes any other written or oral agreement. Upon notice published online, SignStream may modify these terms and conditions, amplify them, and/or modify the prices, as well as discontinue or change the services offered. Submission of Clientâs account order shall constitute the Clientâs complete acceptance of these Terms and Conditions. 1102</p> 1103<p> 1104IX. Termination 1105</p> 1106<p> 1107SignStream may terminate the license granted herein at any time and for any reason. 1108</p> 1109<p> 1110X. Governing Law 1111</p> 1112<p> 1113This Agreement shall be governed and construed in accordance with the laws of the United Stated. 1114</p> 1115</div> 1116<div class='modal-footer'></div> 1117</div> 1118</div> 1119</div> 1120 1121 1122</body> 1123</html>
1124<script> 1125 $(function() { 1126 // Step 1: Extract the register form logic into a reusable function 1127 function showRegisterForm() { 1128 $("#register-form").delay(100).fadeIn(100); 1129 $("#login-form").fadeOut(100); 1130 $('#login-form-link').removeClass('active'); 1131 $(this).addClass('active'); 1132 $("#append-created-text").innerHTML = "Don't have an account?"; 1133 } 1134 1135 // Step 2: Extract the login form logic into a reusable function 1136 function showLoginForm() { 1137 $("#login-form").delay(100).fadeIn(100); 1138 $("#register-form").fadeOut(100); 1139 $('#register-form-link').removeClass('active'); 1140 $(this).addClass('active'); 1141 } 1142 1143 // Step 3: Check for source parameter on page load 1144 if (new URLSearchParams(window.location.search).get('source') === 'wix') { 1145 showRegisterForm(); 1146 } 1147 1148 // Step 4: Update click handlers to use the new functions 1149 $('#login-form-link').click(function(e) { 1150 showLoginForm(); 1151 e.preventDefault(); 1152 }); 1153 1154 $('#register-form-link').click(function(e) { 1155 showRegisterForm(); 1156 e.preventDefault(); 1157 }); 1158 }); 1159</script>
vendor: 1 bytes, line 1159
1159
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.