Skip to content

Gestion de credenciales de desarrollo de manera local con acceso a otras app con el SDK

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.SDK
Notifications You must be signed in to change notification settings

martir5913/Arca.NET

Repository files navigation

Arca.NET

Gestor de secretos seguro y local para aplicaciones .NET

CaracterísticasInstalaciónSDKADRLicencia


¿Qué es Arca.NET?

Gestor de secretos 100% local para Windows. Almacena credenciales, API keys y connection strings de forma cifrada, accesibles via SDK para tus aplicaciones .NET.

Problema Solución
Credenciales en código fuente Vault cifrado externo
Sin control de acceso API Keys con permisos granulares
Sin auditoría Log de cada acceso
Dependencia cloud Local, <1ms latencia

Video Tutorial

Demo de Arca.NET


Características

  • AES-256-GCM + Argon2id para cifrado
  • API Keys con permisos por secreto
  • Auditoría completa de accesos
  • Export/Import entre servidores
  • Named Pipes (<1ms latencia)
  • System Tray (segundo plano)

Casos de Uso

Servidor con múltiples aplicaciones

+------------------------------------------------+
¦              Servidor Windows                  ¦
¦                                                ¦
¦  Arca.NET --> vault.vlt (cifrado)              ¦
¦     ¦                                          ¦
¦     +-- SAP App    (API Key: solo SAP_*)       ¦
¦     +-- Web API    (API Key: solo DB_*)        ¦
¦     +-- Worker     (API Key: solo SMTP_*)      ¦
+------------------------------------------------+

Múltiples servidores

Servidor SAP              Servidor Automatizaciones
   vault.vlt    --Export/Import--?    vault.vlt

Instalación

Requisitos: Windows 10+ / Server 2016+ • .NET 10

git clone https://github.com/martir5913/Arca.NET.git
cd Arca.NET
dotnet run --project Arca.NET

Ubicación del Vault

%LOCALAPPDATA%\Arca\
+-- vault.vlt      # Secretos cifrados
+-- vault.keys     # API Keys
+-- Logs\          # Auditoría

SDK

Instalación

dotnet add package Arca.SDK

Uso

using Arca.SDK.Clients;

var apiKey = Environment.GetEnvironmentVariable("ARCA_API_KEY");
using var arca = new ArcaSimpleClient(apiKey);

if (await arca.IsAvailableAsync())
{
    var connString = await arca.GetSecretValueAsync("ConnectionStrings:DB");
}

Manejo de errores

try {
    var secret = await arca.GetSecretValueAsync("MiClave");
}
catch (ArcaAccessDeniedException) { /* Sin permiso */ }
catch (ArcaSecretNotFoundException) { /* No existe */ }

Documentación completa: Arca.SDK/README.md


Decisiones Técnicas (ADR)

Decisión Justificación
AES-256-GCM AEAD: cifrado + autenticación en una operación
Argon2id Memory-hard, resistente a GPU/ASIC (OWASP recommended)
Named Pipes Solo local, <1ms, sin configuración de red
API Keys granulares Mínimo privilegio, revocación sin afectar otras apps
Formato binario Validación rápida, versionado, mínimo overhead
100% local Sin telemetría, funciona air-gapped

Estructura

Arca.NET/
+-- Arca.Core/           # Entidades, interfaces
+-- Arca.Infrastructure/ # Cifrado, persistencia
+-- Arca.SDK/            # Cliente para apps externas
+-- Arca.NET/            # UI WPF + servidor
+-- Arca.Daemon/         # Windows Service (opcional)

Licencia

Source Available License

Permitido No permitido
Uso personal Venta
Uso interno corporativo Redistribución comercial
Modificación propia Sublicenciar

Archivo: LICENSE


Roadmap v2.0

  • Expiración de API Keys
  • Backup automático
  • Tags/Categorías
  • gRPC remoto (mTLS)

Autor: Martir_Dev • GitHub: martir5913/Arca.NETEmail: martir.dev@gmail.com