Structa 2.1 — now shipping

Build real databases on your Mac.

Structa is a professional database builder for macOS. Design tables, build forms, write scripts, and publish to the web — all from one app. Your data lives in a single .structa file on your Mac. No server. No cloud account. No subscription tax.

Free download Works offline Sandboxed & signed macOS 13+
What's in the box

Everything you'd expect — and a few things you wouldn't.

113 formula functions. 50 script steps. 18 field types. 5 polished templates. One app.

Visual schema designer

18 field types including text, numbers, dates, JSON, choices, email, URL, and first-class file attachments. Automatic safe migrations as your design evolves.

ƒ

Real formula language

113 built-in functions across 12 categories — string, math, date, statistics, crypto, calculus, arrays, system Get(). Circular-dependency detection and recursion safety baked in.

Visual script engine

50 step types covering record manipulation, navigation, custom dialogs, control flow, and multi-user record locks. Variables scope local or project-global.

Pixel-perfect form designer

AppKit canvas with snap-to-grid, smart guides, and 25 object types — text fields, portals, charts, embedded dashboards. Data binding and visibility formulas per object.

Dashboards

KPI / Chart / Recent-Records / Note tiles with live refresh. All KPIs on the same table compute in one batched SQL round-trip. Embed a dashboard inside a form.

Bring your existing data

Import FileMaker .fmp12, CSV, JSON, XML, SQL dumps, ODS, DBF, HTML/Markdown tables. Streaming import handles multi-gigabyte files with pause / resume / cancel.

📎

File-attachment fields

Drop PDFs, photos, audio, signed contracts directly onto records. Stored inside the project bundle and served to web clients via /assets/….

Table-sourced dropdowns

Choice fields can populate their options from another table's column. Pick the source in the inspector; the list updates as the source table grows.

Conditional formatting

Attach multi-rule formulas to any form object — background, foreground, border color, and bold, all responsive to the current record. Layered overlay; last match wins.

Outbound webhooks

Every record insert, update, and delete POSTs a JSON envelope to user-configured URLs. Wire Structa to Slack, Zapier, n8n, or any custom integration.

Web publishing

Built-in HTTP server publishes forms and JSON APIs to your LAN. Session-based authentication, CSRF, rate limiting, field-level permissions, custom themes.

Multi-user host mode

Other Macs on your network connect to your project with full record locking, conflict resolution, audit logging, and HTTPS. CAL packs of 1, 3, 5, 10, 15, or 20 seats.

🔒

Encryption at rest

AES-GCM with LZFSE compression, on by default. Keychain-backed keys. Export a Recovery Key for off-Mac backup.

AI assistant (BYOK)

Bring your own Anthropic API key — stored in the Mac Keychain, never leaves your machine without your action. Ask about schema, draft formulas, generate scripts.

⌘P

Print & export

Cmd-P prints the current form as PDF via the system dialog. Reports module produces multi-page documents. Export to CSV, XLSX, JSON, or PDF.

🛡

Privacy by design

No telemetry. No cloud account. No data leaves your Mac unless you publish it. Everything works offline. The privacy manifest declares zero data collection.

Start fast

Five polished templates, ready in seconds.

Every template ships with a dashboard, navigation, scripts, and realistic sample data. Customize anything.

📇

CRM Lite

Companies, Contacts, Deals, Activities. Pipeline dashboard included.

📦

Inventory

Products, Categories, Locations, Stock Movements. Live KPI tiles.

🧾

Invoicing Lite

Clients, Invoices, Line Items, Payments. Tax-calculation formulas built in.

🛠

Job Tracking

Projects, Tasks, Team, Time Entries. Status pipeline + workload dashboard.

📚

Notes & Collections

Notebooks, Notes, Tags. Full-text search and a tag taxonomy out of the box.

Pricing

Free to build. Pay only for multi-user.

The single-user app is fully free — every feature in the box. Subscriptions exist only when you want other people to connect.

Single-user

Structa

Free · forever

Full database builder. No locked features. No trial. No account.

  • 113 formula functions
  • 50 script steps
  • 18 field types incl. file attachments
  • Form designer, dashboards, reports
  • FileMaker / SQL / CSV / JSON import
  • Encryption at rest
  • BYOK AI assistant
  • Single owner seat on your Mac
Download on Mac App Store
In-app subscription

Web Unlimited

$localized

Unlimited browser-based access to published forms on your network. Independent of Native CALs.

  • Unlimited browser clients
  • HTML routes + JSON API
  • Session-based authentication
  • CSRF + rate limiting
  • Custom themes
  • File-attachment uploads
Subscribe inside Structa

All in-app subscriptions are processed by Apple under your Apple ID. You can change pack size, pause, or cancel at any time from App Store → Account → Subscriptions. Native CALs and Web Unlimited are independent — subscribe to either, both, or neither.

FAQ

Common questions

Is Structa really free?

Yes. The single-user Mac app is free with every feature unlocked — database builder, forms, scripts, dashboards, reports, encryption, import, AI assistant. The only things gated behind a subscription are multi-user connections: other Macs on your LAN (Native CALs) and browser clients (Web Unlimited).

Where does my data live?

In a single .structa file on your Mac. It's a package directory containing a SQLite database, your project metadata, and any file attachments. You own it. Move it, back it up, or copy it to another Mac like any other file.

Does Structa send anything over the network?

Only when you explicitly ask it to. Out of the box, Structa is fully offline. Network traffic only happens when you (a) start the publishing server to share with browsers or other Macs, (b) configure an outbound webhook, or (c) use the AI assistant with your own Anthropic API key. There is no telemetry, analytics, or "check for updates" call.

Can I migrate from FileMaker?

Yes — Structa imports FileMaker .fmp12 files directly. The importer recovers tables, fields, records, and relationships. Complex layouts and calculations don't always survive 1:1, but the schema and data come through cleanly so you have a starting point.

What's the difference between Native CALs and Web Unlimited?

Native CALs let other Structa users connect from their own Macs over your LAN — they use the full native app. Web Unlimited lets anyone with a browser connect to forms you publish — no Structa install needed. They're independent subscriptions; pick whichever fits your use case (or both).

Do I need to expose Structa to the internet?

No. Multi-user is designed for your LAN. If you want to expose Structa beyond your network, that's your responsibility — typically via port forwarding, Tailscale, or another tunnel. There is no Structa-hosted relay in the v2.1 release.

What happens to my CAL seats if I stop subscribing?

Native CAL packs are monthly subscriptions handled by Apple. When the subscription lapses, the cap drops back to zero additional seats — meaning only your owner seat (always free) can connect. Your data is never locked out. You can resume at any time.

How does encryption work?

Projects are encrypted at rest with AES-GCM. The encryption key is generated per project and stored in your Mac's Keychain, scoped to your user account. You can export a Recovery Key to a printable file as a backup. Encryption is on by default — flip it off in Project Settings if you don't want it.

Does Structa work on Apple Silicon?

Yes. Structa is a universal binary. Native Apple Silicon execution and Rosetta-free.

What about iPhone or iPad?

A companion iOS app is on the roadmap. For now, Structa is macOS only (13 Ventura or later). Browser clients via Web Unlimited work on any device with a modern browser.

Privacy

Privacy Policy

Effective date: May 16, 2026 · Last updated: May 16, 2026 · App version: Structa 2.1

1. Summary in one paragraph

Structa is a local desktop application. It does not collect, transmit, or store your personal information on any remote server we operate. Your project data lives on your Mac in a .structa file under your control. We do not run analytics, telemetry, ad tracking, or session recording in the app. We do not have a user account system. The only network traffic Structa generates is traffic you explicitly configure — publishing your project, sending webhooks to URLs you set, or calling the Anthropic API with your own key.

2. Who we are

Structa is published by FI Forensic Intelligence, Ltd., a Canadian company. Bundle identifier: ca.forensicintelligence.structa. Contact: john@forensicintelligence.ca.

3. What Structa stores on your Mac

Structa creates and reads the following on your local machine. None of it is transmitted to us.

4. What Structa does not do

5. Network traffic — only when you ask

Structa generates network traffic exclusively in the following scenarios, each of which you control:

6. In-app subscriptions and payment

Structa offers in-app subscriptions for multi-user features (Native CAL packs and Web Unlimited). All payments are processed by Apple under your Apple ID through StoreKit. We do not see your name, email, billing address, or payment instrument. We receive only a transaction record from Apple confirming which subscriptions are currently active, which Structa uses to unlock the corresponding seats locally.

To view, change, or cancel a subscription, open the App Store on your Mac, click your avatar, choose Account → Subscriptions. Refunds are handled by Apple.

7. Data we receive

From Apple, in connection with App Store distribution and subscriptions:

If you email us directly at the support address, we receive your email message and address. We use it to respond to you and don't add it to any list.

8. Multi-user publishing — your responsibility

When you publish your Structa project to other users (LAN or browser), you become the data controller for that data flow. Visitors connecting to your published server submit data to your Mac. Structa does not see that traffic. Configure authentication, access controls, and HTTPS appropriately for your use case.

9. Children

Structa is a professional tool not directed at children under 13. We do not knowingly collect personal information from anyone, including children.

10. Your rights

Because Structa does not collect personal data, there is generally nothing for us to delete, export, or correct. If you have nonetheless emailed us, you can request deletion of your support correspondence by emailing john@forensicintelligence.ca.

11. Security

Project encryption uses AES-GCM with keys generated via Apple's CryptoKit and stored in your login Keychain. The Mac App Store distribution is sandboxed and notarized by Apple. We follow the principle of least privilege — Structa's sandbox entitlements are limited to user-selected file access, network client/server, and the network entitlements needed for publishing and IAP.

12. Changes to this policy

If we update this policy, we will publish a new effective date at the top. Material changes will be noted in the release notes of the affected Structa update.

13. Contact

Questions, complaints, or curiosity: john@forensicintelligence.ca.

Support

Getting help

Documentation inside the app

Press ⌘ ? at any time in Structa to open the full documentation. It covers every screen, every script step, every formula function, every keyboard shortcut. Inside the docs window, press ⌘ F to search.

Email support

For bugs, feature requests, or questions the documentation doesn't answer, email john@forensicintelligence.ca. Structa is built by a small team and you're emailing a real person who reads everything.

To help us help you faster, include:

Subscription management

To change pack size, pause, or cancel a Native CAL or Web Unlimited subscription:

  1. Open the App Store on your Mac.
  2. Click your avatar (top right) → Account.
  3. Choose Subscriptions.
  4. Click Manage next to Structa.

Refunds are processed by Apple via reportaproblem.apple.com. We don't process payments and can't issue refunds directly.

Project recovery

If a project won't open, Structa keeps a plaintext crash-recovery copy on every save. Look for project.sqlite alongside project.sqlite.enc inside the .structa package (right-click → Show Package Contents). If that's missing, your last full backup is your fallback — Structa supports both Time Machine and any third-party backup tool because the project is just a regular file.

Status

Structa is a local app with no cloud component, so there's no service status page to check — if the app works, it works. If you ever can't open Structa from the App Store, the issue is typically at Apple's end; check Apple's System Status page.

Legal

Terms of Use

Effective date: May 16, 2026 · Use of Structa is also governed by Apple's Media Services Terms and Conditions for in-app subscriptions.

1. Licence

Structa is licensed to you under the Mac App Store's Standard Licence Agreement (EULA). You may install and use Structa on any Mac you own or control, as governed by Apple's terms.

2. Acceptable use

You agree not to use Structa to:

3. Subscriptions

In-app subscriptions auto-renew unless cancelled at least 24 hours before the end of the current period. Pricing is set per region by us and displayed live by StoreKit in your local currency. You can cancel at any time from your Apple ID's subscription settings; the subscription stays active until the end of the paid period.

4. No warranty

Structa is provided "as is" and "as available," without warranty of any kind. We do not warrant that the app will be uninterrupted, error-free, or that all defects will be corrected. To the maximum extent permitted by law, FI Forensic Intelligence, Ltd. disclaims all warranties, express or implied, including merchantability and fitness for a particular purpose.

5. Limitation of liability

To the maximum extent permitted by law, in no event shall FI Forensic Intelligence, Ltd. be liable for any indirect, incidental, special, consequential, or punitive damages — including but not limited to lost data, lost profits, business interruption, or any other commercial damages or losses — arising out of or related to your use of, or inability to use, Structa. Our total cumulative liability for any claim related to the app is limited to the amount you paid us for the app in the twelve months preceding the claim (which, for the free download alone, is zero).

6. Data ownership

You own the data you create in Structa. We claim no licence to it. The project files on your Mac are yours; we do not have access to them.

7. Changes to these terms

We may update these terms from time to time. Material changes will be noted in the release notes of the affected Structa update. Continued use after a change constitutes acceptance.

8. Governing law

These terms are governed by the laws of the Province of Ontario, Canada, and the federal laws of Canada applicable therein, without regard to conflict-of-laws principles. Disputes arising from your use of Structa shall be brought in the courts of Ontario.

9. Contact

FI Forensic Intelligence, Ltd. · john@forensicintelligence.ca