diff --git a/website/.gitignore b/website/.gitignore
index 6276b4a..0e2d37e 100644
--- a/website/.gitignore
+++ b/website/.gitignore
@@ -141,5 +141,8 @@ vite.config.ts.timestamp-*
# Astro
.astro
+# Cloudflare Wrangler
+.wrangler
+
# Mac OS
.DS_Store
\ No newline at end of file
diff --git a/website/astro.config.mjs b/website/astro.config.mjs
index 5ca3946..106618b 100644
--- a/website/astro.config.mjs
+++ b/website/astro.config.mjs
@@ -6,6 +6,8 @@ import mdx from "@astrojs/mdx";
import react from "@astrojs/react";
import rehypeExternalLinks from "./src/utils/rehype-external-links.ts";
import playformCompress from "@playform/compress";
+import markdownForAgents from "astro-markdown-for-agents";
+import { markdownForAgentsOptions } from "./markdown-for-agents.config.mjs";
const SITE_BASE_URL = process.env.SITE_BASE_URL || "https://www.quantus.com";
const DEFAULT_LOCALE = "en-US";
@@ -99,5 +101,6 @@ export default defineConfig({
mdx(),
react(),
playformCompress(),
+ markdownForAgents(markdownForAgentsOptions),
],
});
diff --git a/website/bun.lock b/website/bun.lock
index 781797a..bbf8c43 100644
--- a/website/bun.lock
+++ b/website/bun.lock
@@ -16,6 +16,7 @@
"@radix-ui/react-slot": "^1.2.3",
"@tanstack/react-table": "^8.21.3",
"astro": "6.0.7",
+ "astro-markdown-for-agents": "^0.1.1",
"astro-seo": "^0.8.4",
"chart.js": "^4.5.1",
"chartjs-plugin-datalabels": "^2.2.0",
@@ -302,6 +303,8 @@
"@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="],
+ "@mixmark-io/domino": ["@mixmark-io/domino@2.2.0", "", {}, "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw=="],
+
"@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
"@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="],
@@ -860,6 +863,8 @@
"astro": ["astro@6.0.7", "", { "dependencies": { "@astrojs/compiler": "^3.0.0", "@astrojs/internal-helpers": "0.8.0", "@astrojs/markdown-remark": "7.0.1", "@astrojs/telemetry": "3.3.0", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.0.1", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.3", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.0", "smol-toml": "^1.6.0", "svgo": "^4.0.0", "tinyclip": "^0.1.6", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", "vite": "^7.3.1", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "bin/astro.mjs" } }, "sha512-tCUrtQI+2Dk13xTM07JYrvk16T4ekWqSXh0/dVCunne816ZV+RCs1tomSoTHZi3DJdoaTnLJmkH+uxCC3b1KWw=="],
+ "astro-markdown-for-agents": ["astro-markdown-for-agents@0.1.1", "", { "dependencies": { "turndown": "^7.2.0" }, "peerDependencies": { "astro": "^5.0.0" } }, "sha512-ZUYEb+NTa8Wr0zGYKVItfa4NbDaooW5hV05KXvwhTA2T/K4h5+akpvBOZgubvduLkIh95/anGKM7T5Nm07lu/Q=="],
+
"astro-seo": ["astro-seo@0.8.4", "", { "dependencies": { "@astrojs/check": "^0.5.4" } }, "sha512-Ou1vzQSXAxa0K8rtNtXNvSpYqOGEgMhh0immMxJeXmbVZac3UKCNWAoXWyOQDFYsZvBugCRSg0N1phBqPMVgCw=="],
"asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
@@ -2078,6 +2083,8 @@
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
+ "turndown": ["turndown@7.2.4", "", { "dependencies": { "@mixmark-io/domino": "^2.2.0" } }, "sha512-I8yFsfRzmzK0WV1pNNOA4A7y4RDfFxPRxb3t+e3ui14qSGOxGtiSP6GjeX+Y6CHb7HYaFj7ECUD7VE5kQMZWGQ=="],
+
"type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="],
"type-level-regexp": ["type-level-regexp@0.1.17", "", {}, "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg=="],
diff --git a/website/functions/_middleware.js b/website/functions/_middleware.js
new file mode 100644
index 0000000..cea4c05
--- /dev/null
+++ b/website/functions/_middleware.js
@@ -0,0 +1,68 @@
+import {
+ applyMarkdownHeaders,
+ ensureVaryAccept,
+ markdownAssetPath,
+ prefersMarkdown,
+} from "astro-markdown-for-agents/runtime";
+import {
+ MARKDOWN_NEGOTIATION_BYPASS_HEADER,
+ isNegotiablePath,
+ resolvedMarkdownOptions,
+} from "../markdown-for-agents.config.mjs";
+
+/**
+ * Serve pre-built markdown from dist/_markdown-cache when clients negotiate
+ * Accept: text/markdown. HTML remains the default for browsers.
+ */
+export async function onRequest(context) {
+ const { request, env } = context;
+ const method = request.method.toUpperCase();
+
+ if (method !== "GET" && method !== "HEAD") {
+ return context.next();
+ }
+
+ if (request.headers.get(MARKDOWN_NEGOTIATION_BYPASS_HEADER) === "1") {
+ return context.next();
+ }
+
+ const accept = request.headers.get("Accept") ?? "";
+ if (!prefersMarkdown(accept, resolvedMarkdownOptions.preferPlainText)) {
+ return context.next();
+ }
+
+ const pathname = new URL(request.url).pathname;
+ if (!isNegotiablePath(pathname, resolvedMarkdownOptions)) {
+ return context.next();
+ }
+
+ const mdPath = markdownAssetPath(
+ pathname,
+ resolvedMarkdownOptions.markdownDir,
+ );
+ const mdRequest = new Request(new URL(mdPath, request.url), {
+ method,
+ headers: {
+ [MARKDOWN_NEGOTIATION_BYPASS_HEADER]: "1",
+ },
+ });
+
+ const mdResponse = env.ASSETS
+ ? await env.ASSETS.fetch(mdRequest)
+ : await fetch(mdRequest);
+
+ if (!mdResponse.ok) {
+ return context.next();
+ }
+
+ const markdown = await mdResponse.text();
+ const headers = new Headers(mdResponse.headers);
+ applyMarkdownHeaders(headers, markdown, resolvedMarkdownOptions);
+ ensureVaryAccept(headers);
+
+ if (method === "HEAD") {
+ return new Response(null, { status: mdResponse.status, headers });
+ }
+
+ return new Response(markdown, { status: mdResponse.status, headers });
+}
diff --git a/website/markdown-for-agents.config.mjs b/website/markdown-for-agents.config.mjs
new file mode 100644
index 0000000..c90346c
--- /dev/null
+++ b/website/markdown-for-agents.config.mjs
@@ -0,0 +1,93 @@
+/** @type {import('astro-markdown-for-agents').MarkdownForAgentsOptions} */
+export const markdownForAgentsOptions = {
+ excludePrefixes: ["/api/", "/_astro/", "/.well-known/", "/_markdown-cache/"],
+ contentSignals: {
+ aiTrain: true,
+ search: true,
+ aiInput: true,
+ },
+};
+
+/** Resolved options for edge middleware (runtime-safe, no Node imports). */
+export const resolvedMarkdownOptions = {
+ include: [],
+ exclude: [],
+ excludePrefixes: markdownForAgentsOptions.excludePrefixes ?? [],
+ excludeExtensions: [
+ ".css",
+ ".js",
+ ".mjs",
+ ".map",
+ ".json",
+ ".xml",
+ ".txt",
+ ".ico",
+ ".png",
+ ".jpg",
+ ".jpeg",
+ ".webp",
+ ".svg",
+ ".gif",
+ ".pdf",
+ ".zip",
+ ".woff",
+ ".woff2",
+ ],
+ markdownDir: markdownForAgentsOptions.markdownDir ?? "_markdown-cache",
+ contentSignalHeader: "ai-train=yes, search=yes, ai-input=yes",
+ maxExtractedChars: Infinity,
+ preferPlainText: markdownForAgentsOptions.preferPlainText ?? true,
+};
+
+export const MARKDOWN_NEGOTIATION_BYPASS_HEADER =
+ "x-markdown-negotiation-bypass";
+
+function extensionOf(value) {
+ const dotIndex = value.lastIndexOf(".");
+ if (dotIndex === -1) {
+ return "";
+ }
+ return value.slice(dotIndex).toLowerCase();
+}
+
+function matches(pathname, matcher) {
+ if (typeof matcher === "function") {
+ return matcher(pathname);
+ }
+ if (matcher instanceof RegExp) {
+ return matcher.test(pathname);
+ }
+ if (!matcher.includes("*")) {
+ return pathname === matcher;
+ }
+ const regex = new RegExp(
+ `^${matcher.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*")}$`,
+ );
+ return regex.test(pathname);
+}
+
+function matchesAny(pathname, matchers) {
+ return matchers.some((matcher) => matches(pathname, matcher));
+}
+
+/** Edge-safe mirror of astro-markdown-for-agents route matching. */
+export function isNegotiablePath(pathname, options) {
+ if (!pathname) {
+ return false;
+ }
+ if (matchesAny(pathname, options.exclude)) {
+ return false;
+ }
+ if (options.include.length > 0 && !matchesAny(pathname, options.include)) {
+ return false;
+ }
+ if (options.excludePrefixes.some((prefix) => pathname.startsWith(prefix))) {
+ return false;
+ }
+ const lastSegment = pathname.split("/").pop() ?? "";
+ const ext = extensionOf(lastSegment);
+ if (ext && options.excludeExtensions.includes(ext)) {
+ return false;
+ }
+ return !lastSegment.includes(".") || ext === "";
+}
diff --git a/website/package.json b/website/package.json
index eea7dcc..5a7abe7 100644
--- a/website/package.json
+++ b/website/package.json
@@ -24,6 +24,7 @@
"@radix-ui/react-slot": "^1.2.3",
"@tanstack/react-table": "^8.21.3",
"astro": "6.0.7",
+ "astro-markdown-for-agents": "^0.1.1",
"astro-seo": "^0.8.4",
"chart.js": "^4.5.1",
"chartjs-plugin-datalabels": "^2.2.0",
diff --git a/website/public/.well-known/api-catalog b/website/public/.well-known/api-catalog
new file mode 100644
index 0000000..f46af40
--- /dev/null
+++ b/website/public/.well-known/api-catalog
@@ -0,0 +1,67 @@
+{
+ "linkset": [
+ {
+ "anchor": "https://api.quantus.com/api",
+ "service-desc": [
+ {
+ "href": "https://www.quantus.com/.well-known/openapi/website-api.json",
+ "type": "application/json"
+ }
+ ],
+ "service-doc": [
+ {
+ "href": "https://docs.quantus.com/",
+ "type": "text/html"
+ }
+ ],
+ "status": [
+ {
+ "href": "https://api.quantus.com/",
+ "type": "text/plain"
+ }
+ ]
+ },
+ {
+ "anchor": "https://quests.quantus.com/api",
+ "service-desc": [
+ {
+ "href": "https://www.quantus.com/.well-known/openapi/quests-api.json",
+ "type": "application/json"
+ }
+ ],
+ "service-doc": [
+ {
+ "href": "https://docs.quantus.com/",
+ "type": "text/html"
+ }
+ ],
+ "status": [
+ {
+ "href": "https://quests.quantus.com/health",
+ "type": "application/json"
+ }
+ ]
+ },
+ {
+ "anchor": "https://sub2.quantus.com/v1/graphql",
+ "service-desc": [
+ {
+ "href": "https://www.quantus.com/.well-known/openapi/indexer-api.json",
+ "type": "application/json"
+ }
+ ],
+ "service-doc": [
+ {
+ "href": "https://docs.quantus.com/",
+ "type": "text/html"
+ }
+ ],
+ "status": [
+ {
+ "href": "https://sub2.quantus.com/health",
+ "type": "application/json"
+ }
+ ]
+ }
+ ]
+}
diff --git a/website/public/.well-known/openapi/indexer-api.json b/website/public/.well-known/openapi/indexer-api.json
new file mode 100644
index 0000000..dff2210
--- /dev/null
+++ b/website/public/.well-known/openapi/indexer-api.json
@@ -0,0 +1,58 @@
+{
+ "openapi": "3.1.0",
+ "info": {
+ "title": "Quantus Indexer GraphQL API",
+ "version": "1.0.0",
+ "description": "GraphQL indexer for Quantus chain statistics and on-chain data."
+ },
+ "servers": [{ "url": "https://sub2.quantus.com" }],
+ "paths": {
+ "/health": {
+ "get": {
+ "summary": "Service health",
+ "operationId": "getHealth",
+ "responses": {
+ "200": {
+ "description": "Indexer is healthy",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "additionalProperties": true
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/v1/graphql": {
+ "post": {
+ "summary": "GraphQL query endpoint",
+ "operationId": "graphqlQuery",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": ["query"],
+ "properties": {
+ "query": { "type": "string" },
+ "variables": {
+ "type": "object",
+ "additionalProperties": true
+ },
+ "operationName": { "type": "string" }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": { "description": "GraphQL response" }
+ }
+ }
+ }
+ }
+}
diff --git a/website/public/.well-known/openapi/quests-api.json b/website/public/.well-known/openapi/quests-api.json
new file mode 100644
index 0000000..7b0a5bc
--- /dev/null
+++ b/website/public/.well-known/openapi/quests-api.json
@@ -0,0 +1,54 @@
+{
+ "openapi": "3.1.0",
+ "info": {
+ "title": "Quantus Quests API",
+ "version": "1.0.0",
+ "description": "Task Master API for quests, leaderboards, and Ethereum risk analysis."
+ },
+ "servers": [{ "url": "https://quests.quantus.com" }],
+ "paths": {
+ "/health": {
+ "get": {
+ "summary": "Service health",
+ "operationId": "getHealth",
+ "responses": {
+ "200": {
+ "description": "Service is healthy",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "healthy": { "type": "boolean" },
+ "service": { "type": "string" },
+ "version": { "type": "string" },
+ "timestamp": { "type": "string", "format": "date-time" }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/risk-checker/{addressOrEnsName}": {
+ "get": {
+ "summary": "Get Ethereum quantum risk analysis",
+ "operationId": "getRiskAnalysis",
+ "parameters": [
+ {
+ "name": "addressOrEnsName",
+ "in": "path",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Ethereum address or ENS name"
+ }
+ ],
+ "responses": {
+ "200": { "description": "Risk analysis result" },
+ "400": { "description": "Invalid address or ENS name" }
+ }
+ }
+ }
+ }
+}
diff --git a/website/public/.well-known/openapi/website-api.json b/website/public/.well-known/openapi/website-api.json
new file mode 100644
index 0000000..5532645
--- /dev/null
+++ b/website/public/.well-known/openapi/website-api.json
@@ -0,0 +1,110 @@
+{
+ "openapi": "3.1.0",
+ "info": {
+ "title": "Quantus Website API",
+ "version": "1.0.0",
+ "description": "Public endpoints for contact inquiries, waitlist subscriptions, and sponsorship requests."
+ },
+ "servers": [{ "url": "https://api.quantus.com" }],
+ "paths": {
+ "/": {
+ "get": {
+ "summary": "Service health",
+ "operationId": "getHealth",
+ "responses": {
+ "200": {
+ "description": "API is running"
+ }
+ }
+ }
+ },
+ "/api/inquiries": {
+ "post": {
+ "summary": "Submit a contact inquiry",
+ "operationId": "createInquiry",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": ["name", "email", "message"],
+ "properties": {
+ "name": { "type": "string" },
+ "email": { "type": "string", "format": "email" },
+ "message": { "type": "string" }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": { "description": "Inquiry sent successfully" },
+ "400": { "description": "Validation error" }
+ }
+ }
+ },
+ "/api/waitlist": {
+ "post": {
+ "summary": "Subscribe to the waitlist",
+ "operationId": "joinWaitlist",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": ["email", "firstName"],
+ "properties": {
+ "email": { "type": "string", "format": "email" },
+ "firstName": { "type": "string" },
+ "lastName": { "type": "string" }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": { "description": "Added to waitlist" },
+ "409": { "description": "Duplicate entry" }
+ }
+ }
+ },
+ "/api/sponsorships": {
+ "post": {
+ "summary": "Submit a sponsorship request",
+ "operationId": "createSponsorship",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "name",
+ "email",
+ "designation",
+ "organization",
+ "investmentTier"
+ ],
+ "properties": {
+ "name": { "type": "string" },
+ "email": { "type": "string", "format": "email" },
+ "phone": { "type": "string" },
+ "designation": { "type": "string" },
+ "organization": { "type": "string" },
+ "investmentTier": { "type": "string" },
+ "additionalInfo": { "type": "string" }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": { "description": "Sponsorship request sent" },
+ "400": { "description": "Validation error" }
+ }
+ }
+ }
+ }
+}
diff --git a/website/public/_headers b/website/public/_headers
index 79582f9..8311147 100644
--- a/website/public/_headers
+++ b/website/public/_headers
@@ -1,6 +1,44 @@
-/.well-known/*
+/.well-known/api-catalog
+ Content-Type: application/linkset+json; profile="https://www.rfc-editor.org/info/rfc9727"
+
+/.well-known/openapi/*
+ Content-Type: application/json
+
+/.well-known/assetlinks.json
Content-Type: application/json
+/.well-known/apple-app-site-association
+ Content-Type: application/json
+
+# Agent discovery Link headers (RFC 8288 / RFC 9727)
+/
+ Link: ; rel="api-catalog",
+ 404 Not found
+
+
+
+
{t("privacy.contact_info.note")}{" "} - + {t("privacy.contact_info.link")}
diff --git a/website/src/pages/privacy-policy.astro b/website/src/pages/privacy-policy.astro index e78eb5e..a38f77d 100644 --- a/website/src/pages/privacy-policy.astro +++ b/website/src/pages/privacy-policy.astro @@ -221,7 +221,7 @@ const additionalInfoRegulatoryItems = t({t("privacy.contact_info.note")}{" "} - + {t("privacy.contact_info.link")}
diff --git a/website/unlighthouse.config.ts b/website/unlighthouse.config.ts index 72cee80..cd81f6b 100644 --- a/website/unlighthouse.config.ts +++ b/website/unlighthouse.config.ts @@ -18,18 +18,18 @@ export default defineUnlighthouseConfig({ throttle: true, include: [ "/", + "/technology", + "/wallet", + "/community", + "/whitepaper", "/blog", - "/blog/podcast-episode-1", - "/blog/tags/podcast", - "/quests/raid", + "/blog/weekly-update-10-14-2025", "/404", "/about", "/account", - "/app", - "/contact", - "/invite", "/quantum-risk-checker", - "/terms-and-privacy", + "/privacy-policy", + "/terms", ], }, });