What's New

Announcements and updates from the FrameShare team

Announcement Jul 15, 2026
FrameShare — /fs/ App Changelog & Release Smoke-Test Plan

FrameShare — new /fs/ app: changelog & release smoke-test plan

Everything the FS rework changed, grouped by functionality, with a manual smoke-test checklist per area. App-level testing only — walk the flows as a real user, no code/unit tests.

69 commits · 2026-07-08 → 2026-07-15 Branch: staging Old /app/ untouched and still works in parallel Generated 2026-07-15
Legend: S3 only fully testable on the staging/production instance (local dev writes to the prod bucket — don't) · console backend in dev (docker compose logs django), real SES on the instance · role needs a specific login (therapist vs. client) · new added since the last handover round (2026-07-11 or later).

1. App shell & navigation

A complete parallel UI at /fs/: thin Django templates + Alpine.js + JSON endpoints. One visual language — white cards, warm taupe background, lavender accents, Plus Jakarta Sans, no emojis.

What changed

  • Sidebar with active-page pill, real logo, footer (profile, settings, Question?, Classic app, log out) pinned to the viewport bottom.
  • Red attention badge on the sidebar Dashboard item (running sessions + worth-a-look + to-review count) visible on every page.
  • Sidebar Calendar item deep-links to the sessions calendar tab; detail pages have referrer-aware back links.
  • Profile + change-password pages; favicon set matches the legacy pages; staff-only "Internal" link.
  • Internal staff pages got a slim "Back" bar to /fs/dashboard/ instead of the old app top nav.
  • new Dashboard nav item is now visible for clients too (desktop sidebar + mobile tab bar); badge stays therapist-only.

Smoke test

  • therapist Log in, walk every sidebar item — each page shows a loading skeleton then content, active pill follows (including on child pages like a client file).
  • Sidebar badge count matches the dashboard "Worth a look" + running-session count, on every page.
  • Profile page: edit name/timezone, save; change password works and the new password logs in.
  • "Question?" feedback popup submits (staff receives the mail ).
  • Old /app/ pages still load and work in parallel.

2. Mobile (phones)

Full functionality below 768px through the same responsive templates — no separate mobile pages. iPad portrait and up keep the desktop UI.

What changed

  • Bottom tab bar: Dashboard (with badge), Calendar, Sessions, Clients, More — client portal shows Dashboard, My sessions, My gallery, More.
  • "More" opens a bottom sheet with the secondary nav; all modals slide up as bottom sheets.
  • Tables render as stacked cards; the calendar becomes a week agenda list (drag-reschedule disabled — use Edit).

Smoke test

  • Open every page at phone width (or a real phone); walk all bottom tabs.
  • Open a create/edit modal — it slides up from the bottom and is fully usable.
  • Sessions calendar shows the week agenda; tapping an entry opens the detail modal.
  • Sessions/clients tables appear as stacked cards; row taps navigate.
  • iPad portrait still gets the desktop sidebar layout.

3. Therapist dashboard /fs/dashboard/

What changed

  • Greeting + live clock (user's timezone) + one-sentence day summary.
  • Quick actions: Quick session (inline setup modal + share link), Schedule a session, Add a client.
  • Upcoming card: all of today (Now / Upcoming / Past states) + next 7 days; type and canvas-mode pills, participants, Copy invite link, Join.
  • Mini month calendar with dots on session days; new dates deep-link to the sessions calendar opened on that day.
  • "Worth a look": recent drawing activity on open sessions (homework) and open sessions idle >14 days with Review / Close; red count badge here and in the sidebar.
  • new Drawing activity is flagged regardless of the session's scheduled time (previously time-window dependent).
  • "Recently looked at": last 5 visited files/sessions (stored per browser in localStorage).

Smoke test

  • Greeting/summary sentence matches the day's real state (session count, activity, to-review).
  • Quick session button → setup modal → share link works in an incognito window.
  • Schedule / Add-client quick actions open the right modals (via ?new=…).
  • Upcoming: a session running now shows the green "Now" pill and the red counter; Join and Copy invite link work.
  • Mini calendar: dots on the right days; clicking a dotted day opens the sessions calendar on that date; month navigation works.
  • "Worth a look": draw in an open session as a client → it appears (same day, any scheduled time); an open session idle >14 days shows Review/Close, and Close works from here.
  • "Recently looked at" fills after visiting client files / session pages and links back to them.

4. Client dashboard new 92cca437

Clients now get their own dashboard at the same URL — the therapist layout minus quick actions and "Worth a look".

What changed

  • /fs/dashboard/ role-branches: clients see greeting + clock, Upcoming (Join button only — no invite links), the mini month calendar (day cells display-only), and "Recently looked at".
  • Client session payload gained safe extra fields (type, canvas mode, length) so Now/Upcoming/Past states work; no therapist data exposed.
  • Visiting a session in the portal now records it for "Recently looked at".

Smoke test

  • client Log in as a client → Dashboard appears in the sidebar/tab bar and loads.
  • Upcoming lists only that client's open scheduled sessions (today + 7 days); a session running now shows "Now"; Join lands in the whiteboard.
  • No quick actions, no "Worth a look", no invite-link copying anywhere on the page.
  • Mini calendar dots match the client's own sessions; day cells are not links; month navigation works.
  • Open a couple of sessions from "My sessions", return → they show under "Recently looked at".
  • No red badge for clients (sidebar or tab bar).

5. Sessions page (list + calendar) /fs/sessions/

What changed

  • Calendar (week / month / year, opens at 8am with internal scroll) and a flat list under pill tabs; one search box (session, client, group names) drives both.
  • new Client filter dropdown left of the search — "All clients" or one client; narrows list and calendar to sessions where that client is a direct participant. Header stays on one row on desktop.
  • List: running sessions first, then upcoming, then past/closed; canvas thumbnail in the status column; unclosed-session warning; direct row navigation to the session page.
  • Calendar: drag-to-reschedule open scheduled sessions (resize in week view = planned length), type pills, tag pills on tiles, over-state colors; click a free slot → create modal prefilled with that time.
  • Detail modal (calendar/list click): slim preview with badges, share/invite links with copy buttons and "Link used" pills, Go to session page, Join session, Close / Delete (Delete offered on future sessions).
  • "Open whiteboard" renamed to "Join session" everywhere.

Smoke test

  • Switch List/Calendar tabs; calendar week/month/year all render; clicking an empty slot opens the create modal with that time prefilled.
  • Search filters both the list and the calendar (try a session name, a client name, a group name).
  • new Client dropdown: pick a client → list and calendar show only their sessions; combine with search and tag filter; "No sessions match your filters" empty state; reset to "All clients" restores everything.
  • new Header layout: title, tabs, dropdown, search and both buttons sit on ONE row at desktop width.
  • Drag an open scheduled session to another slot, reload — new time stuck. Quick + closed sessions can't be dragged.
  • Detail modal: invite links copy and work, "Link used" pill appears after a link was used, "Go to session page" navigates, Join session opens the whiteboard.
  • Future session's detail modal shows Delete; deleting removes it from calendar + list.
  • List ordering: a running session sits on top; closed/past sink; unclosed-session warning shows where expected.

6. Creating sessions & email invites

What changed

  • Quick session: anonymous share link, starts immediately; optional name + description; canvas mode + tools setup like scheduled ones.
  • Scheduled session: participants (individual clients and/or groups — a group expands into members AND stays stored as a reference), optional date/time, planned length (min 2 minutes), drawing/collage mode, allowed-tools picker (hidden in collage mode), description.
  • Weekly recurrence: "Repeat every week" + count (default 10, 2–52) creates N independent sessions, same weekday/time, DST-safe; requires a date.
  • Email invites : on scheduling (tick box; personal join link per participant; recurring series = ONE mail per person listing all dates), on reschedule (only when the time actually changed), on continue (mail carries the NEW session's link). Amber warning names participants without an email. On-platform clients additionally get a "log in to see your calendar" paragraph with login + password-reset links.
  • new The session description is included in invite emails.

Smoke test

  • Quick session with name + description → share link joins anonymously in incognito; tools restriction applies on the whiteboard.
  • Scheduled session with one client + one group → appears on calendar/list; detail modal shows the group reference and every member.
  • Session without a date ("clients can join any time") is created and joinable.
  • Collage mode hides the tools picker; drawing mode shows it; 2-minute length accepted (create and edit).
  • Recurring: repeat weekly ×N → N entries on consecutive weeks at the same time; editing/deleting one leaves the others; repeat without a date errors.
  • Schedule with invites ticked: each participant with an email gets date + personal link (link works); participant without email is listed in the warning; recurring sends ONE mail per person with all dates; the description text appears in the mail.
  • Reschedule with the tick box: mail only when the time really changed. Continue with the tick box: mail links the NEW session.
  • An already-registered participant's mail contains the log-in paragraph; an unregistered one's doesn't.

7. Session page /fs/sessions/<id>/

What changed

  • Header: badges, description shown prominently new, continuation links (continued from / continued in), Edit (name/time/length), Join session, Close, Cancel, Delete, Continue.
  • new "Replay session" button opens the replay player in a new tab (see section 8).
  • new Card order: Setup (canvas mode + allowed tools by name) now sits directly above Artwork near the top.
  • Participants with per-person invite links, used-markers and links to their treatment files; invite links stay valid until close.
  • Artwork thumbnails per canvas with PNG download S3.
  • Activity: "Compute analytics" (duration/strokes/participants from stroke data, no closing needed) + deep analytics when processed — color/tool donuts, per-minute activity bars, mood timeline, canvas heatmap, FEATS tiles — plus "Download as image".
  • Chat log (loaded on demand); editable session notes (key/value rows); missing-final-image warning banner; Developer CSV card (Developer group only).
  • "Continue this session" is hidden while the session is open (close first) new.

Smoke test

  • Open a session with drawing history and click through every card top-to-bottom; Setup card is above Artwork; description shows under the header.
  • Edit name/time/length → saved and reflected on calendar/list.
  • Participants: each person has their own invite link; copy works; "Link used" pill after use; name links to their treatment file.
  • S3 Artwork thumbnails render; Download PNG delivers the image.
  • "Compute analytics" fills duration/strokes/participants; deep analytics tiles (donuts, activity bars, mood, heatmap, FEATS) render for a processed session; "Download as image" saves the card.
  • Chat log loads on demand; session notes: add, edit and delete key/value rows and they persist.
  • Open session: no "Continue this session" button; after closing it appears.
  • Developer CSV card only for Developer-group members; CSV downloads.

8. Session replay player new 6c024d2b · c7a6010e

Watch a session's canvas being created stroke by stroke — therapist/superuser only, read-only.

What changed

  • "Replay session" on the session page opens /whiteboard/replay/<id> in the React app (new tab).
  • Full chronological event log endpoint (therapist/superuser only — clients get 403); drawing sessions replay through the real canvas, collage sessions (incl. quick) rebuild objects up to the playhead.
  • Controls: play/pause, seek slider, elapsed/total time, stroke counter, 1/2/5/10× speed; long idle gaps compressed (max 2s between strokes).
  • Read-only overlay with drag-to-pan and wheel-zoom; auto-fits the whole canvas; canvas selector for multi-canvas sessions.
  • The dark full-screen dimming during "Restoring Canvas…" was removed in replay (progress box stays); the normal whiteboard is unchanged.

Smoke test

  • Drawing session with history → Replay opens, canvas auto-fits, Play animates strokes in order at believable pacing.
  • Pause, seek forward, seek BACKWARD (rebuilds), and play to the end (player stops); speed buttons change pace.
  • No dark full-screen overlay during load or after seeking back — only the white progress box.
  • Collage / quick session replay: images and shapes appear/move/disappear correctly while scrubbing both directions.
  • Drag pans, mouse wheel zooms; drawing is impossible (read-only); multi-canvas session shows the canvas switcher and each canvas replays.
  • Session with no drawing activity shows the friendly empty message; no "Not Connected" error anywhere.
  • client A client (or another therapist) calling the replay URL/API is rejected.

9. Session lifecycle

What changed

  • Sessions never auto-close: joinable before the scheduled time and long after; only "Closed" is shown as a status.
  • Close = manual freeze: final image saved, all links stop working. Cancel ("never happened", before start only): links dead, no final image, stays visible grayed. Delete (archive): removes from calendar + list.
  • Continue (copy & continue): popup with editable name + optional new date; the new session seeds its canvas from the parent's final image; continued-from/in links walk the chain.
  • Rehydration: sessions survive long idle (checkpoint metadata persisted; canvas restored after Redis expiry). Checkpointer fallback: with no therapist present, the lowest connected user bakes checkpoints (homework keeps saving).

Smoke test

  • Join an old open session via its invite link days after the scheduled time — works.
  • Close a session → invite link now rejected; final image on the session page.
  • Cancel a future session → links dead, shown grayed, no final image.
  • S3 Draw → close → Continue → the parent's image is the new session's background, drawing on top survives the first checkpoint; parent untouched; chain links navigate both ways.
  • S3 Rehydration: rejoin a session idle >24h (or after a Redis flush) — drawing intact.
  • S3 Homework: client joins alone via invite link, draws, leaves — drawing persists and the therapist dashboard flags the activity.

10. Clients, groups & treatment files /fs/clients/

What changed

  • Clients page: Individual | Groups tabs, search, dense tables with "On platform"/"Not registered" state, last-login, Last session, Primary focus; row click opens the file.
  • Add/edit/archive client (first+last name required, email optional); client groups (create/edit/delete with member checkboxes, group notes) usable in scheduling.
  • Bulk import from Excel: download generated .xlsx template → fill → upload → preview (created/skipped with row + reason, duplicate emails skipped) → import. CSV accepted too; wrong files get clear errors.
  • Treatment files (client + group): profile card + edit, add/edit/delete notes, merged session+note timeline with year separators and artwork thumbnails S3, per-session chat expand, attachments (≤25MB up/download/delete) S3, "Open details" → session page.
  • Portal invite: "Not yet a FrameShare user" card on the client file (until first login) with "Send access invite" ; button grayed + hint without an email. (The old table button is gone.)

Smoke test

  • Add, edit and archive a client; create/edit/delete a group and use it when scheduling.
  • Bulk import: template with umlauts, one missing name, one duplicate email → preview counts match → import → clients appear; a wrong file type errors clearly.
  • Client file: edit profile, notes CRUD, timeline shows sessions + notes chronologically with badges and artwork strips S3; chat expands; attachments upload/download/delete S3.
  • "Send access invite" → client sets a password → logs in with email; card disappears after first login; table shows "On platform".
  • Group file: group notes are about the unit; member links open their files.

11. Client portal client login

What changed

  • Clients log in with their email and get a reduced app: Dashboard new, My sessions, My gallery — nothing else.
  • My sessions: own sessions with Join links; session page shows date/therapist, artwork (no downloads) and chat — no notes, setup, analytics, invite links or actions.
  • My gallery S3: artwork of their own sessions only.

Smoke test

  • Login with the EMAIL address works and lands in the portal.
  • Nav shows only Dashboard, My sessions, My gallery (+ profile/logout); no therapist items.
  • Portal session page: artwork + chat visible; no notes/analytics/invite links/edit buttons anywhere.
  • S3 My gallery contains only that client's sessions' images.
  • Therapist URLs and APIs are walled off for the client (redirect or 403) — try /fs/clients/, /fs/dashboard/ API, another client's session page, the replay endpoint.

13. Tags 7f9ef661 → d52cfb57

What changed

  • Therapist labels for clients, groups and sessions: one-row editor on the session page and the file pages, solid colors, managed on a settings page.
  • Tag pills on calendar tiles; a tag filter row above the sessions page serves both list and calendar tabs.
  • New/Intro/Urgent seeded for new therapists; new clients are auto-tagged "New".

Smoke test

  • Create/rename/recolor/delete tags on the settings page.
  • Tag a session and a client from their pages; pills render with the chosen color, on the calendar tiles too.
  • Tag filter row on the sessions page narrows both tabs; combines with search and the client dropdown.
  • New client → automatically carries the "New" tag.

14. Content pages, dialogs & misc

What changed

  • /fs/news/ (announcements/changelog/newsletters merged) and /fs/help/ (CMS help sections) — therapist-only.
  • Styled confirm/alert dialogs replace all browser popups new.
  • API-generated URLs (share/invite links) forced to HTTPS on staging/production new.
  • Free-user limits removed for /fs/ client/session creation; /fs/ is English-only (decision); TUTORIALS.md holds ready-to-paste help texts.

Smoke test

  • News and Help pages load with content; not reachable as a client.
  • Trigger a destructive action (Close/Delete session) → styled dialog, not a browser popup; Cancel aborts, Confirm executes.
  • On staging: every copied share/invite link starts with https://.
  • No emojis anywhere; Plus Jakarta Sans loads; favicon shows.

Appendix: full commit list chronological, /fs/ scope + replay

HashDateSubject
1a8819d82026-07-08FS rework phases 0-2: /fs/ app scaffold, ClientGroup + direct session participants, clients page
88e595ac2026-07-08FS rework phase 3: /fs/sessions/ calendar + list with create/detail modals
be3a63892026-07-08FS rework phase 4a: open session lifecycle + close/copy&continue endpoints
72bdb8c62026-07-08FS sessions: "Continued from" link in the session detail modal
6c9a49ad2026-07-08FS rework phase 4d: on-demand session analytics from the event log
2bbf343c2026-07-08FS treatment files + session setup options
529d05952026-07-08FS quick sessions: same canvas-mode + tools setup as scheduled sessions
80c9afcb2026-07-08FS dedicated session page: port of the legacy session detail page
5ce8b4282026-07-08FS dashboard: actionable daily summary
6c4f7a9a2026-07-08FS dashboard: quick-session button opens the same setup modal
56da779b2026-07-08FS feature parity: edit/cancel sessions, exports, notes editing, gallery, no free-user gates
ce4c24022026-07-08FS client portal: email login, opt-in access email, limited client views
95ae73a22026-07-08FS clients: "On platform" state + last-login column
f580bfb42026-07-08FS design pass: shell foundation + dashboard reference restyle
0eb7bffe2026-07-08FS design pass: roll the dashboard language across all pages
977157f32026-07-08FS sessions: back to Calendar|List tabs (stacked was too busy)
8dc599b32026-07-08FS session page: transition on the edit modal (last one missing)
b4549a202026-07-08FS session page: Developer Functions card with Activity CSV download
3ba4e6c82026-07-08FS sessions: restructure the session detail modal
79598a582026-07-08FS sessions list: internal scroll matching the calendar height
d5b4264e2026-07-08FS sessions list: day groups (Today/Tomorrow/dates) with striped days
09bc241f2026-07-08FS sessions list: clearer day bins — white/gray alternating + stronger day dividers
63c0626b2026-07-08FS sidebar: sticky full-height — user/logout block pinned to viewport bottom
210c4f092026-07-08FS sidebar: real logo (static/logo.png) instead of the F chip
e8058a3c2026-07-08FS: port My Materials to /fs/materials/
108eb4182026-07-09FS treatment files: artwork thumbnails in the timeline
aba4ea492026-07-09FS: fix template comment leaking into the session-setup modal
c6a2db952026-07-09FS session setup: hide the tools picker in collage mode
9275411d2026-07-09FS create session: name + description fields, collage disables tools picker
0085289e2026-07-09FS session page: full analytics visualizations (step 4 item 2)
23e6c4632026-07-09FS: treatment-file attachments, 'Continue this session' popup, dashboard session states
2b447f1a2026-07-09FS dashboard: red count badge for running sessions, added to sidebar sum
5a59ae482026-07-09FS: visible button styles everywhere, session delete, session-page action layout
e9b69f002026-07-09FS sessions list: dashboard-style flat table, direct navigation, invite-link picker
523548852026-07-09FS clients table + page headers: row navigation, Not registered, eyebrow labels
cbf3e1ab2026-07-09FS treatment files: single-card timeline with kind column, layout tweaks
19b649422026-07-09FS sidebar: Calendar nav item deep-linking to the sessions calendar tab
e21db8cc2026-07-09FS detail pages: referrer-aware back links
523cc0e82026-07-09FS clients: file-page archive buttons, leaner tables with Last session + Primary focus
8dcae30a2026-07-09FS session page: legacy-parity gaps (step 4b) + calendar year view
126241042026-07-09FS sessions calendar: drag-to-reschedule, type pills, over-state colors
dfa042132026-07-09FS sessions detail modal: slim preview
d6d04bd72026-07-09FS shell: logo link, News + Help pages, Question? feedback popup
5cb0d2712026-07-09FS base: favicon links (same set as legacy pages)
f28fefff2026-07-09Internal staff pages: replace app top nav with a Back bar
2410fec02026-07-10FS sessions: weekly recurrence, 2-min length, Delete on future entries
fb102d932026-07-10FS clients: bulk import from Excel template
da0683ab2026-07-10FS clients: send-access moves to the client file page
fc7086f72026-07-10FS sessions: email invites on schedule, reschedule and continue
9a81baf12026-07-10FS docs: feature inventory replaces handoff; push bookkeeping
3c5dbe672026-07-10FS mobile: bottom tab bar, sheet modals, card lists, agenda calendar
f41eb1b92026-07-10FS: profile + change password pages, dashboard clock
7f9ef6612026-07-11FS tags: therapist labels for clients, groups and sessions + settings page
e49746732026-07-11FS tags: calendar tiles show tag pills, filter row serves both tabs
b18257382026-07-13FS tags: seed New/Intro/Urgent for new therapists, auto-tag new clients
d52cfb572026-07-13FS tags: Done / Manage tags become solid buttons on their own row
dc4b1e562026-07-13FS sessions list: canvas thumb in status column, unclosed-session warning, drop Past/Closed pills; defer canvas_data in gallery queries
ea1270792026-07-13FS dashboard: mini-calendar dates deep-link to sessions calendar on that day
6b6e33272026-07-13FS: styled confirm/alert dialog replaces browser popups
f840706f2026-07-13FS: force HTTPS in API-generated URLs for staging/production
9f0c01b72026-07-13FS: rename "Open whiteboard" to "Join session"
af0f6d742026-07-13FS session page: hide "Continue this session" when session is open
a9bc7fd02026-07-13FS dashboard: show drawing activity regardless of scheduled time
30df63262026-07-13FS: show description prominently on session page + include in invite emails
6c024d2b2026-07-13FS: session replay player — watch a session's canvas being created
c7a6010e2026-07-15FS replay: drop the dark full-screen backdrop while restoring canvas
942b13312026-07-15FS session page: move the Setup card above Artwork
92cca4372026-07-15FS: client dashboard — therapist layout minus actions and Worth a look
84e1ef802026-07-15FS: client filter dropdown on sessions and gallery pages
Sources: git history (branch staging), NEW_MANAGEMENT_FEATURES.md (feature inventory), TODO.md test checklist. Model additions are all additive (/app/ untouched): ClientGroup, GroupNote, TreatmentAttachment, Session.users/groups M2M, Session.continued_from, CanvasCheckpoint; invites valid until close. Explicitly NOT in this release: 24h reminder emails, shapes bake-on-placement, /app/ retirement (see TODO.md "NEXT PHASE").
New Feature EMDR Therapy Tool Apr 8, 2026
Moving light bar for EMDR.
  • Configure a light bar and it will show for all participants.
  • Choose, color, sound, speed (even sticker)
  • Accessible for the therapist in the bottom right therapist tools corner.
EMDR Therapy Tool
New Feature Onboarding Tour Apr 8, 2026

Onboarding & Help

  • Interactive onboarding tour when you first open a canvas.
  • Click the blue ? in the top right corner to restart the tutorial any time you might feel lost.
Onboarding Tour
New Feature New shape tools with rotation support Apr 8, 2026

New Shapes added!.

  • Scale, rotate and fill shapes as you like, selectable from the Shapes menu.
New shape tools with rotation support
New Feature Blur tool Apr 8, 2026

Blur Background on Video

  • Enable Blur in the video window to blur your background
  • This will affect performance though, so if you see laggy drawing, jagged lines etc consider turning it off.
  • This is especially true on tablets and phones as they have less processing power.
  • Blur tool
    Announcement Feb 24, 2026
    TEST
    Improvement Session Details images now High Def Feb 24, 2026
    High-Resolution Thumbnails (d6d5994) - Session detail page (800x600 requests) now serves full resolution images instead of fuzzy 400x300 thumbnails - Gallery views (280x210) continue using thumbnails for fast loading
    Session Details images now High Def
    Improvement Renamed Build brushes to Collage Feb 24, 2026
    Collage Brushes Rename - Renamed "Build Brushes" → "Collage Brushes" across all user-facing labels
    Renamed Build brushes to Collage
    New Feature Newsletters added to News Feb 24, 2026
    Newsletter Archive Integration - Added NewsletterEntry model to archive email newsletters - Newsletters now display on the What's New page with a dedicated filter tab - Supports both desktop and mobile templates
    Newsletter Feb 22 newleter Feb 24, 2026
    FrameShare Monthly Newsletter: February
    ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌     ͏ ‌    ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­


    FrameShare

    February Monthly Newsletter

    New Feature Performance Warning Overlay Jan 19, 2026
    • Shows a prominent warning when network or device performance is poor
    • Appears on center-left of screen with dismiss button
    • Only triggers when performance is genuinely bad (>300ms network, >100ms device)
    • Includes suggestions for improving performance
    Performance Warning Overlay
    Improvement Tablet Support Improvements Jan 19, 2026
    • Header and toolbar now scroll horizontally on narrow screens
    • Dropdowns (participants, mood selector, performance) appear above the toolbar instead of being clipped
    • All buttons remain accessible on tablets without switching to mobile view
    New Feature Engagement Monitor Jan 19, 2026

    New floating window for therapists to track participant activity in real-time.

    • Shows all participants with stroke counts and activity progress bars
    • Time filters: 1 min, 5 min, 15 min, 30 min, or all session
    • Sort by highest or lowest activity
    • Hover on rows to see last activity time
    • Draggable and resizable window
    • Toggle from the toolbar (chart icon)

    Helps therapists identify who is actively participating and who may need encouragement.

    Engagement Monitor
    Improvement Video Grid Expanded Jan 14, 2026

    Video window now shows up to 16 participants (4x4 grid) before pagination. Previously limited to 9 participants (3x3).

    Video Grid Expanded
    New Feature Performance Indicators Jan 14, 2026
    • Two small icons in the header showing connection health
    • Network indicator (WiFi icon): measures latency to server
    • Device indicator (Monitor icon): measures local drawing performance
    • Color-coded: green (good), yellow (moderate), red (poor)
    • Icons flash when not green to alert you
    • Hover for detailed values in milliseconds
    Performance Indicators
    Improvement Video Window Drag & Resize Indicators Jan 13, 2026
    • Added grip icon in header to indicate the window can be dragged
    • Improved resize handle with larger clickable area and visual feedback
    • Better hover and active states for resize corner
    Video Window Drag & Resize Indicators
    Improvement Quick Session Participant Renaming Jan 13, 2026

    You can now rename participants in quick sessions for better organization and identification.

    Quick Session Participant Renaming
    New Feature Smudge Tool Jan 13, 2026
    • New smudge/blend tool for mixing and smearing colors on canvas
    • Real-time sync between clients
    • Proper handling for late joiners - smudge operations are stored and replayed
    • Images stay images, all other art can be smudged
    Smudge Tool
    New Feature Personal Image Library (My Assets) Dec 23, 2025

    Build and maintain your own curated library of images to reuse across sessions.

    • My Assets - Upload and organize your personal collection of session images
    • Drag and drop - Quickly add images from your library to the canvas
    • Reusable resources - Use your favorite therapy materials across multiple sessions
    Personal Image Library (My Assets)
    New Feature Canvas Renaming & Multiple Canvases Dec 18, 2025
    • Rename canvases - Double-click on a canvas tab to give it a custom name
    • Multiple canvases - Create and switch between multiple canvases during your session
    • Better organization - Keep your work organized with meaningful canvas names
    Canvas Renaming & Multiple Canvases
    New Feature Emotion Check-in Dec 17, 2025

    New emotion check-in button in the top toolbar allows participants to select their current emotional state during sessions.

    • Quick selection - Choose from a range of emotions with a single click
    • Session tracking - Emotion states are recorded throughout the session
    • Post-session stats - View emotional journey data in session analytics after the session ends
    Emotion Check-in
    New Feature Session Notes for Therapists Dec 16, 2025

    Therapists can now take private notes during sessions using the notes button in the bottom-right corner.

    • Private notes - Only visible to the therapist, not shared with participants
    • Real-time saving - Notes are automatically saved as you type
    • Session context - Notes are linked to the session for easy reference later
    Session Notes for Therapists
    Announcement Oct 7, 2025
    January 15, 2025
    AATA 2025 Conference Logo
    Stefan, Founder at Booth 38

    We will be at this year's AATA!

    We are excited to be able to show our progress in creating a tool aimed to ease your efforts and expand your patient reach. Meet our founder Stefan (pictured for reference) at Booth 38 on Thursday between 6:30 and 8:30 PM to learn all about it and score a trial!

    If you can't make it but still would like a chat, feel free to reach out anytime at hello@frameshare.org.

    This will be our first ever Therapy conference, and we are excited to both share our vision and get to meet the caring people we want to help!

    Announcement Sep 8, 2025
    January 5, 2025

    How FrameShare Ensures HIPAA Compliance

    FrameShare implements comprehensive security measures that meet and exceed HIPAA Security Rule requirements. Here's how we protect your clients' Protected Health Information (PHI):

    Your Sessions Are Completely Private

    • No Sharing Without Consent

      Drawings, chat messages, and session notes are NEVER shared or visible to anyone except the therapist and their authorized patients. Each session is completely isolated.

    • Self-Hosted Video

      Unlike other platforms that use third-party services (Zoom, Google Meet, etc.), we host all video sessions on our own secure servers. Your therapy sessions never leave our HIPAA-compliant infrastructure.

    • Zero Platform Visibility

      Even FrameShare's administrators cannot view your encrypted session content, messages, or patient data. Only you and your authorized patients have access.

    Administrative Safeguards

    • Comprehensive Audit Logging (§164.312(b))

      Every access to PHI is tracked: WHO accessed WHAT, WHEN, and from WHERE. Audit logs are immutable and include all creates, reads, updates, and deletes.

    • Automatic Session Timeout

      Sessions automatically expire after 30 minutes of inactivity, preventing unauthorized access from unattended devices.

    • Account Security & Lockout

      Accounts are locked for 10 minutes after 5 failed login attempts, protecting against brute force attacks. IP-based tracking identifies suspicious access patterns.

    Technical Safeguards

    • Field-Level Encryption (§164.312(a)(2)(iv))

      All sensitive data is encrypted using AES-128 encryption (Fernet). This includes patient profiles, session notes, messages, and drawing data - both in transit and at rest.

    • Data Integrity Controls (§164.312(c)(1))

      SHA-256 checksums verify data hasn't been tampered with. Any unauthorized modifications are immediately detectable.

    • Complete Data Recovery (§164.308(a)(7))

      Full history tracking allows recovery of any accidentally deleted or modified data. Every change is versioned with timestamps and user attribution.

    • Secure Infrastructure

      All data transmission uses HTTPS/TLS encryption. AWS infrastructure provides additional security layers with VPC isolation and security groups.

    Data Protection Features

    • Soft Delete Protection

      PHI is never permanently deleted immediately. Deleted records are retained and can be restored if needed, preventing accidental data loss.

    • Role-Based Access Control

      Therapists can only access their own clients' data. Staff have restricted access based on their role. All access is logged and auditable.

    • Privacy-First Design

      Therapist locations shown only at state level. Anonymous visitor tracking respects privacy. Patient data is segregated and encrypted.

    • Complete Data Isolation

      No artwork, chat messages, or session notes are ever shared without explicit consent. Only the therapist who created the session and their authorized patients can access session data.

    • Self-Hosted Video Infrastructure

      All video sessions are self-hosted on our secure servers. No third-party video services have access to your therapy sessions, ensuring complete privacy and HIPAA compliance.

    • Therapist-Controlled Data

      All patient data, health records, and session content is encrypted and saved exclusively with the therapist's account. No other users, including platform administrators, can view this protected information.

    HIPAA-Compliant Technology Stack

    • django-auditlog

      Provides comprehensive, immutable audit trails for all PHI access and modifications.

    • django-simple-history

      Maintains complete version history of all records, enabling data recovery and change tracking.

    • django-fernet-fields

      Implements transparent field-level encryption using industry-standard AES-128 encryption.

    • django-axes

      Monitors and blocks suspicious login attempts, preventing unauthorized access.

    HIPAA Compliance Summary

    Access Control (§164.312(a)(1))
    Audit Controls (§164.312(b))
    Integrity Controls (§164.312(c)(1))
    Transmission Security (§164.312(e))
    Data Recovery (§164.308(a)(7))
    Access Management (§164.308(a)(4))

    Need more information about our HIPAA compliance?

    Contact us at support@frameshare.org

    We can provide our complete HIPAA compliance documentation, Business Associate Agreement (BAA), or schedule a security assessment review.