Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
393bb31
chore: sanitize code and docs (remove emojis)
DGuedz Feb 11, 2026
ababf84
chore: remove remaining emojis from docs and src
DGuedz Feb 11, 2026
4c6e359
feat: update platform design with premium team page and modern UI
DGuedz Feb 11, 2026
20eeed5
feat: backend api setup with hono and eas integration
DGuedz Feb 13, 2026
ea23f51
chore: add temporary test files for backend verification
DGuedz Feb 13, 2026
e4833b5
feat(security): implement pausable contracts, AWS KMS support and CI …
DGuedz Feb 13, 2026
e2ca543
chore(release): harden deploy and publish institutional whitepaper up…
DGuedz Feb 27, 2026
7f93d59
feat: enable juror-focused evaluation mode for institutional site
DGuedz Feb 27, 2026
3e2c6eb
docs: refine 2026 Centelha roadmap narrative in project presentation
DGuedz Feb 27, 2026
4bf94e4
docs: align presentation and whitepaper rationale, roadmap, and KPI f…
DGuedz Feb 27, 2026
936f89d
feat: harden KMS/Web3 ops and add certification system-status controls
DGuedz Feb 27, 2026
4db68a9
docs: add web3 security plan and institutional sepolia deploy checklist
DGuedz Feb 27, 2026
94ecc3a
chore(eval-mode): enforce public route allowlist
DGuedz Feb 27, 2026
5343117
security: harden public repo with secret scan gates
DGuedz Feb 27, 2026
62664ba
security: sanitize public repo and add history audit tooling
DGuedz Feb 27, 2026
d8f2585
security: add public PII audit and centelha go-no-go gate
DGuedz Feb 27, 2026
4058d04
docs(security): add branch protection automation and blocker note
DGuedz Feb 27, 2026
249047d
docs(readme): align public narrative with whitepaper and centelha eva…
DGuedz Feb 27, 2026
beda023
docs: reorganize README for juror-first evaluation and add licensing …
DGuedz Feb 28, 2026
4dbc4b6
docs: split README into executive intro and detailed source guide
DGuedz Feb 28, 2026
8e10e1a
chore: declutter src root by archiving legacy docs for juror-friendly…
DGuedz Feb 28, 2026
48023e8
docs: create juror-first landing flow with START HERE guide
DGuedz Feb 28, 2026
4775f35
docs: add one-screen executive panel for juror first impression
DGuedz Feb 28, 2026
8df4c14
security: add CI gate, incident playbook, and calendar automation
DGuedz Feb 28, 2026
604eefb
chore: add bootstrap script and allowlist calendar placeholder
DGuedz Feb 28, 2026
d373e7c
merge: resolve main conflicts for PR #5
DGuedz Feb 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,13 @@ AWS_SECRET_ACCESS_KEY=""
# --- SECURITY ---
# Pausable Roles
ADMIN_ADDRESS="0x..."

# --- GOOGLE CALENDAR (CRONOGRAMA GEMLAB) ---
# ID do calendario (Settings > Integrate calendar > Calendar ID)
GOOGLE_CALENDAR_ID=""
# Data de inicio do ciclo de 12 meses (YYYY-MM-DD), ex: 2026-06-01
GEMLAB_PROJECT_START_DATE=""
# Opcao 1: caminho local para o JSON da Service Account
GOOGLE_SERVICE_ACCOUNT_FILE=""
# Opcao 2: JSON da Service Account em base64 (recomendado para CI)
GOOGLE_SERVICE_ACCOUNT_KEY_BASE64=""
34 changes: 34 additions & 0 deletions .github/workflows/security-gate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Security Gate

on:
push:
branches: [main, "release/**"]
pull_request:
branches: [main, "release/**"]

jobs:
app-security-gate:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- name: Install deps
run: npm ci

- name: Build
run: npm run build

- name: Dependency security gate (prod high/critical)
run: npm audit --audit-level=high --omit=dev

- name: Preflight release checks
run: SKIP_BUILD=1 npm run preflight:release

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ vercel-debug.log
*.key
gcp-oauth.keys.json
.gdrive-server-credentials.json
google-service-account*.json
.vercel
security/reports/
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,6 @@

- Arquitetura EAS: [`docs/EAS_GEMLAB_ARQUITETURA.md`](./docs/EAS_GEMLAB_ARQUITETURA.md)
- Hardening publico: [`docs/GITHUB_PUBLIC_HARDENING_CHECKLIST.md`](./docs/GITHUB_PUBLIC_HARDENING_CHECKLIST.md)
- Baseline de seguranca: [`docs/SECURITY_BASELINE_2026-02-28.md`](./docs/SECURITY_BASELINE_2026-02-28.md)
- Guia detalhado de projeto: [`src/README.md`](./src/README.md)
- Licenciamento segmentado: [`LICENSING.md`](./LICENSING.md)
6 changes: 6 additions & 0 deletions docs/GITHUB_PUBLIC_HARDENING_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Run from repo root:
```bash
SKIP_BUILD=1 bash scripts/preflight_release.sh
bash scripts/security_audit_history.sh
bash scripts/pii_audit_public.sh
```

If either command fails, do not push.
Expand Down Expand Up @@ -37,6 +38,10 @@ If either command fails, do not push.

Target response time: under 30 minutes from detection.

Incident flow reference:

- `security/INCIDENT_RESPONSE_PLAYBOOK.md`

## 5) PII hygiene before public release

Run a quick scan and manually review hits:
Expand All @@ -62,3 +67,4 @@ GO only if all are true:
- CI secret scan green
- PII scan reviewed
- Route allowlist aligned with evaluation scope
- `npm audit --audit-level=high --omit=dev` passed
56 changes: 56 additions & 0 deletions docs/GOOGLE_CALENDAR_CRONOGRAMA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Google Calendar - Cronograma GEMLAB (12 meses)

Este fluxo cria os marcos M1-M12 do projeto no Google Calendar usando API.

## 1) Preparar credenciais Google

1. Crie um projeto no Google Cloud.
2. Ative a API `Google Calendar API`.
3. Crie uma **Service Account** e gere a chave JSON.
4. Compartilhe o calendario com o e-mail da Service Account com permissao de edicao.

## 2) Variaveis de ambiente

Preencha no `.env`:

```env
GOOGLE_CALENDAR_ID="seu_calendar_id@group.calendar.google.com"
GEMLAB_PROJECT_START_DATE="2026-06-01"
GOOGLE_SERVICE_ACCOUNT_FILE="/caminho/seguro/google-service-account.json"
```

Alternativa para CI/CD:

```env
GOOGLE_SERVICE_ACCOUNT_KEY_BASE64="<json_base64>"
```

## 3) Testar sem gravar

```bash
npm run calendar:dry-run
```

## 4) Sincronizar de fato

```bash
npm run calendar:sync
```

O script usa `--replace`, removendo eventos antigos com prefixo `GEMLAB |` dentro da janela de 12 meses.

## 5) Eventos criados

- M1-M2 Estruturacao Tecnica e Governanca
- M3-M4 Desenvolvimento MVP + Testnet
- M5-M6 Validacao Tecnica e Piloto Operacional
- M7 Marco Feira das Esmeraldas 2026
- M8-M9 Expansao do Piloto
- M10-M11 Preparacao Comercial GTM
- M12 Lancamento GTM e Encerramento

## Observacoes de seguranca

- Nao commitar arquivo JSON da Service Account.
- Use `.env` local ou segredo no pipeline.
- Revogue e regenere chave se houver suspeita de exposicao.
45 changes: 45 additions & 0 deletions docs/SECURITY_BASELINE_2026-02-28.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# GEMLAB Security Baseline (2026-02-28)

Objetivo: registrar estado de seguranca antes da insercao de segredos de producao.

## 1) Controles implementados

- Secret scan no CI: `.github/workflows/secret-scan.yml`
- Security gate no CI: `.github/workflows/security-gate.yml`
- Preflight local com:
- varredura de segredos
- validacao de arquivos criticos
- gate de `npm audit --audit-level=high --omit=dev`
- Playbook de incidente: `security/INCIDENT_RESPONSE_PLAYBOOK.md`

## 2) Comando unico de validacao

```bash
npm run security:check
```

Este comando executa:

1. `SKIP_BUILD=1 bash scripts/preflight_release.sh`
2. `bash scripts/security_audit_history.sh`
3. `bash scripts/pii_audit_public.sh`

## 3) Politica de segredos

- Nunca commitar `.env` ou JSON de service account.
- Segredos apenas em secret manager (Vercel/AWS/GitHub Secrets).
- Rotacao obrigatoria em suspeita de exposicao.

## 4) Risco residual atual

- Sem vulnerabilidades `critical/high` bloqueantes em runtime de producao no gate configurado.
- Dependencias de tooling Web3 (Hardhat/ecossistema legacy) ainda trazem advisories `low/moderate`.
- Correcao total dessas dependencias exige migrao major de stack e sera executada em branch dedicada de hardening.

## 5) Condicao GO para adicionar chaves

- [ ] `npm run security:check` passou.
- [ ] Workflows de CI verdes em `main`.
- [ ] Nenhum segredo detectado em historico/working tree.
- [ ] Escopo minimo de credenciais definido.

Loading
Loading