Skip to content

docs: expand responsible disclosure security scope - #503

Open
victordb9997 wants to merge 92 commits into
collinsadi:mainfrom
victordb9997:docs/security-disclosure-scope-447
Open

docs: expand responsible disclosure security scope#503
victordb9997 wants to merge 92 commits into
collinsadi:mainfrom
victordb9997:docs/security-disclosure-scope-447

Conversation

@victordb9997

Copy link
Copy Markdown

Closes #447

Summary

  • Expanded SECURITY.md with confidential reporting channels, response SLAs, disclosure timeline, safe-harbor language, and bounty/reward expectations.
  • Added explicit in-scope assets covering contracts, circuits, frontend, scanner, deployments, and tooling.
  • Pointed researchers to deployment manifests as the source of truth for current contract IDs and noted current template/not-deployed status.
  • Linked the disclosure process from README.md.

Validation

  • Documentation-only change; reviewed rendered Markdown structure and links locally.
  • No code or generated artifacts changed.

collinsadi and others added 12 commits June 8, 2026 20:44
Update clone URLs, security links, deployment manifests, and docs
for the canonical opauque-stellar home. Remove the contributors
section that referenced the previous repository.
Drop ci.yml and release.yml from this repository.
…ollinsadi#131

collinsadi#103 - Replace placeholder ENS/federation resolver with Stellar SEP-2 federation
collinsadi#129 - Add graceful unavailable states for incomplete reputation features
collinsadi#130 - Clean up Solana-era names, add Stellar-correct deprecation aliases
collinsadi#131 - Add strict no-stub policy with mainnet feature gates
…rker-proof-generation

 Add browser worker for proof generation
…link (collinsadi#496 collinsadi#497 collinsadi#498 collinsadi#499)

- scripts/event-decoder: typed Soroban event decoder with version guard, AnnouncementEvent / AttestationCreated / AttestationRevoked types, batch helper, and example indexer (collinsadi#496)
- frontend/src/lib/wasmSupport.ts: isWasmSupported() detection utility (collinsadi#497)
- frontend/src/components/WasmUnsupportedNotice.tsx: graceful degradation notice shown when WASM unavailable (collinsadi#497)
- frontend/src/components/PrivateBalanceView.tsx: early return with WasmUnsupportedNotice when browser lacks WebAssembly (collinsadi#497)
- frontend/src/lib/horizonBatch.ts: batchReadNativeBalances() with concurrency limit of 5 and per-account error isolation (collinsadi#498)
- frontend/src/components/Footer.tsx: Network status link pointing to https://status.stellar.org (collinsadi#499)
…-wasm-fallback-batch-status-496-497-498-499

feat: event decoder SDK, WASM fallback, Horizon batching, Stellar status link (collinsadi#496 collinsadi#497 collinsadi#498 collinsadi#499)
…dation-abi-scval-proof

feat(frontend): Zod config validation, BytesN<32> encoding, proof ordering tests, contract types
@victordb9997
victordb9997 requested a review from collinsadi as a code owner June 24, 2026 17:41
Themancalledpg and others added 17 commits June 24, 2026 20:37
…er caching

- ContractCostEstimator: simulates attest/verify contract calls via rpc.Server
  and displays resource fee, network fee, and total before Freighter signing;
  integrated into IssueTraitModal above the confirm button (collinsadi#492)
- Lazy WASM: useOpaqueWasm already defers init to useEffect; added loading spinner
  and disabled generate button in ProofGeneratorModal while WASM initialises;
  vite.config.ts comment clarifies WASM chunk exclusion from initial bundle (collinsadi#494)
- OperatorDashboard: /operator route with VITE_OPERATOR_SECRET auth gate, 24h
  announcement count and proofs-verified from ProtocolLogContext, indexer lag
  chart, sign-out; deploy docs at frontend/docs/operator-dashboard.md (collinsadi#493)
- Service worker: frontend/public/sw.js with cache-first for static assets,
  network-only for RPC/API/WASM, cache busting via Vite hashed filenames,
  old cache eviction on activate, SW_UPDATED notification to clients;
  registered in main.tsx; SwUpdateBanner in App.tsx shows reload prompt (collinsadi#495)
…timator-lazy-wasm-dashboard-sw

feat: gas cost estimator, lazy WASM loading, operator dashboard, service worker caching
- Add local CI runner script (scripts/ci-local.sh) mirroring GitHub Actions checks
- Add WASM size budget check (scripts/check-wasm-sizes.ts) with per-contract thresholds
- Add artifact signing and verification scripts (scripts/sign-release-artifacts.ts,
  scripts/verify-artifact-signatures.ts) with public verification key
- Document all new checks in CONTRIBUTING.md with quick-start ci:local command

Refs collinsadi#362, collinsadi#361, collinsadi#359
…y read APIs (collinsadi#368, collinsadi#369)

Add paginated `get_delegates(schema_id, offset, limit)` and
`list_schemas_by_authority(authority, offset, limit)` to the schema-registry
contract. Authority-indexed IDs are tracked at register time so listing by
authority is O(1) storage lookup rather than a full scan.

Co-Authored-By: Claude <noreply@anthropic.com>
…-schema-freeze

feat: add delegate helpers, get_delegates, list_schemas_by_authority, and reputation-verifier freeze
ci: add CI runner, WASM budgets, staging deploy, and artifact signing
…y-chain-audit-gate

Add npm supply-chain audit gate for frontend dependencies
…t-363-366

Wire management actions and ops automation
…tests

- RFC 0001 proposes optional XLM/SAC fees with escrow/refund for attest and
  verify_reputation, covering payer/recipient/failure modes with no change
  to the existing zero-fee paths.
- reputation-verifier gains an opt-in timelock (delay defaults to 0, i.e.
  unchanged immediate behavior): set_timelock_delay, schedule/execute/cancel
  pending actions for update_merkle_root and a new transfer_admin.
- New @opaque-stellar/sdk-readonly package publishes typed read clients for
  all four contracts' public getters, versioned against the deployment
  manifest's schemaVersion, with integrator docs and usage examples.
- attestation-engine-v2, reputation-verifier, and stealth-announcer each get
  a footprint regression test measuring CPU/memory budget for attest,
  verify_reputation, and announce, wired into a new CI job.

Closes collinsadi#379
Closes collinsadi#380
Closes collinsadi#381
Closes collinsadi#382
…lock-sdk-footprint-tests

Fee RFC, admin timelock, read-only SDK, and footprint regression tests
…er-query-attestation-metric-simulation-helper
…th-scheme-batch-nullifier-query-attestation-metric-simulation-helper

feat(core): Ed25519 stealth scheme, batch nullifier query, attestation metrics, simulation helper
trustosaretin and others added 28 commits June 27, 2026 08:49
- Create circuits/v3/ directory with stealth_reputation_v3.circom
- Add v3 README.md with RFC for batched multi-attribute proofs
- Add feature flag circuitV3 for gating v3 until audited
- Add placeholder v3 entry in artifacts/manifest.json

Closes collinsadi#407
- Create ingest-ceremony-artifacts.ts for automated ceremony output ingestion
- Add ceremony ingestion runbook with step-by-step operator instructions
- Support dry-run mode for safe preview of changes
- Support verify-only mode for artifact hash verification
- Auto-sync manifest and contract VK after ingestion

Closes collinsadi#408
- Add ProofWorkerTimeoutConfig for configurable timeout settings
- Add withTimeout utility for wrapping promises with timeout
- Add timeout message type to WorkerResponse
- Add ProofGenerationTimeoutError with actionable error messages
- Support cancellation via AbortSignal
- Default timeouts: 30s witness, 2min proof generation
- Worker cleaned up on timeout or cancellation

Closes collinsadi#409
- Create circuits/benchmarks/ directory with benchmark suite
- Add benchmark-suite.ts for measuring witness + proof time
- Support multiple device profiles (desktop, laptop, mobile)
- Add P95 targets documentation for mobile devices
- Add CI workflow for automated benchmark runs
- Results stored in circuits/benchmarks/results/
- PR comments with benchmark results

Closes collinsadi#410
…improvements

feat: Circuit V3 scaffold, ceremony automation, witness timeout, and benchmarks
Resolved conflicts by combining:
- Scanner worker support from main (collinsadi#401)
- Event deduplication from main (collinsadi#402)
- Checkpoint persistence from this branch (collinsadi#396)
- Rate limit backoff from this branch (collinsadi#397)
- Telemetry from this branch (collinsadi#398)
- SIMD evaluation from this branch (collinsadi#395)

All features are now integrated and compatible.
…ents

Add scanner improvements: telemetry, rate-limit backoff, checkpoints,…
…in and in frontend

- Add MetadataTooLarge (error 16) to attestation engine so oversized payloads
  produce a clear, distinct error before any cross-contract validation runs
- Expose MAX_ATTESTATION_PAYLOAD_LEN as pub const and add query_metadata_size_limit()
  read-only entrypoint so clients can discover the cap without hard-coding it
- Frontend AttestationManager now computes live encoded payload size as fields
  are filled in and renders a byte-budget progress bar (X / 512 bytes); submit
  is disabled and an inline message shown when the budget is exceeded
- Add docs/integrators/schema-authoring-guide.md documenting all payload/field
  size limits with worst-case sizing examples and encoding rules for schema authors
feat: attestation metadata size limits, schema field validation, indexer backend & scanner config
…fety-delay-442

Add clipboard safety delay for sensitive copies
…sadi#446

collinsadi#443 — Add network mismatch recovery wizard with step-by-step guide
collinsadi#444 — Add integrator quickstart guide (docs/INTEGRATOR_QUICKSTART.md)
collinsadi#445 — Add wave-2 roadmap public document (docs/ROADMAP.md)
collinsadi#446 — Add mobile wallet browser compatibility matrix (docs/MOBILE_COMPATIBILITY.md)
- Document in-scope assets (contracts, circuits, frontend, tooling)
- Add safe harbor statement protecting researchers
- Specify reporting methods (GitHub Security Advisory, email)
- Define response SLAs (acknowledgment, assessment, patch)
- Set 90-day disclosure timeline
- Link to deployment manifest for contract addresses

Resolves collinsadi#447
- Create comprehensive privacy appendix covering data retention, telemetry opt-in
- Document local storage (keys, nullifiers, state) remaining on device
- Define data subject rights (access, erasure, portability, etc.)
- Clarify third-party processors and on-chain data implications
- Link from DISCLAIMER.md with key privacy points
- Include response timeline for data requests (30 days)

Resolves collinsadi#448
- Document feature-by-feature parity across protocol, contracts, frontend
- Rating system: GA (generally available), Beta, Missing
- Clarify Solana-only features and Stellar equivalents
- Provide migration checklist for porting integrations
- Include breaking changes and key differences (keys, RPC, fees)
- Link to deployment manifest and quickstart guides
- Maintain status for testnet vs mainnet (mainnet Q3 2026)

Resolves collinsadi#449
- Document field types (bool, u8, u32, u64, bytes32, string)
- Cover constraints: min/max for numerics, max_length for strings
- Explain proof-friendly design: field count, type selection, bounds
- Define anti-patterns: unbounded strings, nested objects, redundancy
- Provide deprecation strategy for schema evolution
- Include practical checklist and performance targets
- Add complete examples (KYC, financial credentials)
- Link to integrator docs and circuit implementation

Resolves collinsadi#450
…-parity-schema-docs

docs: add security, privacy, parity, and schema guides
…emo-versioning

docs: Add comprehensive documentation for operators, users, and integrators
@victordb9997
victordb9997 force-pushed the docs/security-disclosure-scope-447 branch from 3b410e7 to bc303f3 Compare June 29, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add responsible disclosure bounty scope doc