Privacy Policy & Security Architecture

Beam Solver (beamsolver.app) is an online computational tool for 1D continuous beam analysis. We operate on a strict data-minimization architecture: calculation payloads are processed in volatile memory and are not stored in a permanent database or sold to third parties.

Last Updated: August 2026HSTS EnabledTLS 1.3 via Cloudflare

Memory Model

Solves execute in transient RAM. An anonymous structural summary (span, supports, loads, stiffness — zero IP or user data) is appended to a local 10 MB rotating benchmark log.

No Tracking Ads

No advertising pixels, third-party user fingerprinting, or data broker integrations.

Ephemeral Builds

LaTeX and PDF exports compile inside temporary scratch folders and are deleted immediately after download.

Edge Hardened

Enforces HSTS preloading, MIME-sniffing denial (nosniff), and iframe isolation.

Data Handling Matrix

Exact lifecycle of data across client and server layers.

CategoryPayload / ScopePurposeRetention
Structural Models (Solve)Spans, Loads, Supports, Flexural Rigidity (EI)Solving reactions, SFD, BMD, slope & deflectionTransient (process lifetime)
Solve TelemetryAnonymous structural summary (span, support/load types & locations, stiffness; no IP, cookies, or user ID)Engineering validation benchmarks and solver convergence researchLocal rotating log (up to 10 MB)
Export BuildsLaTeX (.tex), PDF, PNG plotsCompiling downloadable step-by-step reportsDeleted upon stream completion
Client UI StateTheme choice, FBD label mode, draft setupRestoring local editor preferences across refreshesClient localStorage only
Telemetry (GA4)Anonymized events (solve run, export type)Monitoring backend error rates and solver performanceAggregated anonymous
User Accounts (Optional)OAuth ID, email address (via Clerk)Saving beam setups to personal libraryUntil user account deletion

1. Computation & In-Memory Processing

When a beam configuration is submitted, the payload is sent via HTTPS to our FastAPI backend. The calculations are performed strictly in-memory using Euler-Bernoulli beam theory through the Direct Stiffness Method (DSM) with 2-node cubic Hermite element formulations, Macaulay's singularity functions, or Clapeyron's Three-Moment equations using SymPy and NumPy.

The output data (reactions, shear force V(x), bending moment M(x), deflection curves, and LaTeX equations) is serialized to JSON and returned to the client. No relational database writes or user account linkage occur for calculation requests. To continuously verify solver convergence across diverse engineering edge cases, an anonymous structural summary (span length, support types and locations, load types and locations, and stiffness parameters, completely free of IP addresses, cookies, personal identifiers, or user account info) is written to a local rotating log file (up to 10 MB) solely for engineering validation benchmarks and solver convergence research.

2. LaTeX Compilation & Ephemeral Scratch Storage

When generating a PDF solution manual, the server creates an isolated temporary directory on the container filesystem using Python's tempfile.mkdtemp(). The LaTeX document is compiled via non-interactive pdflatex.

The compiled PDF binary is read into memory to stream back to the client as application/pdf, and the temporary build directory is deleted immediately inside a Python context manager (finally block).

3. Transport Security & Edge Headers

All network traffic to beamsolver.app is routed through Cloudflare edge proxies with TLS 1.3 encryption. Backend responses include hardened security headers:

  • Strict-Transport-Security: Enforces HTTPS with a 1-year max-age and subdomain preloading.
  • X-Content-Type-Options: Set to nosniff to prevent MIME type sniffing.
  • X-Frame-Options: Set to SAMEORIGIN to prevent iframe clickjacking.
  • Permissions-Policy: Denies access to hardware sensors (camera, microphone, geolocation, and payment APIs).
  • Server Header Stripping: Removes default server tokens to minimize surface footprint.

4. Client Storage & Analytics

The application uses browser localStorage strictly for client UI state:

  • beam-theme: Stores dark or light mode preference to prevent render flashing.
  • beam-fbd-label-mode: Stores numeric vs. letter notation preference for reaction annotations.
  • beam_config: Holds your working draft locally so you do not lose inputs during page reloads.

Google Analytics 4 (GA4) is used with anonymized IP addresses to monitor aggregate usage metrics (solver invocation counts, error rates, and export selections). No engineering inputs or geometry values are sent to analytics.

5. Support & Security Inquiries

If you have technical questions regarding data handling, wish to report a security issue, or submit feedback, reach us directly using the form below or email [email protected].

Feedback Category
Your Email Address

We'll only use this to respond to your report. Never shared or marketed to.

Detailed Message0 / 1000
Be as specific as possible (numbers, steps, expected vs actual).
Attach Screenshot (Optional)
Attach or paste screenshot

Click to browse, drag & drop, or press Ctrl+V