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.
113 formula functions. 50 script steps. 18 field types. 5 polished templates. One app.
18 field types including text, numbers, dates, JSON, choices, email, URL, and first-class file attachments. Automatic safe migrations as your design evolves.
113 built-in functions across 12 categories — string, math, date, statistics, crypto, calculus, arrays, system Get(). Circular-dependency detection and recursion safety baked in.
50 step types covering record manipulation, navigation, custom dialogs, control flow, and multi-user record locks. Variables scope local or project-global.
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.
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.
Import FileMaker .fmp12, CSV, JSON, XML, SQL dumps, ODS, DBF, HTML/Markdown tables. Streaming import handles multi-gigabyte files with pause / resume / cancel.
Drop PDFs, photos, audio, signed contracts directly onto records. Stored inside the project bundle and served to web clients via /assets/….
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.
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.
Every record insert, update, and delete POSTs a JSON envelope to user-configured URLs. Wire Structa to Slack, Zapier, n8n, or any custom integration.
Built-in HTTP server publishes forms and JSON APIs to your LAN. Session-based authentication, CSRF, rate limiting, field-level permissions, custom themes.
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.
AES-GCM with LZFSE compression, on by default. Keychain-backed keys. Export a Recovery Key for off-Mac backup.
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.
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.
No telemetry. No cloud account. No data leaves your Mac unless you publish it. Everything works offline. The privacy manifest declares zero data collection.
Every template ships with a dashboard, navigation, scripts, and realistic sample data. Customize anything.
Companies, Contacts, Deals, Activities. Pipeline dashboard included.
Products, Categories, Locations, Stock Movements. Live KPI tiles.
Clients, Invoices, Line Items, Payments. Tax-calculation formulas built in.
Projects, Tasks, Team, Time Entries. Status pipeline + workload dashboard.
Notebooks, Notes, Tags. Full-text search and a tag taxonomy out of the box.
The single-user app is fully free — every feature in the box. Subscriptions exist only when you want other people to connect.
Full database builder. No locked features. No trial. No account.
Client-access licences for other Structa users on your LAN. Prices are localized by Apple and shown live in the Sharing dashboard.
Unlimited browser-based access to published forms on your network. Independent of Native CALs.
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.
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).
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.
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.
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.
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).
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.
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.
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.
Yes. Structa is a universal binary. Native Apple Silicon execution and Rosetta-free.
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.
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.
Structa is published by FI Forensic Intelligence, Ltd., a Canadian company. Bundle identifier: ca.forensicintelligence.structa. Contact: john@forensicintelligence.ca.
Structa creates and reads the following on your local machine. None of it is transmitted to us.
.structa packages you create, anywhere you save them. These contain your tables, records, forms, scripts, file attachments, and project settings.NSUserDefaults under your sandboxed app container. Examples: window position, last-opened project bookmark, autosave interval, recent-projects list, journal mode.IDFA or any advertising framework.Structa generates network traffic exclusively in the following scenarios, each of which you control:
api.anthropic.com using your key. Your prompts and any context you share are sent to Anthropic under your account; we are not involved. Don't paste data you wouldn't share with Anthropic.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.
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.
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.
Structa is a professional tool not directed at children under 13. We do not knowingly collect personal information from anyone, including children.
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.
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.
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.
Questions, complaints, or curiosity: john@forensicintelligence.ca.
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.
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:
To change pack size, pause, or cancel a Native CAL or Web Unlimited subscription:
Refunds are processed by Apple via reportaproblem.apple.com. We don't process payments and can't issue refunds directly.
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.
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.
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.
You agree not to use Structa to:
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.
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.
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).
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.
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.
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.
FI Forensic Intelligence, Ltd. · john@forensicintelligence.ca