Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Tuesday, 30 April 2019

Vault Platform raises $4.2M to fix workplace misconduct reporting

Vault Platform, a London-based startup that has built software to “re-imagine” workplace misconduct reporting, has raised $4.2 million in seed funding. Leading the round is Kindred Capital, with participation from Angular Ventures, System.One, Jane VC, and ex-Mosaic Ventures Partner Mike Chalfen.

Founded in 2018 by Neta Meidav and Rotem Hayoun-Meidav, Vault is attempting to create a new and better way for company employees to report misconduct, such as workplace bullying or harassment, and in turn replace existing “hotline” systems, which it reckons are underused and often ineffective.

The so-called “TrustTech” offering lets employees easily record incidents in a diary-like space, with the option to only action those complaints when others also come forward. The SaaS consists of an employee app, corporate case management hub, and data and analytics. The latter claims to be able to help enterprises identify repeat problems and manage issues internally before they escalate.

“It’s undisputed that the world of work is going through a rapid change in light of the #MeToo and #TimesUp movements — we realised that one of the underlying reasons for this cultural revolution is the fact that reporting mechanisms are completely broken and what we really witness here is a deficit of trust,” Vault Platform co-founder and CEO Neta Meidav tells TechCrunch.

“Bullying and harassment are prevalent, however only 25 percent of misconduct is reported. This is a long-standing problem, but nowadays the risk lies with the enterprise not just the individual. Companies are waking up to the need of doing things differently”.

To tackle this, Meidav says Vault was created as an “employee-centric” platform that provides employees with a safe diary-like space to record incidents and save related evidence. If and when they choose to report it to their employer, they can do so by choosing “GoTogether,” a feature that allows them to file the report on the condition that they are not the only ones raising the same issues.

“GoTogether is a viable alternative to anonymous reporting, and it ensures that people are coming forward… with substantiated, evidence-based reports,” explains the Vault Platform CEO. “With the prevalent legacy hotline solution, abuse is much more of a possibility, since employees can just ‘tip’ anonymously without any accountability for what is being said”.

Meidav describe’s Vault Platform’s main competition as the “business as usual” solutions: anonymous reporting hotline operators that are traditionally the default for most employers. “They provide very little value for employees and employers beyond ticking the compliance and ethics box,” she says. “Alongside them, we compete with other startups who by large took the idea of anonymous reporting, digitised the same old methodology and turned it into an app”.

Meanwhile, Vault says it will use the funding to scale and expand its presence in North America and Europe. The company says target customers are organisations and enterprises from every sector and industry, typically with more than 1,000 employees. “Our client pipeline is varied, however, the most overwhelming interest has come so far from emerging tech companies,” adds Meidav.



from TechCrunch https://tcrn.ch/2WelnzF
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support