Website blueprint · 3 h ago

excalidraw.com

“Excalidraw Whiteboard”

Template-written 29 evidence items REA analysed 9 scripts
What this means for you

Excalidraw talked to 4 outside services on a first visit, including 2 that measure visits or show ads.E8E7

  • Before you click anything, the page loads analytics or ad services: Simple Analytics.E8E7

What it is

  • The site describes itself as: “Excalidraw is a virtual collaborative whiteboard tool that lets you easily sketch diagrams that have a hand-drawn feel to them.”E2
  • It's built with React (common tools for building web apps).E12
  • Notable building blocks in its code: Rough.js (hand-drawn shapes), CodeMirror editor and Firebase SDK.E13E14E15
  • In your browser it can read your clipboard (your browser asks first), can copy text to your clipboard, installs a background script (offline use, push messages), stores data in your browser's built-in database and 3 more.E17E18E19E20E21E22
  • It has sections such as /plus and /blog.E28E29

Where your data goes

Analytics & trackingCount visits and record what you do on the page. 2
queue.simpleanalyticscdn.comSimple Analytics: privacy-focused page-view counter 1×E8
scripts.simpleanalyticscdn.comSimple Analytics: privacy-focused page-view counter 1×E7
Error & performance monitoringReport crashes and speed to the developers. 1
sentry.ioSentry: crash and error reports 1×E9
CDNs & hostingDeliver files (scripts, images) quickly from servers near you. 1
excalidraw.nyc3.cdn.digitaloceanspaces.comDigitalOcean Spaces: file storage and CDN 7×E6

How key features work

AI features

Parts of the site talk to AI services or AI endpoints (/v1/ai/diagram-to-code/generate-streaming). Text you type there may be sent to them.E27

/v1/ai/diagram-to-code/generate-streaming

Drawing and editing in the browser

The page draws and edits graphics in your browser using Rough.js (hand-drawn shapes), CodeMirror editor and the canvas.E13E14E25

Rough.js (hand-drawn shapes)CodeMirror editorcanvas

Measuring what you do

Visits and clicks are measured with Simple Analytics (found in its traffic or its code).E8E7

Simple Analytics

Saving data on your device

It saves data in your browser (a service worker, IndexedDB (a browser database) and localStorage), so some things persist between visits.E19E20E21E10

service_workerindexeddblocal_storagelocalStorageIndexedDB

Cookies and storage

Names only. We never store the values.

localStorageE10: i18nextLng, version-files, version-dataState, excalidraw-state, excalidraw, excalidraw-theme

IndexedDBE11: excalidraw-library-db, excalidraw-ttd-chats-db, files-db

Pages and API calls

Pages it links to

/plus/blog/

Endpoints

Called while loading (seen) or named in the code (code).

us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries/submitcodeE26
oss-ai.excalidraw.com/v1/ai/diagram-to-code/generate-streamingcodeE27

Evidence

Every sentence above points to one of these. Code references show the file, line:column and the short identifier that matched, never the site's code itself.

E1
Page title: Excalidraw Whiteboard
page title · https://excalidraw.com/
E2
Page description: Excalidraw is a virtual collaborative whiteboard tool that lets you easily sketch diagrams that have a hand-drawn feel to them.
page description · https://excalidraw.com/
E3
Site name: Excalidraw
page site_name · https://excalidraw.com/
E4
Main heading: Excalidraw
page h1 · https://excalidraw.com/
E5
6 request(s) to excalidraw.com
types: 4 script, 1 document, 1 stylesheet
GET https://excalidraw.com/ · script · 6 requests · network recording
E6
7 request(s) to excalidraw.nyc3.cdn.digitaloceanspaces.com
types: 7 font
GET https://excalidraw.nyc3.cdn.digitaloceanspaces.com/oss/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 · font · 7 requests · network recording
E7
1 request(s) to scripts.simpleanalyticscdn.com
types: 1 script
GET https://scripts.simpleanalyticscdn.com/latest.js · script · network recording
E8
1 request(s) to queue.simpleanalyticscdn.com
types: 1 image
GET https://queue.simpleanalyticscdn.com/simple.gif · image · network recording
E9
1 request(s) to sentry.io
types: 1 fetch
GET https://sentry.io/api/5179260/envelope/ · fetch · network recording
E10
localStorage: 6 key(s) saved in your browser
localStorage keys: i18nextLng, version-files, version-dataState, excalidraw-state, excalidraw, excalidraw-theme · values not stored
E11
IndexedDB: 3 key(s) saved in your browser
IndexedDB keys: excalidraw-library-db, excalidraw-ttd-chats-db, files-db · values not stored
E12
React detected by REA (react-runtime)
confidence: medium
excalidraw.com/assets/index-j68--5dB.js · “react-runtime” · REA analyze-web-bundle 6.4.0
E13
Rough.js (hand-drawn shapes) found in the code
excalidraw.com/assets/mermaid-to-excalidraw-D-aVQaad.js @ 14:7862 · “roughjs” · pattern scan
E14
CodeMirror editor found in the code
excalidraw.com/assets/index-j68--5dB.js @ 51:12001 · “cm-editor” · pattern scan
E15
Firebase SDK found in the code
excalidraw.com/assets/index-j68--5dB.js @ 106:105334 · “FIREBASE_” · pattern scan
E16
Sentry found in the code
excalidraw.com/assets/index-j68--5dB.js @ 52:7045 · “__SENTRY__” · pattern scan
E17
Uses the browser ability: clipboard_read
can read your clipboard (your browser asks first)
excalidraw.com/assets/index-j68--5dB.js @ 155:20370 · “clipboard.readText(” · pattern scan
E18
Uses the browser ability: clipboard_write
can copy text to your clipboard
excalidraw.com/assets/index-j68--5dB.js @ 156:2020 · “clipboard.writeText(” · pattern scan
E19
Uses the browser ability: service_worker
installs a background script (offline use, push messages)
excalidraw.com/assets/workbox-window.prod.es5-B9K5rw8f.js @ 2:3500 · “serviceWorker.register(” · pattern scan
E20
Uses the browser ability: indexeddb
stores data in your browser's built-in database
excalidraw.com/assets/index-j68--5dB.js @ 358:664 · “indexedDB.open(” · pattern scan
E21
Uses the browser ability: local_storage
saves small bits of data in your browser
excalidraw.com/assets/index-j68--5dB.js @ 51:5516 · “localStorage.setItem(” · pattern scan
E22
Uses the browser ability: file_picker
can open or save files you pick
excalidraw.com/assets/index-j68--5dB.js @ 152:337636 · “showOpenFilePicker(” · pattern scan
E23
Uses the browser ability: web_share
can open your device's share menu
excalidraw.com/assets/index-j68--5dB.js @ 2622:48687 · “navigator.share(” · pattern scan
E24
Uses the browser ability: web_worker
runs work in a background thread
excalidraw.com/assets/index-j68--5dB.js @ 152:94787 · “new Worker(” · pattern scan
E25
Uses the browser ability: canvas
draws graphics on a canvas
excalidraw.com/assets/mermaid-to-excalidraw-D-aVQaad.js @ 9:138 · “getContext("2d"” · pattern scan
E26
REA found the endpoint us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries/submit
how: call:fetch
excalidraw.com/assets/index-j68--5dB.js @ 159:32491 · “us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries/submit” · REA analyze-web-bundle 6.4.0
E27
REA found the endpoint oss-ai.excalidraw.com/v1/ai/diagram-to-code/generate-streaming
how: call:fetch
excalidraw.com/assets/index-j68--5dB.js @ 2622:53023 · “oss-ai.excalidraw.com/v1/ai/diagram-to-code/generate-streaming” · REA analyze-web-bundle 6.4.0
E28
2 links to pages on the same site
page links · https://excalidraw.com/ · /plus, /blog
E29
REA found the route /
excalidraw.com/assets/index-j68--5dB.js @ 2622:36312 · “/” · REA analyze-web-bundle 6.4.0

Limits

  • We only see what your browser sees: code and requests on a first visit, without logging in or accepting cookie banners. What the servers do with data is invisible from outside.
  • Site code is usually minified (compressed), so names are partly lost and some code may be only partly analysed.
  • Some trackers only load after you accept cookies or log in, so the real list can be longer.
  • This text was written from fixed templates because no AI writer was available. It uses exactly the same evidence.
  • REA hit its size budget on parts of 2 large bundle file(s); those parts weren't fully analysed.

Facts, not judgements: this page describes what the code and traffic show, not anyone's intent. Not financial advice. Blueprint id k3L6zsaE.