VoidAccess
VoidAccess는 한 질문으로 보안 피드를 병렬 검색해 지표를 돌려준다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Demuestra que eres una persona real y mayor de edad en cualquier sitio web sin entregar tu pasaporte, tu foto ni tu nombre. ZeroID verifica atributos, no personas. Lee tu pasaporte y tu rostro una sola vez, en memoria, y descarta las imágenes al instante. Te entrega una credencial firmada que vive en tu dispositivo. Cuando un sitio pregunta "¿es mayor de edad?", recibe un sí o un no, nunca tus datos.README 전문 보기 ↗
Demuestra que eres una persona real y mayor de edad en cualquier sitio web sin entregar tu pasaporte, tu foto ni tu nombre.
ZeroID verifica atributos, no personas. Lee tu pasaporte y tu rostro una sola vez, en memoria, y descarta las imágenes al instante. Te entrega una credencial firmada que vive en tu dispositivo. Cuando un sitio pregunta "¿es mayor de edad?", recibe un sí o un no, nunca tus datos.
| Carpeta | Qué es | Stack |
|---|---|---|
frontend/ | Web: landing, registro, panel del usuario y el SDK (/sdk/zeroid.js) | Next.js 16, React 19 |
backend/ | Oráculo: verificación, credenciales y API para sitios | FastAPI, DeepFace, Gemini, PostgreSQL + pgvector |
app/ | App móvil: vincula el teléfono, aprueba inicios de sesión y muestra tus conexiones | Expo SDK 58, expo-router |
docs/ | Arquitectura y guía de despliegue |
| Parte | Dónde |
|---|---|
| Web | Vercel: platanus-hack-14.vercel.app |
| Demo de Expreso Caribe | Vercel, desde su propio repo (ver abajo) |
| Backend | DigitalOcean App Platform: https://octopus-app-h5zq3.ondigitalocean.app (docs de la API) |
| Base de datos | Neon (Postgres con pgvector) |
Para publicar cambios, sigue docs/despliegue.md.
cd backend
docker compose up -d db
Levanta Postgres 16 con pgvector en localhost:5432 (usuario, contraseña y base zeroid). Las tablas se crean solas cuando arranca el backend.
cd backend
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # macOS / Linux
pip install -r requirements-dev.txt
cp .env.example .env
Completa backend/.env:
| Variable | Valor en local |
|---|---|
DATABASE_URL | postgresql://zeroid:zeroid@localhost:5432/zeroid |
DATABASE_URL_UNPOOLED | Vacía |
JWT_PRIVATE_KEY | Una llave RSA en PEM (ver abajo) |
HASH_PEPPER | Un secreto aleatorio (ver abajo); el backend no arranca con el valor de ejemplo |
GEMINI_API_KEY | Tu key de Gemini |
CORS_ORIGINS | http://localhost:3000 |
Para generar los dos secretos:
python -c "from cryptography.hazmat.primitives.asymmetric import rsa; from cryptography.hazmat.primitives import serialization as s; k=rsa.generate_private_key(public_exponent=65537,key_size=2048); print(k.private_bytes(s.Encoding.PEM,s.PrivateFormat.PKCS8,s.NoEncryption()).decode())"
python -c "import secrets; print(secrets.token_hex(32))"
Arranca el servidor desde backend/, porque ahí es donde lee el .env:
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
--host 0.0.0.0 permite que el teléfono llegue al backend por la red local. En Windows, autoriza el puerto 8000 en el firewall.
cd frontend
npm install
cp .env.example .env.local
npm run dev
La web queda en http://localhost:3000.
La demo de una empresa que integra el SDK es un proyecto independiente, en su propio repo. Clónalo junto a este, en una carpeta expreso-caribe al mismo nivel que este repo.
Registra el cliente de la demo. El script escribe sus llaves en ../expreso-caribe/.env.local; si la clonaste en otro lugar, usa --env-file:
cd backend
python -m scripts.demo_client
Luego, en el repo de la demo:
npm install
npm run dev
La demo queda en http://localhost:3001. Por defecto carga el SDK desde http://localhost:3000 y canjea los inicios de sesión contra http://localhost:8000.
cd app
npm install --legacy-peer-deps
cp .env.example .env
npx expo start -c
En app/.env, pon EXPO_PUBLIC_API_URL con la IP de tu computador en la red (por ejemplo http://192.168.1.10:8000), no localhost. Escanea el QR con Expo Go.
cd backend
pytest -m "not integration" -q # sin base de datos
pytest -q # todas; requieren Postgres en DATABASE_URL
Para la web y la app no hay pruebas automáticas; antes de subir cambios comprueba que compilan:
cd frontend && npx next build
cd app && npx tsc --noEmit
Desde backend/:
| Comando | Qué hace |
|---|---|
python -m scripts.demo_client [--origin URL] [--env-file RUTA] | Registra Expreso Caribe como cliente del SDK |
python -m scripts.reset_db --yes | Borra usuarios, cuentas, conexiones y solicitudes. Conserva las tablas y los clientes del SDK. Usa la base de DATABASE_URL: revisa que no sea la de producción. |
docs/arquitectura.md: flujos y decisiones de diseño.docs/despliegue.md: cómo está publicado el proyecto y cómo subir cambios.