├── CNAME ├── favicon.ico ├── assets ├── icons │ ├── apple-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ ├── ms-icon-70x70.png │ ├── apple-icon-57x57.png │ ├── apple-icon-60x60.png │ ├── apple-icon-72x72.png │ ├── apple-icon-76x76.png │ ├── ms-icon-144x144.png │ ├── ms-icon-150x150.png │ ├── ms-icon-310x310.png │ ├── android-icon-36x36.png │ ├── android-icon-48x48.png │ ├── android-icon-72x72.png │ ├── android-icon-96x96.png │ ├── apple-icon-114x114.png │ ├── apple-icon-120x120.png │ ├── apple-icon-144x144.png │ ├── apple-icon-152x152.png │ ├── apple-icon-180x180.png │ ├── android-icon-144x144.png │ ├── android-icon-192x192.png │ ├── apple-icon-precomposed.png │ └── favicon.svg ├── img │ └── one-tap-sign-in.png ├── css │ └── styles.css └── js │ ├── utils.js │ └── main.js ├── browserconfig.xml ├── manifest.webmanifest ├── LICENSE ├── README.md ├── index.html ├── privacy.html └── conditions.html /CNAME: -------------------------------------------------------------------------------- 1 | googleonetap.developer.li -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/favicon.ico -------------------------------------------------------------------------------- /assets/icons/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon.png -------------------------------------------------------------------------------- /assets/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/favicon-16x16.png -------------------------------------------------------------------------------- /assets/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/favicon-32x32.png -------------------------------------------------------------------------------- /assets/icons/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/favicon-96x96.png -------------------------------------------------------------------------------- /assets/icons/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/ms-icon-70x70.png -------------------------------------------------------------------------------- /assets/img/one-tap-sign-in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/img/one-tap-sign-in.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-57x57.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-60x60.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-72x72.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-76x76.png -------------------------------------------------------------------------------- /assets/icons/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/ms-icon-144x144.png -------------------------------------------------------------------------------- /assets/icons/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/ms-icon-150x150.png -------------------------------------------------------------------------------- /assets/icons/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/ms-icon-310x310.png -------------------------------------------------------------------------------- /assets/icons/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/android-icon-36x36.png -------------------------------------------------------------------------------- /assets/icons/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/android-icon-48x48.png -------------------------------------------------------------------------------- /assets/icons/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/android-icon-72x72.png -------------------------------------------------------------------------------- /assets/icons/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/android-icon-96x96.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-114x114.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-120x120.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-144x144.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-152x152.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-180x180.png -------------------------------------------------------------------------------- /assets/icons/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/android-icon-144x144.png -------------------------------------------------------------------------------- /assets/icons/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/android-icon-192x192.png -------------------------------------------------------------------------------- /assets/icons/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/piraces/GoogleOneTapSample/main/assets/icons/apple-icon-precomposed.png -------------------------------------------------------------------------------- /assets/css/styles.css: -------------------------------------------------------------------------------- 1 | .centered { 2 | display: flex; 3 | align-items: center; 4 | justify-content: center; 5 | } 6 | 7 | .padding-top { 8 | padding-top: 10rem; 9 | } 10 | -------------------------------------------------------------------------------- /browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /assets/js/utils.js: -------------------------------------------------------------------------------- 1 | // Source: https://stackoverflow.com/a/47574303/4064162 Answer by user "Rafael Quintela" 2 | 3 | let b64DecodeUnicode = str => 4 | decodeURIComponent( 5 | Array.prototype.map.call(atob(str), c => 6 | '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2) 7 | ).join('')) 8 | 9 | let parseJwt = token => 10 | JSON.parse( 11 | b64DecodeUnicode( 12 | token.split('.')[1].replace('-', '+').replace('_', '/') 13 | ) 14 | ) -------------------------------------------------------------------------------- /manifest.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Google One Tap Sample", 3 | "icons": [ 4 | { 5 | "src": "\/assets\/icons\/android-icon-36x36.png", 6 | "sizes": "36x36", 7 | "type": "image\/png", 8 | "density": "0.75" 9 | }, 10 | { 11 | "src": "\/assets\/icons\/android-icon-48x48.png", 12 | "sizes": "48x48", 13 | "type": "image\/png", 14 | "density": "1.0" 15 | }, 16 | { 17 | "src": "\/assets\/icons\/android-icon-72x72.png", 18 | "sizes": "72x72", 19 | "type": "image\/png", 20 | "density": "1.5" 21 | }, 22 | { 23 | "src": "\/assets\/icons\/android-icon-96x96.png", 24 | "sizes": "96x96", 25 | "type": "image\/png", 26 | "density": "2.0" 27 | }, 28 | { 29 | "src": "\/assets\/icons\/android-icon-144x144.png", 30 | "sizes": "144x144", 31 | "type": "image\/png", 32 | "density": "3.0" 33 | }, 34 | { 35 | "src": "\/assets\/icons\/android-icon-192x192.png", 36 | "sizes": "192x192", 37 | "type": "image\/png", 38 | "density": "4.0" 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Raul Piraces Alastuey 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /assets/icons/favicon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Google One Tap Sample 2 | Basic Frameworkless sample for Google One Tap User Experience in a web page. 3 | 4 | ![Google One Tap experience](assets/img/one-tap-sign-in.png) 5 | 6 | [**Live demo**](https://googleonetap.developer.li/) 7 | 8 | # How to use it 9 | 10 | To proceed with testing the authentication flow, follow the prompt shown in the top right corner of the page. 11 | 12 | The Google One Tap flow is configured to automatically show the prompt in the right top corner, auto-select the current Google Account if you are already logged in with Google and proceed with the authentication flow automatically if you have done it before and your Google account allows it. 13 | 14 | If no prompt appears you just can click the button "Sign in with Google" to start the authentication flow. 15 | 16 | # Requested scopes 17 | 18 | The following info is being requested: 19 | 20 | |API|Scope|Description| 21 | |--- |--- |--- | 22 | |-|.../auth/userinfo.email|See your primary Google Account email address| 23 | |-|.../auth/userinfo.profile|See your personal info, including any personal info you've made publicly available| 24 | |-|openid|Associate you with your personal info on Google| 25 | 26 | # Important notes 27 | 28 | - **The authentication is done in a secure way using HTTPS** and **the data requested to Google by your consent does not leave the browser or saved anywhere.** 29 | - You can inspect the source code or [reach me](mailto:raul@piraces.dev) for more information. 30 | - **This web page is for educational and testing purposes only.** 31 | 32 | # License 33 | 34 | This project is licensed under the [MIT License](LICENSE). -------------------------------------------------------------------------------- /assets/js/main.js: -------------------------------------------------------------------------------- 1 | window.isAuthenticated = false; 2 | window.identity = {}; 3 | window.token = ''; 4 | 5 | function handleCredentialResponse(response) { 6 | window.token = response.credential; 7 | window.identity = parseJwt(response.credential); 8 | window.isAuthenticated = true; 9 | showAuthInfo(); 10 | } 11 | 12 | function populateTable() { 13 | var table = document.getElementById("token-table"); 14 | var keys = Object.keys(window.identity); 15 | var j = 0; 16 | for (var i = 1; i < keys.length; i++) { 17 | var row = table.insertRow(i); 18 | var cell1 = row.insertCell(0); 19 | var cell2 = row.insertCell(1); 20 | cell1.innerHTML = keys[j]; 21 | cell2.innerHTML = window.identity[keys[j]]; 22 | j++; 23 | } 24 | } 25 | 26 | function destroyTable() { 27 | var table = document.getElementById("token-table"); 28 | var rowCount = table.rows.length; 29 | for (var i = 1; i < rowCount; i++) { 30 | table.deleteRow(i); 31 | } 32 | } 33 | 34 | function showAuthInfo() { 35 | if (window.isAuthenticated) { 36 | document.getElementById("authenticated").style.removeProperty('display'); 37 | document.getElementById("welcome").innerHTML = `Hello ${window.identity.name}!Avatar`; 38 | document.getElementById("alternative-login").style.setProperty('display', 'none'); 39 | document.getElementById("raw-token").innerText = window.token; 40 | populateTable(); 41 | } else { 42 | document.getElementById("authenticated").style.setProperty('display', 'none'); 43 | document.getElementById("welcome").innerText = 'Hello there!'; 44 | document.getElementById("alternative-login").style.removeProperty('display'); 45 | destroyTable(); 46 | } 47 | } 48 | 49 | window.onload = function () { 50 | window.isAuthenticated = false; 51 | showAuthInfo(); 52 | google.accounts.id.initialize({ 53 | client_id: "1083651747097-11rdqe2avi66tgoldsatp8p8l2pdq6tj.apps.googleusercontent.com", 54 | callback: handleCredentialResponse, 55 | auto_select: true, 56 | }); 57 | google.accounts.id.renderButton( 58 | document.getElementById("buttonDiv"), 59 | { theme: "outline", size: "large" } // customization attributes 60 | ); 61 | google.accounts.id.prompt(); // also display the One Tap dialog 62 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Google One Tap Authentication Sample 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |
44 |
45 |

Hello there!

46 |

This is a basic example on how to enable Google One Tap Authentication in a web page

47 |

To proceed with testing the authentication flow, follow the prompt shown in the top right corner of the page.

48 |

The Google One Tap flow is configured to automatically show the prompt in the right top corner, auto-select the current Google Account if you are already logged in with Google and proceed with the authentication flow automatically if you have done it before and your Google account allows it.

49 |
50 |

If no prompt appears just click the button bellow to start the authentication flow:

51 |
52 |
53 | 69 | 70 |

Important notes

71 | 76 |

What info are you requesting?

77 |

The following info is being requested:

78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 |
APIScopeDescription
-.../auth/userinfo.emailSee your primary Google Account email address
-.../auth/userinfo.profileSee your personal info, including any personal info you've made publicly available
-openidAssociate you with your personal info on Google
104 |
105 |
106 |
107 | 126 | 127 | -------------------------------------------------------------------------------- /privacy.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Google One Tap Authentication Sample 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
40 |

Privacy Policy for Google Authentication Sample (@piraces_)

41 | 42 |

At https://googleonetap.developer.li/, accessible from https://googleonetap.developer.li/, one of our main 43 | priorities is the privacy of our visitors. This Privacy Policy document contains types of information that 44 | is collected and recorded by https://googleonetap.developer.li/ and how we use it.

45 | 46 |

If you have additional questions or require more information about our Privacy Policy, do not hesitate to 47 | contact us.

48 | 49 |

This Privacy Policy applies only to our online activities and is valid for visitors to our website with 50 | regards to the information that they shared and/or collect in https://googleonetap.developer.li/. This 51 | policy is not applicable to any information collected offline or via channels other than this website. Our 52 | Privacy Policy was created with the help of the Free 53 | Privacy Policy Generator.

54 | 55 |

Consent

56 | 57 |

By using our website, you hereby consent to our Privacy Policy and agree to its terms.

58 | 59 |

Information we collect

60 | 61 |

The personal information that you are asked to provide, and the reasons why you are asked to provide it, will 62 | be made clear to you at the point we ask you to provide your personal information.

63 |

If you contact us directly (by email), we may receive additional information about you such as your name, email address, 64 | the contents of the message and/or attachments you may send us, and any other information you may choose to provide.

65 |

When you login in the page, we receive basic information from your Google Account such as your name, email address or profile picture.

66 | 67 |

How we use your information

68 | 69 |

We use the information we collect in an only way:

70 | 71 | 74 | 75 |

Log Files

76 | 77 |

https://googleonetap.developer.li/ follows a standard procedure of using log files. In this case, the are NO log files. There is only a front-end for the user

78 | 79 | 80 |

Advertising Partners Privacy Policies

81 | 82 |

You may consult this list to find the Privacy Policy for each of the advertising partners of 83 | https://googleonetap.developer.li/.

84 | 85 |

Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are 86 | used in their respective advertisements and links that appear on https://googleonetap.developer.li/, which 87 | are sent directly to users' browser. They automatically receive your IP address when this occurs. These 88 | technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the 89 | advertising content that you see on websites that you visit.

90 | 91 |

Note that https://googleonetap.developer.li/ has no access to or control over these cookies that are used by 92 | third-party advertisers.

93 | 94 |

Third Party Privacy Policies

95 | 96 |

https://googleonetap.developer.li/'s Privacy Policy does not apply to other advertisers or websites. Thus, we 97 | are advising you to consult the respective Privacy Policies of these third-party ad servers for more 98 | detailed information. It may include their practices and instructions about how to opt-out of certain 99 | options.

100 | 101 |

You can choose to disable cookies through your individual browser options. To know more detailed information 102 | about cookie management with specific web browsers, it can be found at the browsers' respective websites. 103 |

104 | 105 |

CCPA Privacy Rights (Do Not Sell My Personal Information)

106 | 107 |

Under the CCPA, among other rights, California consumers have the right to:

108 |

Request that a business that collects a consumer's personal data disclose the categories and specific pieces 109 | of personal data that a business has collected about consumers.

110 |

Request that a business delete any personal data about the consumer that a business has collected.

111 |

Request that a business that sells a consumer's personal data, not sell the consumer's personal data.

112 |

If you make a request, we have one month to respond to you. If you would like to exercise any of these 113 | rights, please contact us.

114 | 115 |

GDPR Data Protection Rights

116 | 117 |

We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled 118 | to the following:

119 |

The right to access – You have the right to request copies of your personal data. We may charge you a small 120 | fee for this service.

121 |

The right to rectification – You have the right to request that we correct any information you believe is 122 | inaccurate. You also have the right to request that we complete the information you believe is incomplete. 123 |

124 |

The right to erasure – You have the right to request that we erase your personal data, under certain 125 | conditions.

126 |

The right to restrict processing – You have the right to request that we restrict the processing of your 127 | personal data, under certain conditions.

128 |

The right to object to processing – You have the right to object to our processing of your personal data, 129 | under certain conditions.

130 |

The right to data portability – You have the right to request that we transfer the data that we have 131 | collected to another organization, or directly to you, under certain conditions.

132 |

If you make a request, we have one month to respond to you. If you would like to exercise any of these 133 | rights, please contact us.

134 | 135 |

Children's Information

136 | 137 |

Another part of our priority is adding protection for children while using the internet. We encourage parents 138 | and guardians to observe, participate in, and/or monitor and guide their online activity.

139 | 140 |

https://googleonetap.developer.li/ does not knowingly collect any Personal Identifiable Information from 141 | children under the age of 13. If you think that your child provided this kind of information on our website, 142 | we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such 143 | information from our records.

144 |
145 | 146 | 147 | -------------------------------------------------------------------------------- /conditions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Google One Tap Authentication Sample 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
40 |

Terms and Conditions

41 |

Last updated: December 27, 2021

42 |

Please read these terms and conditions carefully before using Our Service.

43 |

Interpretation and Definitions

44 |

Interpretation

45 |

The words of which the initial letter is capitalized have meanings defined under the following conditions. 46 | The following definitions shall have the same meaning regardless of whether they appear in singular or in 47 | plural.

48 |

Definitions

49 |

For the purposes of these Terms and Conditions:

50 | 83 |

Acknowledgment

84 |

These are the Terms and Conditions governing the use of this Service and the agreement that operates between 85 | You and the Company. These Terms and Conditions set out the rights and obligations of all users regarding 86 | the use of the Service.

87 |

Your access to and use of the Service is conditioned on Your acceptance of and compliance with these Terms 88 | and Conditions. These Terms and Conditions apply to all visitors, users and others who access or use the 89 | Service.

90 |

By accessing or using the Service You agree to be bound by these Terms and Conditions. If You disagree with 91 | any part of these Terms and Conditions then You may not access the Service.

92 |

You represent that you are over the age of 18. The Company does not permit those under 18 to use the Service. 93 |

94 |

Your access to and use of the Service is also conditioned on Your acceptance of and compliance with the 95 | Privacy Policy of the Company. Our Privacy Policy describes Our policies and procedures on the collection, 96 | use and disclosure of Your personal information when You use the Application or the Website and tells You 97 | about Your privacy rights and how the law protects You. Please read Our Privacy Policy carefully before 98 | using Our Service.

99 |

Links to Other Websites

100 |

Our Service may contain links to third-party web sites or services that are not owned or controlled by the 101 | Company.

102 |

The Company has no control over, and assumes no responsibility for, the content, privacy policies, or 103 | practices of any third party web sites or services. You further acknowledge and agree that the Company shall 104 | not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused 105 | by or in connection with the use of or reliance on any such content, goods or services available on or 106 | through any such web sites or services.

107 |

We strongly advise You to read the terms and conditions and privacy policies of any third-party web sites or 108 | services that You visit.

109 |

Termination

110 |

We may terminate or suspend Your access immediately, without prior notice or liability, for any reason 111 | whatsoever, including without limitation if You breach these Terms and Conditions.

112 |

Upon termination, Your right to use the Service will cease immediately.

113 |

Limitation of Liability

114 |

Notwithstanding any damages that You might incur, the entire liability of the Company and any of its 115 | suppliers under any provision of this Terms and Your exclusive remedy for all of the foregoing shall be 116 | limited to the amount actually paid by You through the Service or 100 USD if You haven't purchased anything 117 | through the Service.

118 |

To the maximum extent permitted by applicable law, in no event shall the Company or its suppliers be liable 119 | for any special, incidental, indirect, or consequential damages whatsoever (including, but not limited to, 120 | damages for loss of profits, loss of data or other information, for business interruption, for personal 121 | injury, loss of privacy arising out of or in any way related to the use of or inability to use the Service, 122 | third-party software and/or third-party hardware used with the Service, or otherwise in connection with any 123 | provision of this Terms), even if the Company or any supplier has been advised of the possibility of such 124 | damages and even if the remedy fails of its essential purpose.

125 |

Some states do not allow the exclusion of implied warranties or limitation of liability for incidental or 126 | consequential damages, which means that some of the above limitations may not apply. In these states, each 127 | party's liability will be limited to the greatest extent permitted by law.

128 |

"AS IS" and "AS AVAILABLE" Disclaimer

129 |

The Service is provided to You "AS IS" and "AS AVAILABLE" and with all faults and defects 130 | without warranty of any kind. To the maximum extent permitted under applicable law, the Company, on its own 131 | behalf and on behalf of its Affiliates and its and their respective licensors and service providers, 132 | expressly disclaims all warranties, whether express, implied, statutory or otherwise, with respect to the 133 | Service, including all implied warranties of merchantability, fitness for a particular purpose, title and 134 | non-infringement, and warranties that may arise out of course of dealing, course of performance, usage or 135 | trade practice. Without limitation to the foregoing, the Company provides no warranty or undertaking, and 136 | makes no representation of any kind that the Service will meet Your requirements, achieve any intended 137 | results, be compatible or work with any other software, applications, systems or services, operate without 138 | interruption, meet any performance or reliability standards or be error free or that any errors or defects 139 | can or will be corrected.

140 |

Without limiting the foregoing, neither the Company nor any of the company's provider makes any 141 | representation or warranty of any kind, express or implied: (i) as to the operation or availability of the 142 | Service, or the information, content, and materials or products included thereon; (ii) that the Service will 143 | be uninterrupted or error-free; (iii) as to the accuracy, reliability, or currency of any information or 144 | content provided through the Service; or (iv) that the Service, its servers, the content, or e-mails sent 145 | from or on behalf of the Company are free of viruses, scripts, trojan horses, worms, malware, timebombs or 146 | other harmful components.

147 |

Some jurisdictions do not allow the exclusion of certain types of warranties or limitations on applicable 148 | statutory rights of a consumer, so some or all of the above exclusions and limitations may not apply to You. 149 | But in such a case the exclusions and limitations set forth in this section shall be applied to the greatest 150 | extent enforceable under applicable law.

151 |

Governing Law

152 |

The laws of the Country, excluding its conflicts of law rules, shall govern this Terms and Your use of the 153 | Service. Your use of the Application may also be subject to other local, state, national, or international 154 | laws.

155 |

Disputes Resolution

156 |

If You have any concern or dispute about the Service, You agree to first try to resolve the dispute 157 | informally by contacting the Company.

158 |

For European Union (EU) Users

159 |

If You are a European Union consumer, you will benefit from any mandatory provisions of the law of the 160 | country in which you are resident in.

161 |

United States Legal Compliance

162 |

You represent and warrant that (i) You are not located in a country that is subject to the United States 163 | government embargo, or that has been designated by the United States government as a "terrorist 164 | supporting" country, and (ii) You are not listed on any United States government list of prohibited or 165 | restricted parties.

166 |

Severability and Waiver

167 |

Severability

168 |

If any provision of these Terms is held to be unenforceable or invalid, such provision will be changed and 169 | interpreted to accomplish the objectives of such provision to the greatest extent possible under applicable 170 | law and the remaining provisions will continue in full force and effect.

171 |

Waiver

172 |

Except as provided herein, the failure to exercise a right or to require performance of an obligation under 173 | these Terms shall not effect a party's ability to exercise such right or require such performance at any 174 | time thereafter nor shall the waiver of a breach constitute a waiver of any subsequent breach.

175 |

Translation Interpretation

176 |

These Terms and Conditions may have been translated if We have made them available to You on our Service. 177 | You agree that the original English text shall prevail in the case of a dispute.

178 |

Changes to These Terms and Conditions

179 |

We reserve the right, at Our sole discretion, to modify or replace these Terms at any time. If a revision is 180 | material We will make reasonable efforts to provide at least 30 days' notice prior to any new terms taking 181 | effect. What constitutes a material change will be determined at Our sole discretion.

182 |

By continuing to access or use Our Service after those revisions become effective, You agree to be bound by 183 | the revised terms. If You do not agree to the new terms, in whole or in part, please stop using the website 184 | and the Service.

185 |

Contact Us

186 |

If you have any questions about these Terms and Conditions, You can contact us:

187 | 190 |
191 | --------------------------------------------------------------------------------