Security & Trust
Last reviewed 2026-08-19
ElectraCalcIQ is engineering-decision-support software used by licensed electrical engineers, contractors, and estimators. We take the confidentiality, integrity, and availability of your project data seriously, and we believe you deserve a plain-language answer to “how do you handle my data?” — not a marketing page that dodges the question.
This page is our answer. If you need something not covered here, or want to arrange a signed Data Processing Addendum, contact security@electracalciq.com.
1. Encryption
In transit. All connections to ElectraCalcIQ are served over TLS 1.2 or 1.3 with modern cipher suites. HTTP requests are redirected to HTTPS. We publish an HSTS header on every response.
At rest. Customer data is stored in a managed PostgreSQL database on Linode block storage, which is encrypted at rest by the hosting platform. Automated snapshots are also encrypted.
Passwords. User account passwords are hashed with Django’s default PBKDF2-SHA256 (600,000 iterations as of this writing). We never store passwords in plain text and cannot recover a forgotten password — only reset it.
Secrets. API keys, Stripe secrets, and SMTP credentials are stored in server environment files with filesystem permissions restricted to the service user. They are not committed to version control.
2. Access Controls
Human access to production. Administrative access to the production server is restricted to a single named engineer at Peninsula Logic, LLC. All SSH access uses ED25519 public-key authentication; password login is disabled. There are no shared administrative credentials.
Application-level access. Authenticated app pages require an active session. Sessions are cookie-based with Secure, HttpOnly, and SameSite=Lax flags. CSRF protection is enforced on every state-changing request.
Organization-level access. Multi-tenant separation is enforced at the ORM query level: every project, calculation, export, and audit-log row is scoped to an organization, and cross-organization access is not possible through the application. Seat-based role permissions (Owner / Admin / Member) gate access to billing, member management, and destructive operations.
Login rate limits. Failed login attempts are rate-limited per IP address to defend against credential stuffing.
Multi-factor authentication. Time-based one-time-password (TOTP) MFA is on our roadmap for Q4 2026. Until then, we recommend enforcing strong passwords and using a password manager.
3. Backups & Disaster Recovery
Customer data is protected by three independent backup layers, each targeting a different failure mode.
- Full-server snapshots (Linode Backup Service). Daily snapshots of the entire production host, retained for at least 7 days, stored in a separate region from the primary server. Recovers from full-host loss.
- Local database dumps. A daily
pg_dumpof the application database is written to the server's backup partition, gzip-verified, size-checked, and retained for 14 days. Recovers from database corruption or accidental data changes without a full-host restore. - Offsite database + config backups. The same daily
pg_dumpplus a snapshot of key server configs is uploaded to a Linode Object Storage bucket in a separate region, retained for 14 days. Any failure in the pipeline triggers an email alert. Recovers even if the primary Linode region is unavailable.
Recovery targets.
- RPO (Recovery Point Objective): 24 hours. The maximum data-loss window is bounded by our daily backup cadence.
- RTO (Recovery Time Objective): 4 hours. Restore-from-dump is a documented procedure. This is a target, not a contractual SLA.
Restore drills. We plan our first full restore drill in Q4 2026 and will document the outcome here after completion.
4. Sub-processors
We use the following third-party services to operate ElectraCalcIQ. We commit to updating this list within 30 days of onboarding any new sub-processor that processes customer data.
| Vendor | Purpose | Data location | Data processing terms |
|---|---|---|---|
| Linode (Akamai Technologies) | Compute, storage, network, backups | United States | Akamai master terms & standard DPA |
| Stripe, Inc. | Payment processing, subscription billing | United States | Stripe DPA at stripe.com/legal/dpa |
| SMTP2GO | Transactional email delivery | United States | SMTP2GO master terms |
| Google Cloud (Google LLC) | Geocoding API (Solar calculator only) | United States | Google Cloud DPA |
| NREL PVWatts | Public solar-irradiance API (Solar calculator only) | United States | Public government API — no PII transmitted |
What we send to each sub-processor.
- Linode — all customer data (they host the database).
- Stripe — customer name, email, billing address, and payment method. We do not store your full credit card number; Stripe does.
- SMTP2GO — the recipient email address and body content for outbound transactional messages.
- Google Geocoding — the free-text address entered on a Solar calculator page.
- NREL PVWatts — lat/long, tilt, azimuth, and system size parameters. No PII is transmitted.
Notification of changes. If we add a new sub-processor that will process customer data, we will update this page and notify active customers by email at least 30 days before the change takes effect, unless the change is required to respond to a security or availability incident.
5. Incident Response
If you believe you have found a security vulnerability in ElectraCalcIQ, please email security@electracalciq.com. We commit to:
- Acknowledge receipt within 24 hours (usually much faster during business hours, US Eastern time).
- Provide an initial triage response within 72 hours.
- Coordinate on responsible disclosure timing that gives us time to fix the issue before public disclosure.
Good-faith security research is welcomed. We will not pursue legal action against researchers who follow responsible disclosure practices as described in our security.txt.
Data breach notification. If a security incident results in unauthorized access to customer data, we will notify affected customers by email within 72 hours of confirming the incident, per GDPR breach-notification norms.
6. Vulnerability Disclosure
We publish a machine-readable security contact at /.well-known/security.txt per RFC 9116.
Out of scope for our disclosure program:
- Denial-of-service testing against production
- Social engineering of ElectraCalcIQ personnel
- Physical security testing
- Findings from automated scanners without demonstrated impact
7. Availability
Service-level objective. We target 99.5% availability measured monthly, excluding scheduled maintenance windows announced at least 48 hours in advance. ElectraCalcIQ is a single-node deployment as of August 2026; enterprise customers requiring 99.9% or higher may request a roadmap conversation about our planned multi-node architecture.
Maintenance windows. Non-emergency maintenance is performed during low-traffic hours (typically 02:00–05:00 US Eastern time on weekends). Emergency maintenance may be performed at any time without advance notice.
8. Data Handling
What we collect from you. Account information (name, email, organization), calculation inputs (electrical parameters, project metadata), and calculation outputs (results, PDFs, DXF files, XLSX exports).
How long we keep it. Customer data is retained for the life of your active subscription plus 30 days after cancellation, during which you may export all your data through the in-app export functions. After the 30-day export window, data is deleted from production systems within 7 days, and purged from all backups within 90 days on the standard backup rotation.
Data ownership. You retain all right, title, and interest in your data. We receive only a limited license to process it for the purpose of providing the service. We do not train machine-learning models on customer data. We do not sell customer data. We do not share customer data with any party except the sub-processors listed above.
Data export. You can export any project as PDF, XLSX, or DXF at any time from the in-app project page. You can also request a full-account data export by emailing support@electracalciq.com; we will provide a machine-readable archive within 30 days.
Data deletion. Individual users may delete their own account from the account settings page. Organization owners may request full-organization deletion by emailing support@electracalciq.com. Deletion is confirmed by return email.
9. Compliance Posture
- SOC 2: Not currently audited. We build to SOC 2 principles (access control, encryption, change management, monitoring), and plan to pursue SOC 2 Type I certification when enterprise revenue justifies the audit engagement. We can share our internal controls-mapping document under NDA on request.
- GDPR: Our data-processing practices are designed to be GDPR-compliant. We offer a standard Data Processing Addendum for EU customers; contact security@electracalciq.com to request one.
- CCPA: We do not sell personal information under the CCPA definition. California residents may exercise data-access and data-deletion rights via support@electracalciq.com.
- HIPAA: ElectraCalcIQ is not a HIPAA business associate and is not appropriate for storing protected health information (PHI). Our software is scoped to electrical engineering calculations.
Contact
- Security concerns: security@electracalciq.com
- Privacy / DPA requests: security@electracalciq.com
- General support: support@electracalciq.com