* gdpr popup

* gdpr + google analytics + small fixes

* privacy policy

Co-authored-by: trean <trean.mi@gmail.com>
This commit is contained in:
Andrey Vasnetsov
2021-05-02 17:04:15 +02:00
committed by GitHub
co-authored by trean
parent 57b09f9ab3
commit b9b8417c62
16 changed files with 223 additions and 24 deletions
+3 -1
View File
@@ -3,7 +3,7 @@ languageCode = "en-us"
title = "Qdrant - Vector Search Engine"
theme = "qdrant"
googleAnalytics = ""
googleAnalytics = "G-NZYW2651NE"
enableRobotsTXT = true
canonifyURLs = true
@@ -44,6 +44,8 @@ keywords = "search engine, neural network, matching, filter, SaaS, approximate n
mailchimp_subscribe_id = "b_69617d79374ac6280dd2230b2_acb2b876fc"
gdpr = "We use cookies to learn more about you. At any time you can delete or block cookies through your browser settings."
[menu]
@@ -0,0 +1,74 @@
---
title: Privacy Policy
---
# Privacy Policy
At qdrant.tech, accessible from qdrant.tech, one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by qdrant.tech and how we use it.
If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us. Our Privacy Policy was generated with the help of <a href="https://www.gdprprivacynotice.com/">GDPR Privacy Policy Generator from GDPRPrivacyNotice.com</a>
## General Data Protection Regulation (GDPR)
We are a Data Controller of your information.
Qdrant legal basis for collecting and using the personal information described in this Privacy Policy depends on the Personal Information we collect and the specific context in which we collect the information:
* Qdrant needs to perform a contract with you
* You have given Qdrant permission to do so
* Processing your personal information is in Qdrant legitimate interests
* Qdrant needs to comply with the law
Qdrant will retain your personal information only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use your information to the extent necessary to comply with our legal obligations, resolve disputes, and enforce our policies.
If you are a resident of the European Economic Area (EEA), you have certain data protection rights. If you wish to be informed what Personal Information we hold about you and if you want it to be removed from our systems, please contact us.
In certain circumstances, you have the following data protection rights:
* The right to access, update or to delete the information we have on you.
* The right of rectification.
* The right to object.
* The right of restriction.
* The right to data portability
* The right to withdraw consent
## Log Files
qdrant.tech follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information.
## Cookies and Web Beacons
Like any other website, qdrant.tech uses 'cookies'. These cookies are used to store information including visitors' preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information.
For more general information on cookies, please read <a href="https://www.privacypolicyonline.com/what-are-cookies/">"What Are Cookies"</a>.
## Privacy Policies
You may consult this list to find the Privacy Policy for each of the advertising partners of qdrant.tech.
Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in their respective advertisements and links that appear on qdrant.tech, which are sent directly to users' browser. They automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit.
Note that qdrant.tech has no access to or control over these cookies that are used by third-party advertisers.
## Third Party Privacy Policies
qdrant.tech's Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options.
You can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites.
## Children's Information
Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity.
qdrant.tech does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.
## Online Privacy Policy Only
Our Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in qdrant.tech. This policy is not applicable to any information collected offline or via channels other than this website.
## Consent
By using our website, you hereby consent to our Privacy Policy and agree to its terms.
@@ -4,11 +4,8 @@ icon: bot
tabid: chatbot
image: /content/images/chat_bots.png
image_caption: Automated FAQ
source_link:
demo_link:
tutorial_link:
custom_link:
custom_link_name:
default_link:
default_link_name:
weight: 40
short_description: |
Semantic search for similar phrases is one of the key technologies for building chatbots.
@@ -5,13 +5,8 @@ tabid: imagesearch
landing_image: /content/images/abstract_cubes_2.svg
image: /content/images/image_search.png
image_caption: Visual Food Discovery
source_link:
demo_link: https://food-discovery.qdrant.tech/
default_link: https://food-discovery.qdrant.tech/
default_link_name: Demo
tutorial_link:
custom_link:
custom_link_name:
weight: 20
short_description: |
Find similar images, detect duplicates, or even find a picture by text description - all of that you can do with Qdrant.
@@ -4,11 +4,8 @@ icon: compare-1
tabid: matching
image: /content/images/matching_engines.png
image_caption: Matching Engines
source_link:
demo_link:
tutorial_link:
custom_link:
custom_link_name:
default_link:
default_link_name:
weight: 40
short_description: |
Matching semantically complex objects is a special case of search.
@@ -5,11 +5,8 @@ tabid: recommendations
landing_image: /content/images/abstract_cubes_3.svg
image: /content/images/recommendations.png
image_caption: History-based Recommendations
source_link:
demo_link:
tutorial_link:
custom_link:
custom_link_name:
default_link:
default_link_name:
weight: 30
short_description: |
User behavior can be represented as a semantic vector is similar way as text or images.
@@ -1,7 +1,9 @@
{{- partial "header.html" . -}}
{{- partial "second_header.html" . -}}
<div id="content">
{{- block "main" . }}{{- end }}
{{ block "main" . }}{{ end }}
</div>
{{- partial "footer.html" . -}}
@@ -1,2 +1,10 @@
{{ define "main" }}
<article>
<div class="auto-container mb-5 mt-5">
{{ .Content }}
</div>
</article>
{{ end }}
@@ -4,6 +4,7 @@
<link href="{{ "css/main.css" | absURL }}" rel="stylesheet">
<link href="{{ "css/qdrant.css" | absURL }}" rel="stylesheet">
<link href="{{ "css/responsive.css" | absURL }}" rel="stylesheet">
<link href="{{ "css/cookit.css" | absURL }}" rel="stylesheet">
{{/*
@@ -27,6 +27,7 @@
</div>
<ul class="contact-list">
<li> <span class="icon fa fa-star"></span> Icons made by <a href="https://www.flaticon.com/authors/srip" title="srip">srip</a> from <a href="https://www.flaticon.com/" title="Flaticon">flaticon.com</a></li>
<li> <span class="icon fa fa-file"></span> <a href="/legal/privacy-policy">Privacy Policy </a> </li>
</ul>
</div>
@@ -14,6 +14,7 @@
<script src="{{ "js/jquery.mCustomScrollbar.concat.min.js" | absURL }}"></script>
<script src="{{ "js/jquery.fancybox.js" | absURL }}"></script>
<script src="{{ "js/appear.js" | absURL }}"></script>
<script src="{{ "js/cookit.js" | absURL }}"></script>
<!-- <script src="{{ "js/swiper.min.js" | absURL }}"></script> -->
<!-- <script src="{{ "js/jquery.paroller.min.js" | absURL }}"></script> -->
<!-- <script src="{{ "js/parallax.min.js" | absURL }}"></script> -->
@@ -45,4 +46,16 @@
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
});
$(function(){
$.cookit({
messageText: "{{ .Site.Params.gdpr }}",
linkText: "Learn more",
linkUrl: "/legal/privacy-policy",
buttonText: "I accept",
backgroundColor: '#1c1c1c',
messageColor: '#fff',
linkColor: '#fad04c',
buttonColor: '#fad04c'
}); });
</script>
@@ -5,6 +5,13 @@
<h1> {{ .Params.title | safeHTML }}</h1>
<ul class="bread-crumb clearfix">
<li><a href="/"><i class="flaticon-home small"></i> Home</a></li>
{{ $paths := (split .URL "/") }}
{{ $len := sub (len $paths) 2 }}
{{ range first $len $paths }}
{{ if gt (len . ) 0 }}
<li><a href="/{{ . }}">{{ humanize . }}</a></li>
{{ end }}
{{ end }}
<li>{{ .Params.title | safeHTML }}</li>
</ul>
</div>
@@ -23,7 +23,11 @@
<!-- <div class="category">{{ .Params.subtitle }}</div> -->
</div>
<div class="image">
<a data-caption="{{ .Params.image_caption }}"><img src="{{ .Params.image }}" alt="" /></a>
{{ if .Params.default_link }}
<a href="{{ .Params.default_link }}" data-caption="{{ .Params.image_caption }}"><img src="{{ .Params.image }}" alt="" /></a>
{{ else }}
<img src="{{ .Params.image }}" alt="" />
{{ end }}
</div>
<div class="lower-box">
<div class="clearfix">
@@ -0,0 +1,29 @@
body { margin: 0;}
#cookit {
position: fixed;
width: 100%;
bottom: 0;
padding: .6rem 2rem;
display: flex;
z-index: 999;
}
#cookit #cookit-container {
margin: auto;
width: 1200px;
display: flex;
align-items: center;
flex-wrap: wrap;
}
#cookit #cookit-container > * { margin: .4rem; }
#cookit #cookit-container p { line-height: 1.4rem; }
#cookit #cookit-container a { text-decoration: none; }
#cookit #cookit-container a:hover { opacity: .9; }
#cookit #cookit-container #cookit-button {
padding: .5rem 1rem;
margin-left: auto;
}
@@ -91,3 +91,9 @@ article img {
margin-left: auto;
margin-right: auto;
}
article ul li {
list-style: circle;
padding: 0;
margin: 1em;
}
@@ -0,0 +1,66 @@
(function($) {
$.cookit = function(options) {
// 🎛️ SETTINGS
var settings = $.extend({
backgroundColor: '#1c1c1c',
messageColor: '#fff',
linkColor: '#fad04c',
buttonColor: '#fad04c',
messageText: "<b>Do you hungry ?</b> 🍪 Pursuing navigation on this site, you accept the use of cookies.",
linkText: "Learn more",
linkUrl: "https://www.cookiesandyou.com",
buttonText: "I accept",
lifetime: 365
}, options);
// 🎯 DOM ITEMS
const body = $("body");
const banner = $("<div id='cookit'></div>");
const container = $("<div id='cookit-container'></div>");
const message = $("<p id='cookit-message'>"+ settings.messageText +"</p>");
const link = $("<a id='cookit-link' href='" + settings.linkUrl + "' target='_blank'>" + settings.linkText + "</a>");
const button = $("<a id='cookit-button' href='#'>" + settings.buttonText + "</a>");
// ✔️ CHECK IF COOKIE ALREADY EXISTS
if (!getCookie('cookie-consent')) { init(); }
// ▶️ INITIALISATION
function init() {
body.append(banner);
banner.append(container).css({'background-color': settings.backgroundColor});
container.append(message.css({'color': settings.messageColor})).append(link.css({'color': settings.linkColor})).append(button.css({'background-color': settings.buttonColor,'color': settings.backgroundColor}));
}
// 👀 EVENT LISTENER (click)
button.on('click', () => {
banner.remove();
setCookie('cookie-consent', 1, settings.lifetime);
});
// ⚙️ GET COOKIE
function getCookie(name) {
const decodedCookie = decodeURIComponent(document.cookie);
const ca = decodedCookie.split(';');
name = name + "=";
for(let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) === ' ') {
c = c.substring(1);
}
if (c.indexOf(name) === 0) {
return c.substring(name.length, c.length);
}
}
}
// ⚙️ SET COOKIE
function setCookie(name, value, days) {
const date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
const expires = "expires=" + date.toUTCString();
document.cookie = name + "=" + value + ";" + expires + ";path=/;Secure";
}
};
})(jQuery);