REV-1001 — Ezzi Clarity Website Technical Review
| Field | Value |
|---|---|
| Document ID | REV-1001 |
| Title | Ezzi Clarity Website Technical Review |
| Status | Active |
| Classification | Internal |
| Owner | Ezzi Clarity Educational Consulting Services Inc. |
| Subject | ezziclarity.ca — source: github.com/vijaybpanangi/ezziclarity |
| Review Date | 2026-08-04 (§8 refreshed 2026-08-23) |
| Review Cycle | Annually, or after a major site redesign/version bump |
Important
The bulk of this review is based on a read-only inspection of the ezziclarity repository at
tag v3.7.0 (2026-08-04); §8 below was updated 2026-08-23 to reflect the site’s actual current
state (v3.9.2) without re-verifying the rest. It does not include live DNS record
verification, Cloudflare account/dashboard configuration, or GitHub organization/branch-protection
settings beyond what
registers/website-technical-asset-register.md
independently live-verified.
Contents
- 1. Purpose
- 2. Tech Stack
- 3. Repository Structure
- 4. Deployment
- 5. Domains and DNS
- 6. Third-Party Services and Dependencies
- 7. Security Review
- 8. Repository and Release Activity
- 9. Content Confirmation
- 10. Findings Summary
- 11. Related Documents
- 12. Revision History
1. Purpose
This review inventories the technical composition of the Ezzi Clarity public website — its stack, structure, deployment, domains, dependencies, and security posture — so that it can be governed as a corporate digital asset rather than remaining implicit knowledge held by a single maintainer.
2. Tech Stack
The site is a static HTML/CSS/JS site with no framework, generator, or build system — no
package.json, no bundler, no test framework. Each page is a hand-written HTML file with a small
inline <script> (mobile-navigation drawer toggle and a scroll-reveal IntersectionObserver),
duplicated per page rather than externalized into a shared script file. Styling is centralized in
a single global stylesheet, style.css.
The codebase originated as a WordPress theme and was fully converted to plain static HTML/CSS
prior to its v1.0.0 tag; WordPress-era artifacts were removed at that time.
Versioning: the site uses semantic versioning applied to the repository as a whole — one
annotated Git tag per release, on its merge commit (major = redesign/identity shift, minor = new
feature, patch = fix/content/docs). Eighteen annotated tags exist in an unbroken sequence,
v1.0.0 through v3.7.0 (“Books gallery” feature).
Note
README.md and CLAUDE.md (in the ezziclarity repository) describe style.css as “~1,734
lines”; it is currently 2,106 lines. Uncorrected as of adoption into this repository — see
Finding F-3.
3. Repository Structure
| Path | Purpose |
|---|---|
index.html |
Root language-gateway page (EN / FR / AR selector) |
en/, fr/, ar/ |
Full localized page trees, six pages each; Arabic is right-to-left (dir="rtl") |
style.css |
Single global stylesheet — design tokens, layout, motion |
assets/images/ |
Shared image assets |
docs/ |
Non-production documentation, including a docs/superpowers/ spec → plan workflow — the same pattern this repository uses |
404.html, _redirects, robots.txt, sitemap.xml |
Static site infrastructure files |
README.md, CLAUDE.md, ROADMAP.md, CHANGELOG.md |
Project documentation |
There is no .github/ directory and no CI/CD configuration file of any kind in the repository.
4. Deployment
The site is hosted on Cloudflare Pages, which auto-deploys from main on every push. No
in-repository CI/CD pipeline exists. Deployment verification is manual. Local preview is a bare
python3 -m http.server 8000.
5. Domains and DNS
The canonical domain is ezziclarity.ca. www.ezziclarity.ca also resolves and serves identical
content; no canonical redirect between the two is yet configured (tracked in the site’s own
ROADMAP.md).
Caution
The DNS/email details below are documented in the site’s own ROADMAP.md — see
registers/website-technical-asset-register.md
for the live-verified version.
- Email (MX): iCloud+ Custom Email Domain, under Vijay Panangipally’s personal iCloud+ family subscription.
- DKIM/SPF/DMARC: configured; DMARC is monitor-only (
p=none). - Cloudflare’s “AI Crawl Control” feature prepends a managed block to the live
robots.txtahead of the repository’s committed file.
6. Third-Party Services and Dependencies
Google Fonts (Plus Jakarta Sans, Fraunces, IBM Plex Sans Arabic); no analytics/tracking scripts;
no JavaScript dependencies; a link-out (not embedded) to a Titan booking page for “Book an Intro
Call”; JSON-LD structured data calling no external service. As of v3.9.0, the site also links
out to amazon.ca/dp/<ASIN> for each published book, tagged with an Amazon Associates ID
(ezziclarity-20) registered by Arva — the first live monetization link on the site.
7. Security Review
No secrets, API keys, tokens, or credential material were found anywhere in the repository.
.gitignore excludes .env/.env.*. A business phone number and email addresses are published
in JSON-LD and contact pages — intentional public business-contact information, noted here because
it constitutes personal information belonging to a named individual (Arva) and should be
considered if a future privacy policy or PIPEDA-related review is undertaken.
8. Repository and Release Activity
At time of original review (2026-08-04), 18 annotated semantic-version tags existed, v1.0.0
through v3.7.0. As of 2026-08-23, the site is at v3.9.2, with the intervening releases
directly relevant to this repository’s publishing/ arm: v3.8.0 flipped the Books gallery’s
first three cards from “coming soon” placeholders to live listings for the first three published
titles (real covers, working “Buy on Amazon” links, an “Available now” status), and v3.9.0
through v3.9.2 added and then refined Amazon Associates affiliate tracking on those links. This
review’s other sections (tech stack, deployment, domains, security) were not re-verified against
v3.9.2 and should be treated as current as of v3.7.0 (2026-08-04) unless stated otherwise
above — a fuller refresh is worth its own Issue rather than folding into this correction.
9. Content Confirmation
The site is confirmed as the marketing site for Ezzi Clarity Educational Consulting Services Inc.
Every page in every language repeats an explicit scope disclaimer: “Academic and career focused
only. No immigration or visa advice provided.” — consistent with the boundary documented in
company/brand/positioning.md.
10. Findings Summary
| # | Finding | Severity | Recommended Action |
|---|---|---|---|
| F-1 | www.ezziclarity.ca has no canonical redirect to the apex domain |
Low | Configure a Cloudflare Redirect Rule; already tracked in the site’s own ROADMAP.md |
| F-2 | DMARC policy is p=none (monitor-only) |
Low | Tighten to quarantine/reject once current mail flow has been observed |
| F-3 | README.md/CLAUDE.md (site repo) understate style.css’s current line count |
Low | Correct on next touch of that file |
| F-4 | No automated tests or CI/CD pipeline | Low–Medium | Acceptable at current scale; revisit if the site gains a backend or e-commerce integration |
| F-5 | Cloudflare/GitHub account-level settings not independently verified | Informational | Resolved for DNS/TLS/HTTP — see registers/website-technical-asset-register.md; account-level settings remain open |
| F-6 | Personal contact information published for a named individual | Informational | No action required now; consider if a formal privacy policy is drafted later |
| F-7 | Undocumented google-site-verification TXT record |
Low | Confirm purpose/ownership and document in the site’s own ROADMAP.md |
No finding rises to a level requiring immediate remediation.
11. Related Documents
registers/website-technical-asset-register.mdknowledge/adr-1001-website-architecture.mdcompany/strategy/business-plan.md— records the public website asezziclarity.ca
12. Revision History
| Version | Date | Status | Summary |
|---|---|---|---|
| 1.0 | 2026-08-04 | Active | Initial technical review, originally published in ezzi-clarity-os. |
| 1.1 | 2026-08-04 | Active | Added F-7, marked F-5 resolved for DNS/TLS/HTTP. |
| — | 2026-08-24 | Active | Carried forward into this repository without material change; cross-references updated. |