Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
dvird committed Oct 22, 2024
2 parents d457741 + cdd5ff5 commit ec28b64
Show file tree
Hide file tree
Showing 2 changed files with 261 additions and 47 deletions.
270 changes: 223 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,115 @@
<a href="https://eartho.io">
<img src="https://github.com/eartho-group/media/blob/main/eartho_cover_1.png" alt="Logo">
</a>
<h1>The Open-Source, <br /> Privacy-Focused Alternative to Google Sign-In</h1>
<h1>The Open-Source, <br /> Privacy-Focused Alternative to Google Sign-In <br/> (In Construction, Join Us)</h1>
<p>
<b>Eartho</b> is an open-source authentication and user identity management system that prioritizes user privacy.
<b>Eartho</b> is an open-source authentication alternative that prioritizes user privacy.
It offers a flexible, secure, and privacy-first alternative to traditional login providers like Google Sign-In, Apple, or Facebook.
Eartho ensures that users' personal data stays protected from Big Tech tracking, while developers benefit from a simple, easy-to-integrate solution.
</p>
</div>

## How it works?
<h3 align="center">
<a href="https://eartho.io">Website</a>
| <a href="https://one.eartho.io">Eartho Account</a>
| <a href="https://earthoo.webflow.io/developers/demo/login-oauth">Demo</a>
| <a href="https://discord.gg/5QbuTNTG2q">Our Discord</a>
| <a href="contact@eartho.io">Contact Us</a>
</h3>

<div align="center">
<b>🌟 Please give us a star to help us continue and grow! 🌟</b>
</div>

<br /><br />

<table align="center" border="1" cellpadding="10">
<tr>
<th align="center">Name</th>
<th align="center">Image</th>
</tr>
<tr>
<td align="center"><b>Auth0</b></td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/example_auth0.png" alt="Auth0 Logo" width="200" />
</td>
</tr>
<tr>
<td align="center"><b>Clerk</b></td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/example_clerk_1.png" alt="Clerk Logo" width="200" />
</td>
</tr>
</table>


<br />

## Roadmap


**Ready and Available**

- **Multi-Provider Authentication**: Log in via Google, Facebook, Apple, GitHub, MetaMask, and more.
- **Seamless Developer Integration**: Quick setup with minimal code for easy logins.
- **Zero Tracking**: No data tracking—user information remains private.
- **Two-Factor Authentication (2FA)**: Secure logins with SMS, email, or authenticator apps.
- **Recent Activity Review**: Monitor and review account activity for unauthorized access.

**In Progress** 🚧

- **End-to-End Encryption**: Encrypt user data for enhanced security.
- **Trusted Devices Management**: Manage devices connected to your account.
- **Session Management**: Remotely log out from unrecognized devices.
- **Security Alerts**: Get real-time alerts for suspicious activity.
- **Advanced Antifraud System**: Detect and prevent fraudulent logins.
- **Privacy Checkup**: Review and adjust privacy settings.
- **Data from Connected Apps**: Manage permissions for apps connected to your account.
- **Plan Your Digital Legacy**: Set up account management for when you can no longer access it.
- **Autofill Support**: Autofill passwords and payment info for faster logins.
- **Eartho Pay**: Integrate payments securely alongside authentication.
- **Customizable UI**: Tailor Eartho’s login widget to fit your brand.
- **Biometric Authentication**: Fingerprint and facial recognition for secure access.
- **Anonymous Login**: Protect identities with anonymous access.
- **Advanced Analytics Dashboard**: Gain insights into account activity and data usage.
- **Granular Privacy Controls**: Set specific data permissions for apps.
- **Multi-Account Management**: Easily switch between multiple accounts.
- **Enhanced Offline Access**: Authenticate even without internet connectivity.

**Future**

- **Browser Extension**: Autofill, and more.
- **Eartho One Tap**: Users are prompted to create an account with a dialog that's inline with your app's content, so they're never taken out of context by a sign-up screen.

<br />

## How It Works

Eartho serves as a privacy-focused layer between users and major authentication providers like Google, Facebook, and others. When users log in using Eartho, they can still choose popular sign-in options such as **Google Sign-In** or **Facebook Login**, but with a critical difference: **Big Tech companies will no longer have access to your users’ data**.

### Key Process:
1. **User Login**:
- When a user selects a login option (e.g., Google or Facebook), Eartho wraps the process, acting as an intermediary between the user and the authentication provider.

2. **Eartho as the Provider**:
- While users still authenticate via their preferred service, Eartho handles the interaction and prevents the original provider (Google, Facebook, etc.) from seeing the internal application logic, user actions, or any personal data beyond what’s required for authentication.

3. **Data Protection**:
- All authentication data is encrypted and protected by Eartho. Big Tech providers can only process the basic login flow, but they cannot track the user's activity, personal preferences, or any other data within the app. Eartho ensures your users’ privacy by restricting data access only to the login process.

4. **Seamless Integration**:
- Eartho offers an easy-to-integrate solution for developers, requiring minimal changes to the existing login system. Your users will enjoy the same familiarity with major login providers, but with the added benefit of enhanced privacy and security through Eartho.

By wrapping major sign-in services, Eartho provides the best of both worlds: the convenience of popular authentication providers and the security of true privacy for users, ensuring that no personal data leaks to third-party companies.

<br /> <br />
<div align="center">
<a href="https://eartho.io">
<img src="https://github.com/eartho-group/media/blob/main/eartho_shield_illustration_white.svg" alt="Logo">
</a>
</div>

<br /><br />

## Table of Contents
1. [Features](#features)
Expand All @@ -26,12 +119,12 @@
4. [Usage](#usage)
5. [Configuration](#configuration)
6. [Authentication Methods Supported](#authentication-methods-supported)
7. [API Documentation](#api-documentation)
8. [Contributing](#contributing)
9. [Community & Support](#community--support)
10. [License](#license)

---

<br />

## Features

Expand All @@ -43,77 +136,71 @@
</tr>
<tr>
<td><b>Privacy-Focused</b></td>
<td>Zero data tracking or sharing—your users’ data is encrypted and only accessible by them.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/privacy.png" alt="Privacy Icon" width="64" height="64">
</td>
</tr>
<tr>
<td><b>Multi-Provider Login</b></td>
<td>Supports various social and crypto authentication providers like Google, Facebook, Apple, GitHub, MetaMask, and more.</td>
<td>Your personal data is yours alone. With Eartho, your information stays private—no tracking, no sharing.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/multi_provider.png" alt="Multi-Provider Login" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/readme/feature_3.png" alt="Privacy Icon" width="250">
</td>
</tr>
<tr>
<td><b>Easy Integration</b></td>
<td>Integrate Eartho into your existing platform with minimal setup and a clean API.</td>
<td><b>Manage Multiple Identities</b></td>
<td>Easily link and manage multiple accounts, from social media to crypto wallets, all in one place.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/easy_integration.png" alt="Easy Integration" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/readme/feature_1.png" alt="Easy Integration" width="250">
</td>
</tr>
<tr>
<td><b>Open Source</b></td>
<td>Built on open-source technologies and licensed under the MIT License for full transparency and control.</td>
<td><b>Security Checkups</b></td>
<td>Regularly check your account security and protect yourself from threats across all your linked accounts.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/open_source.png" alt="Open Source" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/readme/feature_2.png" alt="Multi-Provider Login" width="250">
</td>
</tr>
<tr>
<td><b>Customizable Privacy Settings</b></td>
<td>Allow users to control their own privacy settings and delete their data by date, product, or topic.</td>
<td><b>End-to-End Encryption</b></td>
<td>Your data is fully encrypted, meaning only you can access it—no one else, not even us.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/custom_settings.png" alt="Customizable Privacy Settings" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/readme/feature_4.png" alt="Encryption" width="250">
</td>
</tr>
<tr>
<td><b>End-to-End Encryption</b></td>
<td>Every piece of data is encrypted, ensuring no unauthorized access.</td>
<td><b>Autofill Support</b></td>
<td>Save time by letting Eartho autofill your passwords and payment details safely across all your devices.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/encryption.png" alt="Encryption" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/autofill.png" alt="Autofill" width="250">
</td>
</tr>
<tr>
<td><b>Zero Trust Architecture</b></td>
<td>Implements a zero-trust approach to authenticate each user action and keep accounts secure.</td>
<td><b>Built-in Payment System</b></td>
<td>Pay securely through Eartho’s built-in payment system, keeping your financial details private.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/zero_trust.png" alt="Zero Trust" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/payment_system.png" alt="Payment System" width="250">
</td>
</tr>
<tr>
<td><b>Autofill Support</b></td>
<td>Seamlessly autofill passwords and payment information across all platforms.</td>
<td><b>Proactive Security Alerts</b></td>
<td>Get instant notifications if anything suspicious happens with your account, so you can take action quickly.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/autofill.png" alt="Autofill" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/security_alerts.png" alt="Security Alerts" width="250">
</td>
</tr>
<tr>
<td><b>Built-in Payment System</b></td>
<td>Eartho integrates a privacy-first payment system, simplifying transactions for your users.</td>
<td><b>Zero Trust Architecture</b></td>
<td>Eartho treats every action as potentially risky and verifies everything to keep your account secure.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/payment_system.png" alt="Payment System" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/zero_trust.png" alt="Zero Trust" width="250">
</td>
</tr>
<tr>
<td><b>Proactive Security Alerts</b></td>
<td>Get real-time notifications for any suspicious activities.</td>
<td><b>Open Source</b></td>
<td>Eartho is built with transparency. You can trust how it works because the code is available for anyone to review.</td>
<td align="center">
<img src="https://github.com/eartho-group/media/blob/main/security_alerts.png" alt="Security Alerts" width="64" height="64">
<img src="https://github.com/eartho-group/media/blob/main/open_source.png" alt="Open Source" width="250">
</td>
</tr>
</table>

---

<br />

## Why Eartho?

Expand All @@ -127,7 +214,15 @@ Developers can integrate Eartho with a few lines of code and provide users with:

Eartho is built for developers who care about privacy and security, but don't want to compromise on ease of use.

---
## **Tech Stack** ⚙️

- **Backend**: Next.js API for authentication + Node.js to manage overall data and endpoints
- **Frontend**: Next.js (React)
- **Database**: Firestore(Should be replaced)
- **Cloud**: Google Cloud Platform (GCP)
- **Authentication**: OAuth 2.0, JWT

- **Auth.js**: Our one module use auth.js

## Installation

Expand All @@ -141,13 +236,96 @@ Eartho is built for developers who care about privacy and security, but don't wa

...

## **Developer? Add Eartho to Your App**

Enhance your app’s authentication with Eartho. It provides a **privacy-first login** experience that integrates easily into your existing system. With Eartho, you can offer users the convenience of popular sign-in options like **Google, Facebook, Apple**, and more—without compromising their privacy. We ensure that **Big Tech companies can’t track your users** or use their data against you.

### **Why Add Eartho?**
- **Privacy-First Authentication**: Eartho acts as a layer of protection between your users and Big Tech, preventing data tracking while still allowing users to log in with familiar providers.
- **Multiple Authentication Options**: Give your users the freedom to log in with **Google, Facebook, Apple**, **GitHub**, or even **MetaMask**—while keeping their data private.
- **Easy Integration**: Eartho simplifies the development process for login, sign-up, and profile management pages. With just one line of code, you can integrate Eartho seamlessly into your app.
- **No Migration Needed**: Continue using existing authentication providers without the need to migrate users or disrupt their experience. Eartho enhances privacy while keeping everything intact.
- **Advanced Security Features**: Eartho comes with an **advanced antifraud system**, using on-device machine learning to verify user authenticity and prevent fraud.

### **How to Add Eartho**
1. **Install the SDK**
Begin by installing the Eartho SDK via npm or yarn:
```bash
npm install @eartho/one-client-js
```
or
```bash
yarn add @eartho/one-client-js
```

2. **Initialize Eartho in Your App**
Configure Eartho by adding the following code snippet to your application:
```javascript
import Eartho from '@eartho/one-client-js';
const eartho = new EarthoOne({
client_id: 'YOUR_CLIENT_ID',
redirect_uri: 'YOUR_REDIRECT_URI'
});
```

3. **Add Login and Logout Features**
Implement login and logout functionality to allow users to sign in or out securely:
```javascript
function login() {
eartho.connectWithPopup().then(user => {
console.log('Logged in as:', user);
}).catch(err => {
console.error('Login failed:', err);
});
}
function logout() {
eartho.disconnect();
}
```

4. **Integrate Eartho Pay**
Eartho’s **integrated payment system** removes the need for manual connections between authentication and payment systems. Charge users securely, with ease.

### **Supported Platforms**
Eartho works seamlessly with a wide range of environments, including:
- **Firebase Auth**
- **Auth0**
- **Okta**
- **Clerk**
- **Custom OAuth Providers**

It supports various platforms—web, mobile, and browser extensions—making Eartho ideal for any project.

## Authentication Methods Supported

...
Eartho supports a wide range of authentication methods, allowing users to log in using their preferred provider while ensuring their privacy is maintained. Below are the supported authentication methods that users can choose from:

## Developer? Want to add us to your app?
### **Popular Authentication Providers:**
- **Google**: Log in with your Google account for seamless access.
- **Apple**: Use your Apple ID for secure and private authentication.
- **Facebook**: Sign in through Facebook while keeping your data private from Big Tech.
- **Twitter (X)**: Authenticate with your Twitter (X) account and remain protected.
- **GitHub**: Ideal for developers logging in with their GitHub accounts.

...
### **Additional Methods:**
- **Email**: Secure login via one-time password (OTP) sent to your email.
- **SMS**: Authenticate using a code sent directly to your phone via SMS.
- **VK**: Support for VK, a popular platform in Eastern Europe and Russia.
- **Reddit**: Login via Reddit for users active on the platform.
- **Yandex**: A secure login option through Yandex.
- **MetaMask**: For crypto enthusiasts, log in using your MetaMask wallet.
- **Wave**: Authentication via Wave for added flexibility.

### **How It Works**:
Eartho wraps these providers, acting as a privacy layer, which means your login process goes through Eartho. This ensures that while the authentication provider can verify your credentials, they don't gain access to your app activity or personal information—keeping your data safe and secure.
<div align="center">
<a href="https://eartho.io">
<img src="https://github.com/eartho-group/media/blob/main/authentication_methods.png" height="264" width="264" alt="Logo">
</a>
</div>
<h2>Contributing</h2>
<p>
Expand All @@ -172,8 +350,6 @@ Eartho is built for developers who care about privacy and security, but don't wa
Contributions can range from code improvements, documentation updates, or even bug reports. Every contribution helps make Eartho better for everyone!
</p>

<hr>

<h2>Community & Support</h2>
<p>
Join our vibrant community of developers and privacy advocates who are helping to shape the future of Eartho! Here’s how you can get involved:
Expand All @@ -184,8 +360,6 @@ Eartho is built for developers who care about privacy and security, but don't wa
<li><strong>Our Website</strong>: Follow us on <a href="https://eartho.io">Eartho</a> for updates, news, and announcements.</li>
</ul>

<hr>

<h2>License</h2>
<p>
Each package is licensed individually.
Expand All @@ -203,3 +377,5 @@ Here are the copyrights and the license type:
- MIT License, Copyright (c) 2020 Jose
- MIT License, Copyright (c) 2016 Filip Skokan
- MIT License, Copyright (c) 2020 Ville de Montréal
- MIT License, Copyright (c) 2020 Ville de Montréal
- ISC License, Copyright (c) 2022-2024, Balázs Orbán (Auth.js)
Loading

0 comments on commit ec28b64

Please sign in to comment.