2.3 KiB
2.3 KiB
AGENTS.md
Project identity
- Name: idv-demo — Jumio identity verification (KYC/KYB) demo app
- Stack: vanilla PHP (no framework, no Composer), nginx + PHP-FPM
- Owner: customer-engineering / Sechpoint
Repo setup
- Git remote:
https://git.sechpoint.app/customer-engineering/idv-demo.git - Credentials: source
~/bin/.gitenvforGIT_USER_NAME,GIT_USER_EMAIL,GIT_TOKEN - Default branch:
main - Commit prefix convention:
chore:
Architecture (non-obvious)
html/ → web root (deploys as /var/www/html/public — see nginx config)
index.php → single entry point (front controller)
class/ → core: config.php, site.php (session init), functions.php
app/
controler/ → routing: start.php (GET pages), request.php (POST actions)
model/ → Jumio API calls: M01.php, M04.php, docv.php, retrival_1.php, retrival_2.php, success.php
view/ → .phtml templates (header, footer, pages 00–04, loader, results)
cdn/ → static assets (JS includes iovation/IGLOO blackbox)
lng/ → language strings: en/ (default), de/
nginx/ → nginx site config (serves from /var/www/html/public, PHP-FPM via socket)
- No build tools, no tests, no CI/CD, no package manager — it's raw PHP.
- Routing: URL segments drive pages (
$PARAMS[1]in start.php); POST/GETdoparameter drives actions (request.php). - Jumio workflow: M01 (ID verification) → docv (document verification) → retrival → results.
Dev mode
- Hostname starting with
devsetsDEBUG = TRUE(html/class/config.phpline 28). - When DEBUG is true,
debug_log()writes tohtml/log/YYYYMM.log. Thelog/directory must exist and be writable.
Secrets warning
html/class/config.phpcontains hardcoded Jumio API credentials. Do not commit to public repos.
Nginx
- Active config:
nginx/default.conf - PHP-FPM socket:
unix:/run/php-fpm.sock - Clean URLs via
try_files $uri $uri/ /index.php?$args - Stale backup files in
nginx/:default_old.conf,default.conf.bak,default.bak.3.conf
Gotchas
- Filename
retrivalis intentionally misspelled (not "retrieval") — used consistently inretrival_1.php,retrival_2.php, and session keys. html/contains.DS_Store(macOS artifact) — should be gitignored.