Skip to content

Instantly share code, notes, and snippets.

View charl-kruger's full-sized avatar

Charl Kruger charl-kruger

  • Investec
  • South Africa
View GitHub Profile
## Verdict
**I would not approve the standard `surfly.js` integration for authenticated or transactional banking pages as-is.** It is not just a “support widget”; it is a third-party JavaScript loader plus a co-browsing/proxy system that can interact with authenticated browser state, page contents, navigation, events, files, screenshots, and session control. That threat model is too powerful for core banking unless it is heavily isolated, hardened, independently reviewed, and preferably deployed in a controlled/private/on-prem model.
One important limitation: I could not retrieve the raw live `https://surfly.com/surfly.js` body through the available web reader because it rejected the JavaScript content type, and the execution container could not resolve the host. So this is **not** a line-by-line audit of the minified live asset. For a banking approval, that alone is a gating issue: you should require the exact source, sourcemaps where applicable, a version-pinned artifact, dependency inventory, hashes, and
there is some strange issue where I post a message from whatsapp, then I post another. once I post the seconds, only then does it start │
│ analysing the first message.\ │
│ \ │
│ Deeply analyse the flow to understand what could be going wrong.\ │
│ \ │
│ this also happens for images. i upload an image, then a second. only once I upload the second does the first one show the processing etc
User approved Claude's plan:
⎿ Simple Hackathon Fix for Concurrent Processing
Problem
Users can upload multiple images before processing completes, causing confusion with multiple AI responses and choice prompts.
Solution (Quick & Simple)
Add processing state guards at key points:
> ok while we are still busy prosessing an image, we shouldnt take on new image processing untill we are done. e.g. when I upload a image, i │
│ dont get a fast response the I upload another... then I get two responses so the ai is getting confused, what should we do? Also remember │
│ this is a hackathon so we dont want to be too fancy. if need be, just tell the user to wait..
Ready to code? │
│ │
│ Here is Claude's plan: │
│ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │
│ │ FASHN WhatsApp Agent with Cloudflare Agents & Scheduled Tasks │ │
│ │ │ │
│ │ Architecture Overview │
Ready to code? │
│ │
│ Here is Claude's plan: │
│ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │
│ │ FASHN WhatsApp Agent with Cloudflare Agents & Scheduled Tasks │ │
│ │ │ │
│ │ Architecture Overview │
ok now that you fully understand how cloudflare agnets work, we want to update our agent to recieve a image via whatsapp (have a look at │
│ '/Users/charl.kruger/gpt5/fashn-hackathon/packages/fashn-whatsapp-agent' as a refrence of how to do the whatsapp webhook and recieve │
│ images), then we can ask the user what they want to do with it via ai.\ │
│ \ │
│ the tree use cases are:\ │
│ \ │
│ store the image as a profile pic, we will store this in cloudflare r2 and use this image if the user wants to do a model swap using the │
deeply analylse cloudflare agents https://developers.cloudflare.com/agents/ and pay special attention to Schedule tasks as we will defs be
nneding this.\
\
Once you fully understand how cloudflare agents work, analyse out new app here
'/Users/charl.kruger/gpt5/fashn-hackathon/packages/agents-fashn'
@charl-kruger
charl-kruger / yaml
Last active July 10, 2025 07:09
v0 API Swagger
openapi: 3.0.3
info:
title: V0 API
version: 1.1.0
description: |
Swagger spec generated from the v0 JavaScript client
**with concrete TypeScript definitions mapped to JSON-schema**.
servers:
- url: https://api.v0.dev/v1
# Build Agents on Cloudflare
URL: https://developers.cloudflare.com/agents/
import {
CardGrid,
Description,
Feature,
LinkButton,
LinkTitleCard,