{
  "page": "/trust/",
  "reviewed": "2026-09-16",
  "started": "2026-09-20T22:52:48.103Z",
  "summary": {
    "total": 34,
    "live": 15,
    "stated": 19
  },
  "checks": [
    {
      "id": "sys.website",
      "group": "systems",
      "claim": "Website",
      "verdict": "live",
      "reproduce": "curl -s https://theeducationalequalityinstitute.org/api/health",
      "result": {
        "state": "fail",
        "summary": "Website answered HTTP 523",
        "ranAt": "2026-09-20T22:52:48.119Z",
        "ms": 11,
        "evidence": [
          {
            "kind": "json",
            "title": "https://theeducationalequalityinstitute.org/api/health",
            "body": "error code: 523\n"
          }
        ]
      }
    },
    {
      "id": "sys.language",
      "group": "systems",
      "claim": "TEEI Language",
      "verdict": "live",
      "reproduce": "curl -s https://language.theeducationalequalityinstitute.org/api/lc/health",
      "result": {
        "state": "pass",
        "summary": "Up. Build 2f5bea045107.",
        "ranAt": "2026-09-20T22:52:49.803Z",
        "ms": 1695,
        "evidence": [
          {
            "kind": "json",
            "title": "https://language.theeducationalequalityinstitute.org/api/lc/health",
            "body": "{\n  \"app\": \"teei-language-rr7\",\n  \"ok\": true,\n  \"commit\": \"2f5bea045107\",\n  \"programme\": \"language\",\n  \"db\": true,\n  \"cronMode\": \"enabled\",\n  \"credentialArtworkState\": {\n    \"state\": \"healthy\",\n    \"reasons\": []\n  },\n  \"ts\": \"2026-09-20T22:52:49.796Z\",\n  \"release\": {\n    \"commit\": \"2f5bea045107\",\n    \"environment\": \"production\",\n    \"dirty\": false\n  }\n}"
          }
        ]
      }
    },
    {
      "id": "sys.mentorship",
      "group": "systems",
      "claim": "TEEI Mentorship",
      "verdict": "live",
      "reproduce": "curl -s https://mentorship.theeducationalequalityinstitute.org/api/lc/health",
      "result": {
        "state": "pass",
        "summary": "Up. Build 2f5bea045107.",
        "ranAt": "2026-09-20T22:52:49.493Z",
        "ms": 1384,
        "evidence": [
          {
            "kind": "json",
            "title": "https://mentorship.theeducationalequalityinstitute.org/api/lc/health",
            "body": "{\n  \"app\": \"teei-mentorship-rr7\",\n  \"ok\": true,\n  \"commit\": \"2f5bea045107\",\n  \"programme\": \"mentorship\",\n  \"db\": true,\n  \"cronMode\": \"disabled\",\n  \"credentialArtworkState\": {\n    \"state\": \"healthy\",\n    \"reasons\": []\n  },\n  \"ts\": \"2026-09-20T22:52:49.361Z\",\n  \"release\": {\n    \"commit\": \"2f5bea045107\",\n    \"environment\": \"production\",\n    \"dirty\": false\n  }\n}"
          }
        ]
      }
    },
    {
      "id": "sys.cockpit",
      "group": "systems",
      "claim": "CSR Cockpit",
      "verdict": "live",
      "reproduce": "curl -s https://cockpit.theeducationalequalityinstitute.org/api/health",
      "result": {
        "state": "pass",
        "summary": "Up.",
        "ranAt": "2026-09-20T22:52:49.453Z",
        "ms": 1345,
        "evidence": [
          {
            "kind": "json",
            "title": "https://cockpit.theeducationalequalityinstitute.org/api/health",
            "body": "{\n  \"status\": \"healthy\",\n  \"checks\": {\n    \"database\": {\n      \"status\": \"ok\",\n      \"latencyMs\": 469\n    },\n    \"secrets\": {\n      \"status\": \"ok\"\n    }\n  },\n  \"timestamp\": \"2026-09-20T22:52:49.447Z\",\n  \"latencyMs\": 755\n}"
          }
        ]
      }
    },
    {
      "id": "sys.counter",
      "group": "systems",
      "claim": "Public impact counter",
      "verdict": "live",
      "reproduce": "curl -s https://language.theeducationalequalityinstitute.org/api/lc/public-stats",
      "result": {
        "state": "pass",
        "summary": "12,021 completed sessions and 9,096.2 measured conversation hours.",
        "ranAt": "2026-09-20T22:52:49.362Z",
        "ms": 1254,
        "evidence": [
          {
            "kind": "json",
            "title": "https://language.theeducationalequalityinstitute.org/api/lc/public-stats",
            "body": "{\n  \"totals\": {\n    \"basis\": \"conversation\",\n    \"hours\": 9096.2,\n    \"sessions\": 12021,\n    \"scheduledHours\": 560.5,\n    \"awaitingEvidence\": 7\n  },\n  \"live\": {\n    \"basis\": \"presence\",\n    \"inProgress\": 0,\n    \"scheduledNow\": 0,\n    \"upcoming\": 218,\n    \"nextStartUtc\": \"2026-09-21T06:30:00.000Z\"\n  },\n  \"countries\": {\n    \"members\": 148,\n    \"volunteers\": 127,\n    \"learners\": 65\n  },\n  \"recent\": {\n    \"completedToday\": 15,\n    \"lastCompletedBucket\": \"6h\"\n  }\n}"
          }
        ]
      }
    },
    {
      "id": "sys.hour",
      "group": "systems",
      "claim": "A conversation hour is counted only while both people are connected in the video room, with a five-minute floor",
      "verdict": "stated",
      "detail": "Scheduled duration does not count. Self-reported time does not count. A session is completed only when the booking reached the completed state and the attendance settlement written afterwards independently agrees.",
      "source": "Impact methodology page; ships in the same release as this page"
    },
    {
      "id": "data.register",
      "group": "data",
      "claim": "Sub-processors of the CSR Cockpit, with purpose, processing location and transfer mechanism",
      "verdict": "stated",
      "detail": "Draft external register; technical reconciliation 2026-07-19; legal review open. Purpose, location and mechanism are shown as the register states them. Contract terms per processor are still being validated by counsel and are not shown. Two analytics entries under verification are omitted.",
      "source": "CSR Cockpit sub-processor register (draft)"
    },
    {
      "id": "data.platform",
      "group": "data",
      "claim": "TEEI Language and TEEI Mentorship run on Cloudflare Workers with a shared Turso database scoped per programme; live video runs on the Amazon Chime SDK",
      "verdict": "stated",
      "detail": "Read from the platform overview and the deployment configuration on 2026-09-11.",
      "source": "Platform overview; deployment configuration"
    },
    {
      "id": "data.dpa",
      "group": "data",
      "claim": "Data Processing Agreement",
      "verdict": "stated",
      "detail": "A template exists for partners. Legal review is in progress. Ask for the current draft when your reviewer needs it.",
      "source": "Partnerships"
    },
    {
      "id": "data.ropa",
      "group": "data",
      "claim": "Records of processing (Article 30)",
      "verdict": "stated",
      "detail": "A working record is kept for the CSR Cockpit. The privacy owner’s review is open.",
      "source": "CSR Cockpit compliance documents"
    },
    {
      "id": "ai.bedrock",
      "group": "ai",
      "claim": "TEEI Language and Mentorship: Claude on Amazon Bedrock through EU geographic inference profiles from eu-west-1",
      "verdict": "stated",
      "detail": "Region and model identifiers from the deployment configuration; a person decides on every application.",
      "source": "Deployment configuration; screening code; AWS documentation"
    },
    {
      "id": "ai.gemini",
      "group": "ai",
      "claim": "CSR Cockpit AI reports: Google Gemini, United States",
      "verdict": "stated",
      "detail": "A draft waits for a person to approve it before it is published. Provider training stance not yet confirmed in writing.",
      "source": "CSR Cockpit sub-processor register (draft); the Cockpit demo"
    },
    {
      "id": "ai.whisper",
      "group": "ai",
      "claim": "CSR Cockpit voice: OpenAI Whisper, United States",
      "verdict": "stated",
      "detail": "Transcription only. Provider training stance not yet confirmed in writing.",
      "source": "CSR Cockpit sub-processor register (draft)"
    },
    {
      "id": "ai.act",
      "group": "ai",
      "claim": "EU AI Act self-assessment of the Cockpit reporting module against Regulation (EU) 2024/1689",
      "verdict": "stated",
      "detail": "An internal snapshot exists. The external version is under review and is not published.",
      "source": "CSR Cockpit compliance documents"
    },
    {
      "id": "surface.headers.website",
      "group": "surface",
      "claim": "Website headers",
      "verdict": "live",
      "reproduce": "curl -sI https://theeducationalequalityinstitute.org/",
      "result": {
        "state": "fail",
        "summary": "HSTS max-age under six months; HSTS without includeSubDomains; X-Content-Type-Options not nosniff; X-Frame-Options not DENY; referrer policy not strict-origin-when-cross-origin; permissions policy does not disable geolocation.",
        "ranAt": "2026-09-20T22:52:48.119Z",
        "ms": 11,
        "evidence": [
          {
            "kind": "headers",
            "title": "curl -sI https://theeducationalequalityinstitute.org/",
            "body": "HTTP/2 523\nx-frame-options: SAMEORIGIN\nreferrer-policy: same-origin\nserver: cloudflare\ncf-ray: a3e46710b80a36cd-CMH\ndate: Sun, 20 Sep 2026 22:52:47 GMT"
          }
        ]
      }
    },
    {
      "id": "surface.headers.language",
      "group": "surface",
      "claim": "TEEI Language headers",
      "verdict": "live",
      "reproduce": "curl -sI https://language.theeducationalequalityinstitute.org/",
      "result": {
        "state": "pass",
        "summary": "HSTS for six months with subdomains, nosniff, frames denied, strict referrer policy, geolocation disabled, and a nonce-based Content Security Policy.",
        "ranAt": "2026-09-20T22:52:49.248Z",
        "ms": 1138,
        "evidence": [
          {
            "kind": "headers",
            "title": "curl -sI https://language.theeducationalequalityinstitute.org/",
            "body": "HTTP/2 302\nstrict-transport-security: max-age=15768000; includeSubDomains\ncontent-security-policy: default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'; script-src 'self' 'nonce-AeSyXx-C80l9uvbNPA-johH9' 'wasm-unsafe-eval' https://static.sdkassets.chime.aws https://us.i.posthog.com https://us …\nx-content-type-options: nosniff\nx-frame-options: DENY\nreferrer-policy: strict-origin-when-cross-origin\npermissions-policy: camera=(self), microphone=(self), display-capture=(self), geolocation=()\nserver: cloudflare\ncf-ray: a3e46710c81c36cd-CMH\ndate: Sun, 20 Sep 2026 22:52:48 GMT"
          }
        ]
      }
    },
    {
      "id": "surface.headers.mentorship",
      "group": "surface",
      "claim": "TEEI Mentorship headers",
      "verdict": "live",
      "reproduce": "curl -sI https://mentorship.theeducationalequalityinstitute.org/",
      "result": {
        "state": "pass",
        "summary": "HSTS for six months with subdomains, nosniff, frames denied, strict referrer policy, geolocation disabled, and a nonce-based Content Security Policy.",
        "ranAt": "2026-09-20T22:52:49.388Z",
        "ms": 1277,
        "evidence": [
          {
            "kind": "headers",
            "title": "curl -sI https://mentorship.theeducationalequalityinstitute.org/",
            "body": "HTTP/2 302\nstrict-transport-security: max-age=15768000; includeSubDomains\ncontent-security-policy: default-src 'self'; base-uri 'self'; object-src 'none'; frame-ancestors 'none'; script-src 'self' 'nonce-Q-xWgoGKBrbTWVgpnnQDp82w' 'wasm-unsafe-eval' https://static.sdkassets.chime.aws https://us.i.posthog.com https://us …\nx-content-type-options: nosniff\nx-frame-options: DENY\nreferrer-policy: strict-origin-when-cross-origin\npermissions-policy: camera=(self), microphone=(self), display-capture=(self), geolocation=()\nserver: cloudflare\ncf-ray: a3e467146cfb36cd-CMH\ndate: Sun, 20 Sep 2026 22:52:49 GMT"
          }
        ]
      }
    },
    {
      "id": "surface.headers.cockpit",
      "group": "surface",
      "claim": "CSR Cockpit headers",
      "verdict": "live",
      "reproduce": "curl -sI https://cockpit.theeducationalequalityinstitute.org/",
      "result": {
        "state": "warn",
        "summary": "permissions policy does not disable geolocation.",
        "ranAt": "2026-09-20T22:52:48.691Z",
        "ms": 580,
        "evidence": [
          {
            "kind": "headers",
            "title": "curl -sI https://cockpit.theeducationalequalityinstitute.org/",
            "body": "HTTP/2 200\nstrict-transport-security: max-age=15768000; includeSubDomains\ncontent-security-policy: default-src 'self'; script-src 'nonce-TSgUM8hwBuB5aD+HNlZtAA==' 'strict-dynamic' 'unsafe-inline' https:; style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' data: https:; media-src 'self' https://thee …\nx-content-type-options: nosniff\nx-frame-options: DENY\nreferrer-policy: strict-origin-when-cross-origin\nserver: cloudflare\ncf-ray: a3e46710c81d36cd-CMH\ndate: Sun, 20 Sep 2026 22:52:48 GMT"
          }
        ]
      }
    },
    {
      "id": "surface.dmarc",
      "group": "surface",
      "claim": "DMARC",
      "verdict": "live",
      "reproduce": "dig TXT _dmarc.theeducationalequalityinstitute.org",
      "result": {
        "state": "pass",
        "summary": "Policy quarantine for 100 percent of mail, alignment strict on both identifiers.",
        "ranAt": "2026-09-20T22:52:48.694Z",
        "ms": 583,
        "evidence": [
          {
            "kind": "dns",
            "title": "dig TXT _dmarc.theeducationalequalityinstitute.org",
            "body": "_dmarc.theeducationalequalityinstitute.org. 300 IN TXT \"v=DMARC1; p=quarantine; sp=quarantine; fo=1; pct=100; rf=afrf; ri=86400; aspf=s; adkim=s; rua=mailto:[reporting address]\""
          }
        ]
      }
    },
    {
      "id": "surface.spf",
      "group": "surface",
      "claim": "SPF",
      "verdict": "live",
      "reproduce": "dig TXT theeducationalequalityinstitute.org",
      "result": {
        "state": "pass",
        "summary": "2 authorised sending systems, everything else soft-fails.",
        "ranAt": "2026-09-20T22:52:49.253Z",
        "ms": 1142,
        "evidence": [
          {
            "kind": "dns",
            "title": "dig TXT theeducationalequalityinstitute.org",
            "body": "theeducationalequalityinstitute.org. 300 IN TXT \"v=spf1 include:_spf.google.com include:amazonses.com ~all\""
          }
        ]
      }
    },
    {
      "id": "surface.dkim",
      "group": "surface",
      "claim": "DKIM",
      "verdict": "live",
      "reproduce": "dig TXT google._domainkey.theeducationalequalityinstitute.org; dig TXT resend._domainkey.theeducationalequalityinstitute.org",
      "result": {
        "state": "pass",
        "summary": "Signing keys published for google and resend selectors.",
        "ranAt": "2026-09-20T22:52:49.270Z",
        "ms": 1159,
        "evidence": [
          {
            "kind": "dns",
            "title": "dig TXT google._domainkey.theeducationalequalityinstitute.org; dig TXT resend._domainkey.theeducationalequalityinstitute.org",
            "body": "google._domainkey.theeducationalequalityinstitute.org. 300 IN TXT \"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEF…\" \"Jghwk/PrfN4Awv6m2bYZbY9OK/9Wl7TZp296I0cWl4DJRlaZzyRR/gSdm/T2lWtDS9VmRKxYgcepUV3uJKS8LsbzygFRrOC1VQISh5Iq4ALlKR/LGk6Pz8bPAOlDJTZBrWhJgNRlldIsdpheH8h0QIDAQAB\"\nresend._domainkey.theeducationalequalityinstitute.org. 3600 IN TXT \"p=MIGfMA0GCSqGSIb3DQEBAQUA…\""
          }
        ]
      }
    },
    {
      "id": "surface.securitytxt",
      "group": "surface",
      "claim": "security.txt (RFC 9116)",
      "verdict": "live",
      "reproduce": "curl -s https://theeducationalequalityinstitute.org/.well-known/security.txt",
      "result": {
        "state": "fail",
        "summary": "security.txt answered HTTP 522",
        "ranAt": "2026-09-20T22:52:49.291Z",
        "ms": 1179,
        "evidence": []
      }
    },
    {
      "id": "assur.slo",
      "group": "assurance",
      "claim": "Service-level objectives and their measurement",
      "verdict": "stated",
      "detail": "Defined. Attainment is not published yet.",
      "source": "Service-level objectives document"
    },
    {
      "id": "policy.priv-001",
      "group": "assurance",
      "claim": "Data retention policy",
      "verdict": "stated",
      "detail": "Retention periods per record class for the CSR Cockpit. Stories, consent and video are retained by event, not by a clock, because a person’s consent governs them.",
      "source": "PRIV-001"
    },
    {
      "id": "policy.irp-001",
      "group": "assurance",
      "claim": "Incident response plan",
      "verdict": "stated",
      "detail": "Covers security and personal-data incidents, including the GDPR notification path. External notifications are approved by leadership before they are sent.",
      "source": "IRP-001"
    },
    {
      "id": "policy.bcp-001",
      "group": "assurance",
      "claim": "Business continuity plan",
      "verdict": "stated",
      "detail": "Recovery of the Cloudflare Workers services.",
      "source": "BCP-001"
    },
    {
      "id": "policy.ops-001",
      "group": "assurance",
      "claim": "Change management policy",
      "verdict": "stated",
      "detail": "Releases go to a staging environment first and are promoted to production as versioned deployments that can be rolled back.",
      "source": "OPS-001"
    },
    {
      "id": "policy.sec-002",
      "group": "assurance",
      "claim": "Penetration testing cadence",
      "verdict": "stated",
      "detail": "An independent grey-box web and API test annually, and a threat-model review annually and after material architecture change.",
      "source": "SEC-002"
    },
    {
      "id": "policy.sec-003",
      "group": "assurance",
      "claim": "Security awareness training",
      "verdict": "stated",
      "detail": "A training programme is defined for the people who operate our systems.",
      "source": "SEC-003"
    },
    {
      "id": "org.brreg",
      "group": "organisation",
      "claim": "Brønnøysund register",
      "verdict": "live",
      "reproduce": "curl -s https://data.brreg.no/enhetsregisteret/api/enheter/928776719",
      "result": {
        "state": "pass",
        "summary": "Organisation 928 776 719 is registered and listed in Frivillighetsregisteret.",
        "ranAt": "2026-09-20T22:52:50.039Z",
        "ms": 1927,
        "evidence": [
          {
            "kind": "json",
            "title": "https://data.brreg.no/enhetsregisteret/api/enheter/928776719",
            "body": "{\n  \"organisasjonsnummer\": \"928776719\",\n  \"navn\": \"THE EDUCATIONAL EQUALITY INSTITUTE\",\n  \"organisasjonsform\": {\n    \"kode\": \"FLI\",\n    \"beskrivelse\": \"Forening/lag/innretning\"\n  },\n  \"registreringsdatoEnhetsregisteret\": \"2022-02-19\",\n  \"registrertIFrivillighetsregisteret\": true,\n  \"registrertIMvaregisteret\": false,\n  \"konkurs\": false,\n  \"underAvvikling\": false\n}"
          }
        ]
      }
    },
    {
      "id": "org.irs",
      "group": "organisation",
      "claim": "IRS Business Master File",
      "verdict": "live",
      "reproduce": "curl -s https://projects.propublica.org/nonprofits/api/v2/organizations/332331817.json",
      "result": {
        "state": "pass",
        "summary": "EIN 33-2331817 is in the IRS Business Master File as a 501(c)(3).",
        "ranAt": "2026-09-20T22:52:49.429Z",
        "ms": 1315,
        "evidence": [
          {
            "kind": "json",
            "title": "https://projects.propublica.org/nonprofits/api/v2/organizations/332331817.json",
            "body": "{\n  \"ein\": 332331817,\n  \"name\": \"Educational Equality Institute Inc\",\n  \"city\": \"New York\",\n  \"state\": \"NY\",\n  \"subsection_code\": 3,\n  \"ruling_date\": \"2025-01-01\",\n  \"deductibility_code\": 1,\n  \"ntee_code\": \"B99\"\n}"
          }
        ]
      }
    },
    {
      "id": "org.candid",
      "group": "organisation",
      "claim": "Candid (GuideStar) Platinum Seal of Transparency, 2025 and 2026",
      "verdict": "stated",
      "detail": "Issued by Candid on the strength of the profile TEEI maintains there. Checkable on the issuer’s site, not on ours.",
      "source": "Candid"
    },
    {
      "id": "org.globalgiving",
      "group": "organisation",
      "claim": "GlobalGiving Vetted, Effective and Top-Ranked marks",
      "verdict": "stated",
      "detail": "Issued by GlobalGiving after its own due diligence. Checkable on the issuer’s site, not on ours.",
      "source": "GlobalGiving"
    },
    {
      "id": "ret.policy",
      "group": "retention",
      "claim": "Retention periods for the CSR Cockpit are set by policy per record class",
      "verdict": "stated",
      "detail": "Data retention policy PRIV-001 v1.1, effective 2026-02-27, technical reconciliation 2026-07-19. Full text on request.",
      "source": "PRIV-001"
    }
  ]
}