diff --git a/.well-known/stack.json b/.well-known/stack.json index 3bbce1e..a42a24b 100644 --- a/.well-known/stack.json +++ b/.well-known/stack.json @@ -1,7 +1,7 @@ { "contract": "web4/1", - "generated": "2026-09-28", - "hub": "https://github.com/FlashyLabs/web4", + "generated": "2026-10-27", + "hub": "https://github.com/AgenteLabs/web4", "wellKnown": "/.well-known/stack.json", "principle": "Own the open protocols through which agents discover, identify, authorize, trust, transact with and audit one another — not the agents.", "layers": [ @@ -11,7 +11,7 @@ "repos": [ { "name": "flashyid-spec", - "url": "https://github.com/FlashyLabs/flashyid-spec", + "url": "https://github.com/AgenteLabs/flashyid-spec", "kind": "spec", "contract": "delegation/1", "status": "draft", @@ -19,7 +19,7 @@ }, { "name": "flashyid", - "url": "https://github.com/FlashyLabs/flashyid", + "url": "https://github.com/AgenteLabs/flashyid", "kind": "impl", "status": "exists", "visibility": "private" @@ -32,7 +32,7 @@ "repos": [ { "name": "agentgraph", - "url": "https://github.com/FlashyLabs/agentgraph", + "url": "https://github.com/AgenteLabs/agentgraph", "kind": "spec", "contract": "graph/1", "status": "draft", @@ -40,7 +40,7 @@ }, { "name": "therealm", - "url": "https://github.com/FlashyLabs/therealm", + "url": "https://github.com/AgenteLabs/therealm", "kind": "impl", "contract": "realm/1", "status": "exists", @@ -54,7 +54,7 @@ "repos": [ { "name": "intent-spec", - "url": "https://github.com/FlashyLabs/intent-spec", + "url": "https://github.com/AgenteLabs/intent-spec", "kind": "spec", "contract": "intent/1", "status": "draft", @@ -63,7 +63,7 @@ }, { "name": "intentmesh", - "url": "https://github.com/FlashyLabs/intentmesh", + "url": "https://github.com/AgenteLabs/intentmesh", "kind": "impl", "status": "exists", "visibility": "private" @@ -76,7 +76,7 @@ "repos": [ { "name": "magician", - "url": "https://github.com/FlashyLabs/magician", + "url": "https://github.com/AgenteLabs/magician", "kind": "impl", "contract": "trust/1", "status": "exists", @@ -84,7 +84,7 @@ }, { "name": "Rites-Network", - "url": "https://github.com/FlashyLabs/Rites-Network", + "url": "https://github.com/AgenteLabs/Rites-Network", "kind": "impl", "contract": "ritual/1", "status": "exists", @@ -106,7 +106,7 @@ "repos": [ { "name": "agent-wellknown", - "url": "https://github.com/FlashyLabs/agent-wellknown", + "url": "https://github.com/AgenteLabs/agent-wellknown", "kind": "spec", "contract": "agent/1", "status": "draft", @@ -115,7 +115,7 @@ }, { "name": "agent-dns", - "url": "https://github.com/FlashyLabs/agent-dns", + "url": "https://github.com/AgenteLabs/agent-dns", "kind": "spec", "contract": "agent-dns/1", "status": "draft", @@ -123,7 +123,7 @@ }, { "name": "bastion", - "url": "https://github.com/FlashyLabs/bastion", + "url": "https://github.com/AgenteLabs/bastion", "kind": "product", "status": "private-intended", "visibility": "public", @@ -137,7 +137,7 @@ "repos": [ { "name": "aao", - "url": "https://github.com/FlashyLabs/aao", + "url": "https://github.com/AgenteLabs/aao", "kind": "spec+impl", "contract": "aao/0.1", "status": "exists", @@ -152,28 +152,28 @@ "repos": [ { "name": "flashyos", - "url": "https://github.com/FlashyLabs/flashyos", + "url": "https://github.com/AgenteLabs/flashyos", "kind": "impl", "status": "exists", "visibility": "private" }, { "name": "flashyos-spec", - "url": "https://github.com/FlashyLabs/flashyos-spec", + "url": "https://github.com/AgenteLabs/flashyos-spec", "kind": "spec", "status": "exists", "visibility": "public" }, { "name": "flashyos-tools", - "url": "https://github.com/FlashyLabs/flashyos-tools", + "url": "https://github.com/AgenteLabs/flashyos-tools", "kind": "tooling", "status": "exists", "visibility": "public" }, { "name": "agentfile", - "url": "https://github.com/FlashyLabs/agentfile", + "url": "https://github.com/AgenteLabs/agentfile", "kind": "tooling", "status": "exists", "visibility": "public" @@ -186,7 +186,7 @@ "repos": [ { "name": "agentpay", - "url": "https://github.com/FlashyLabs/agentpay", + "url": "https://github.com/AgenteLabs/agentpay", "kind": "spec", "contract": "pay-policy/1", "status": "draft", @@ -194,28 +194,28 @@ }, { "name": "flashyos-wdk", - "url": "https://github.com/FlashyLabs/flashyos-wdk", + "url": "https://github.com/AgenteLabs/flashyos-wdk", "kind": "impl", "status": "exists", "visibility": "public" }, { "name": "flashy-rails", - "url": "https://github.com/FlashyLabs/flashy-rails", + "url": "https://github.com/AgenteLabs/flashy-rails", "kind": "impl", "status": "exists", "visibility": "private" }, { "name": "flashy-ledger", - "url": "https://github.com/FlashyLabs/flashy-ledger", + "url": "https://github.com/AgenteLabs/flashy-ledger", "kind": "impl", "status": "exists", "visibility": "public" }, { "name": "flashy-contracts", - "url": "https://github.com/FlashyLabs/flashy-contracts", + "url": "https://github.com/AgenteLabs/flashy-contracts", "kind": "impl", "status": "exists", "visibility": "private" @@ -236,7 +236,7 @@ }, { "name": "chronicle", - "url": "https://github.com/FlashyLabs/chronicle", + "url": "https://github.com/AgenteLabs/chronicle", "kind": "impl", "contract": "chronicle/1", "status": "exists", @@ -244,7 +244,7 @@ }, { "name": "flashy-network", - "url": "https://github.com/FlashyLabs/flashy-network", + "url": "https://github.com/AgenteLabs/flashy-network", "kind": "impl", "status": "exists", "visibility": "private", @@ -256,21 +256,21 @@ "tooling": [ { "name": "conformance-kit", - "url": "https://github.com/FlashyLabs/conformance-kit", + "url": "https://github.com/AgenteLabs/conformance-kit", "kind": "tooling", "status": "exists", "visibility": "public" }, { "name": "mesh-lint", - "url": "https://github.com/FlashyLabs/mesh-lint", + "url": "https://github.com/AgenteLabs/mesh-lint", "kind": "tooling", "status": "exists", "visibility": "public" }, { "name": "flashy-infra", - "url": "https://github.com/FlashyLabs/flashy-infra", + "url": "https://github.com/AgenteLabs/flashy-infra", "kind": "tooling", "status": "exists", "visibility": "private" @@ -279,28 +279,28 @@ "teaching": [ { "name": "flashy-docs", - "url": "https://github.com/FlashyLabs/flashy-docs", + "url": "https://github.com/AgenteLabs/flashy-docs", "kind": "docs", "status": "exists", "visibility": "public" }, { "name": "flashy-examples", - "url": "https://github.com/FlashyLabs/flashy-examples", + "url": "https://github.com/AgenteLabs/flashy-examples", "kind": "docs", "status": "exists", "visibility": "public" }, { "name": "web4", - "url": "https://github.com/FlashyLabs/web4", + "url": "https://github.com/AgenteLabs/web4", "kind": "hub", "status": "draft", "visibility": "public" }, { "name": "stack.json", - "url": "https://github.com/FlashyLabs/stack.json", + "url": "https://github.com/AgenteLabs/stack.json", "kind": "index", "status": "draft", "visibility": "public" diff --git a/README.md b/README.md index 0ac0106..b06ab1f 100644 --- a/README.md +++ b/README.md @@ -101,13 +101,13 @@ from it rather than typed twice: | # | Piece | What it does | Repository | Status | |---|---|---|---|---| | 1 | Policy | `pay-policy/1` itself — the format and the allow / deny / escalate evaluator this repository holds | this repository | draft; no adopter yet | -| 2 | Wallet execution | Governed economic agency on Tether's WDK — the isolated signer, the policy-deferring `TransactionPolicy`, testnets only by decision | [flashyos-wdk](https://github.com/FlashyLabs/flashyos-wdk) | exists; public mirror of the Apache-2.0 part of FlashyOS | -| 3 | Spend grading | Grades a proposed spend against a per-agent envelope before anything signs — ALLOW, ESCALATE or DENY, always with a reason | [wdk-policy-guard](https://github.com/FlashyLabs/wdk-policy-guard) | published, pre-1.0 (`0.2.0`) | -| 4 | Staking | A fixed-term lock on a balance a provider already holds — no on-chain contract, only the yield is a real write | [wdk-staking-kit](https://github.com/FlashyLabs/wdk-staking-kit) | published, pre-1.0 (`0.2.0`) | -| 5 | Capability audit | Scans installed WDK packages and classifies their chains as mainnet, testnet or unknown — against a maintained registry, never a guess | [wdk-capability-audit](https://github.com/FlashyLabs/wdk-capability-audit) | published, pre-1.0 (`0.1.0`); its own chain-declaration convention is unverified against a real WDK release, and it says so | -| 6 | Settlement | A thin service over the ledger that holds Flashy Gold, issues rewards and enforces the consent gate — draft, never execute, moves a holder's value | [flashy-rails](https://github.com/FlashyLabs/flashy-rails) | exists, private | -| 7 | Ledger | The append-only, multi-asset engine underneath settlement — balance can't go negative, identity is opaque, replay is idempotent | [flashy-ledger](https://github.com/FlashyLabs/flashy-ledger) | exists, private | -| 8 | Contracts | The estate's Solidity and the published identity package it settles against on-chain | [flashy-contracts](https://github.com/FlashyLabs/flashy-contracts) | exists, private | +| 2 | Wallet execution | Governed economic agency on Tether's WDK — the isolated signer, the policy-deferring `TransactionPolicy`, testnets only by decision | [flashyos-wdk](https://github.com/AgenteLabs/flashyos-wdk) | exists; public mirror of the Apache-2.0 part of FlashyOS | +| 3 | Spend grading | Grades a proposed spend against a per-agent envelope before anything signs — ALLOW, ESCALATE or DENY, always with a reason | [wdk-policy-guard](https://github.com/AgenteLabs/wdk-policy-guard) | published, pre-1.0 (`0.2.0`) | +| 4 | Staking | A fixed-term lock on a balance a provider already holds — no on-chain contract, only the yield is a real write | [wdk-staking-kit](https://github.com/AgenteLabs/wdk-staking-kit) | published, pre-1.0 (`0.2.0`) | +| 5 | Capability audit | Scans installed WDK packages and classifies their chains as mainnet, testnet or unknown — against a maintained registry, never a guess | [wdk-capability-audit](https://github.com/AgenteLabs/wdk-capability-audit) | published, pre-1.0 (`0.1.0`); its own chain-declaration convention is unverified against a real WDK release, and it says so | +| 6 | Settlement | A thin service over the ledger that holds Flashy Gold, issues rewards and enforces the consent gate — draft, never execute, moves a holder's value | [flashy-rails](https://github.com/AgenteLabs/flashy-rails) | exists, private | +| 7 | Ledger | The append-only, multi-asset engine underneath settlement — balance can't go negative, identity is opaque, replay is idempotent | [flashy-ledger](https://github.com/AgenteLabs/flashy-ledger) | exists, private | +| 8 | Contracts | The estate's Solidity and the published identity package it settles against on-chain | [flashy-contracts](https://github.com/AgenteLabs/flashy-contracts) | exists, private | Three of the eight are real, published npm packages anyone can install today — pre-1.0, versioned, independently tested. Three more are private @@ -133,7 +133,7 @@ rules hold this repository to. ## Links -- **Reference rail:** [flashyos-wdk](https://github.com/FlashyLabs/flashyos-wdk) +- **Reference rail:** [flashyos-wdk](https://github.com/AgenteLabs/flashyos-wdk) — the wallet stack this format's vocabulary was read from: its `SpendEnvelope` (`perTxMax`, `dailyMax`, `autoApproveMax`, exact-match `destinations`), its ALLOW / ESCALATE / DENY verdicts and its integer @@ -148,13 +148,13 @@ rules hold this repository to. ## Where it sits in the stack -`pay-policy/1` is layer 8 of [Web 4](https://github.com/FlashyLabs/web4), the estate's stack of open protocols for the agentic internet — the **"How does value move?"** layer, the rail-neutral policy over any wallet or rail. This repository carries the same **institutional front door** every protocol in the stack serves: `site/` is generated by one dependency-free, config-driven script (`scripts/build-site.mjs`), vendored byte-identical from the [web4](https://github.com/FlashyLabs/web4) hub and driven by this repository's own `site.config.json` (contract `site-config/1`, `schema/site-config-1.json`). It renders the nine-layer table from the served `.well-known/stack.json` copy and serves the mesh surfaces — the `flashyos/1` handshake, the AAO charter, and this org's `directory/1` node — all derived from `flashyos.roles.json` so they cannot disagree. +`pay-policy/1` is layer 8 of [Web 4](https://github.com/AgenteLabs/web4), the estate's stack of open protocols for the agentic internet — the **"How does value move?"** layer, the rail-neutral policy over any wallet or rail. This repository carries the same **institutional front door** every protocol in the stack serves: `site/` is generated by one dependency-free, config-driven script (`scripts/build-site.mjs`), vendored byte-identical from the [web4](https://github.com/AgenteLabs/web4) hub and driven by this repository's own `site.config.json` (contract `site-config/1`, `schema/site-config-1.json`). It renders the nine-layer table from the served `.well-known/stack.json` copy and serves the mesh surfaces — the `flashyos/1` handshake, the AAO charter, and this org's `directory/1` node — all derived from `flashyos.roles.json` so they cannot disagree. ```bash node scripts/build-site.mjs # regenerate site/ from site.config.json + the vendored inputs ``` -"Committed is not served": the authoritative check runs against the live domain after deploy (`npx @flashyos/conformance --level 2`). `vercel.json` sets the output directory to `site` with no framework; the canonical base is `https://flashylabs.github.io/agentpay/` until the property has its own domain. +"Committed is not served": the authoritative check runs against the live domain after deploy (`npx @flashyos/conformance --level 2`). `vercel.json` sets the output directory to `site` with no framework; the canonical base is `https://agentelabs.github.io/agentpay/` until the property has its own domain. Status: draft; the institutional front door was generated 2026-09-29. No adopter yet; nothing here has settled a real payment, and the format is not published as a standard. diff --git a/flashyos.roles.json b/flashyos.roles.json index 3271931..52ad591 100644 --- a/flashyos.roles.json +++ b/flashyos.roles.json @@ -9,7 +9,7 @@ "repositories": [ { "name": "agentpay", - "url": "github.com/FlashyLabs/agentpay", + "url": "github.com/AgenteLabs/agentpay", "default": true, "holds": [ "spec", diff --git a/scripts/build-site.mjs b/scripts/build-site.mjs index ddfcc82..3fc5963 100644 --- a/scripts/build-site.mjs +++ b/scripts/build-site.mjs @@ -135,7 +135,7 @@ export function build(out = OUT) { const ring = JSON.parse(readFileSync(join(ROOT, 'estate-ring.json'), 'utf8')).properties; const tokensCss = readFileSync(join(ROOT, 'brand', 'tokens.css'), 'utf8'); - const base = cfg.domain ? `https://${cfg.domain}/` : `https://flashylabs.github.io/${cfg.property}/`; + const base = cfg.domain ? `https://${cfg.domain}/` : `https://agentelabs.github.io/${cfg.property}/`; const canonicalFor = (slug) => base + (slug ? `${slug}/` : ''); // ── the shared chrome ── diff --git a/site.config.json b/site.config.json index ad001a1..4e1b86d 100644 --- a/site.config.json +++ b/site.config.json @@ -43,8 +43,8 @@ } ], "links": { - "hub": "https://github.com/FlashyLabs/web4", - "spec": "https://github.com/FlashyLabs/agentpay", - "repo": "https://github.com/FlashyLabs/agentpay" + "hub": "https://github.com/AgenteLabs/web4", + "spec": "https://github.com/AgenteLabs/agentpay", + "repo": "https://github.com/AgenteLabs/agentpay" } } diff --git a/site/.well-known/flashyos-charter.json b/site/.well-known/flashyos-charter.json index 3271931..52ad591 100644 --- a/site/.well-known/flashyos-charter.json +++ b/site/.well-known/flashyos-charter.json @@ -9,7 +9,7 @@ "repositories": [ { "name": "agentpay", - "url": "github.com/FlashyLabs/agentpay", + "url": "github.com/AgenteLabs/agentpay", "default": true, "holds": [ "spec", diff --git a/site/.well-known/stack.json b/site/.well-known/stack.json index 3bbce1e..a42a24b 100644 --- a/site/.well-known/stack.json +++ b/site/.well-known/stack.json @@ -1,7 +1,7 @@ { "contract": "web4/1", - "generated": "2026-09-28", - "hub": "https://github.com/FlashyLabs/web4", + "generated": "2026-10-27", + "hub": "https://github.com/AgenteLabs/web4", "wellKnown": "/.well-known/stack.json", "principle": "Own the open protocols through which agents discover, identify, authorize, trust, transact with and audit one another — not the agents.", "layers": [ @@ -11,7 +11,7 @@ "repos": [ { "name": "flashyid-spec", - "url": "https://github.com/FlashyLabs/flashyid-spec", + "url": "https://github.com/AgenteLabs/flashyid-spec", "kind": "spec", "contract": "delegation/1", "status": "draft", @@ -19,7 +19,7 @@ }, { "name": "flashyid", - "url": "https://github.com/FlashyLabs/flashyid", + "url": "https://github.com/AgenteLabs/flashyid", "kind": "impl", "status": "exists", "visibility": "private" @@ -32,7 +32,7 @@ "repos": [ { "name": "agentgraph", - "url": "https://github.com/FlashyLabs/agentgraph", + "url": "https://github.com/AgenteLabs/agentgraph", "kind": "spec", "contract": "graph/1", "status": "draft", @@ -40,7 +40,7 @@ }, { "name": "therealm", - "url": "https://github.com/FlashyLabs/therealm", + "url": "https://github.com/AgenteLabs/therealm", "kind": "impl", "contract": "realm/1", "status": "exists", @@ -54,7 +54,7 @@ "repos": [ { "name": "intent-spec", - "url": "https://github.com/FlashyLabs/intent-spec", + "url": "https://github.com/AgenteLabs/intent-spec", "kind": "spec", "contract": "intent/1", "status": "draft", @@ -63,7 +63,7 @@ }, { "name": "intentmesh", - "url": "https://github.com/FlashyLabs/intentmesh", + "url": "https://github.com/AgenteLabs/intentmesh", "kind": "impl", "status": "exists", "visibility": "private" @@ -76,7 +76,7 @@ "repos": [ { "name": "magician", - "url": "https://github.com/FlashyLabs/magician", + "url": "https://github.com/AgenteLabs/magician", "kind": "impl", "contract": "trust/1", "status": "exists", @@ -84,7 +84,7 @@ }, { "name": "Rites-Network", - "url": "https://github.com/FlashyLabs/Rites-Network", + "url": "https://github.com/AgenteLabs/Rites-Network", "kind": "impl", "contract": "ritual/1", "status": "exists", @@ -106,7 +106,7 @@ "repos": [ { "name": "agent-wellknown", - "url": "https://github.com/FlashyLabs/agent-wellknown", + "url": "https://github.com/AgenteLabs/agent-wellknown", "kind": "spec", "contract": "agent/1", "status": "draft", @@ -115,7 +115,7 @@ }, { "name": "agent-dns", - "url": "https://github.com/FlashyLabs/agent-dns", + "url": "https://github.com/AgenteLabs/agent-dns", "kind": "spec", "contract": "agent-dns/1", "status": "draft", @@ -123,7 +123,7 @@ }, { "name": "bastion", - "url": "https://github.com/FlashyLabs/bastion", + "url": "https://github.com/AgenteLabs/bastion", "kind": "product", "status": "private-intended", "visibility": "public", @@ -137,7 +137,7 @@ "repos": [ { "name": "aao", - "url": "https://github.com/FlashyLabs/aao", + "url": "https://github.com/AgenteLabs/aao", "kind": "spec+impl", "contract": "aao/0.1", "status": "exists", @@ -152,28 +152,28 @@ "repos": [ { "name": "flashyos", - "url": "https://github.com/FlashyLabs/flashyos", + "url": "https://github.com/AgenteLabs/flashyos", "kind": "impl", "status": "exists", "visibility": "private" }, { "name": "flashyos-spec", - "url": "https://github.com/FlashyLabs/flashyos-spec", + "url": "https://github.com/AgenteLabs/flashyos-spec", "kind": "spec", "status": "exists", "visibility": "public" }, { "name": "flashyos-tools", - "url": "https://github.com/FlashyLabs/flashyos-tools", + "url": "https://github.com/AgenteLabs/flashyos-tools", "kind": "tooling", "status": "exists", "visibility": "public" }, { "name": "agentfile", - "url": "https://github.com/FlashyLabs/agentfile", + "url": "https://github.com/AgenteLabs/agentfile", "kind": "tooling", "status": "exists", "visibility": "public" @@ -186,7 +186,7 @@ "repos": [ { "name": "agentpay", - "url": "https://github.com/FlashyLabs/agentpay", + "url": "https://github.com/AgenteLabs/agentpay", "kind": "spec", "contract": "pay-policy/1", "status": "draft", @@ -194,28 +194,28 @@ }, { "name": "flashyos-wdk", - "url": "https://github.com/FlashyLabs/flashyos-wdk", + "url": "https://github.com/AgenteLabs/flashyos-wdk", "kind": "impl", "status": "exists", "visibility": "public" }, { "name": "flashy-rails", - "url": "https://github.com/FlashyLabs/flashy-rails", + "url": "https://github.com/AgenteLabs/flashy-rails", "kind": "impl", "status": "exists", "visibility": "private" }, { "name": "flashy-ledger", - "url": "https://github.com/FlashyLabs/flashy-ledger", + "url": "https://github.com/AgenteLabs/flashy-ledger", "kind": "impl", "status": "exists", "visibility": "public" }, { "name": "flashy-contracts", - "url": "https://github.com/FlashyLabs/flashy-contracts", + "url": "https://github.com/AgenteLabs/flashy-contracts", "kind": "impl", "status": "exists", "visibility": "private" @@ -236,7 +236,7 @@ }, { "name": "chronicle", - "url": "https://github.com/FlashyLabs/chronicle", + "url": "https://github.com/AgenteLabs/chronicle", "kind": "impl", "contract": "chronicle/1", "status": "exists", @@ -244,7 +244,7 @@ }, { "name": "flashy-network", - "url": "https://github.com/FlashyLabs/flashy-network", + "url": "https://github.com/AgenteLabs/flashy-network", "kind": "impl", "status": "exists", "visibility": "private", @@ -256,21 +256,21 @@ "tooling": [ { "name": "conformance-kit", - "url": "https://github.com/FlashyLabs/conformance-kit", + "url": "https://github.com/AgenteLabs/conformance-kit", "kind": "tooling", "status": "exists", "visibility": "public" }, { "name": "mesh-lint", - "url": "https://github.com/FlashyLabs/mesh-lint", + "url": "https://github.com/AgenteLabs/mesh-lint", "kind": "tooling", "status": "exists", "visibility": "public" }, { "name": "flashy-infra", - "url": "https://github.com/FlashyLabs/flashy-infra", + "url": "https://github.com/AgenteLabs/flashy-infra", "kind": "tooling", "status": "exists", "visibility": "private" @@ -279,28 +279,28 @@ "teaching": [ { "name": "flashy-docs", - "url": "https://github.com/FlashyLabs/flashy-docs", + "url": "https://github.com/AgenteLabs/flashy-docs", "kind": "docs", "status": "exists", "visibility": "public" }, { "name": "flashy-examples", - "url": "https://github.com/FlashyLabs/flashy-examples", + "url": "https://github.com/AgenteLabs/flashy-examples", "kind": "docs", "status": "exists", "visibility": "public" }, { "name": "web4", - "url": "https://github.com/FlashyLabs/web4", + "url": "https://github.com/AgenteLabs/web4", "kind": "hub", "status": "draft", "visibility": "public" }, { "name": "stack.json", - "url": "https://github.com/FlashyLabs/stack.json", + "url": "https://github.com/AgenteLabs/stack.json", "kind": "index", "status": "draft", "visibility": "public" diff --git a/site/faq/index.html b/site/faq/index.html index 388c464..58c0bcd 100644 --- a/site/faq/index.html +++ b/site/faq/index.html @@ -5,13 +5,13 @@ FAQ — Web 4 - + - - + +