Trust boundary
The browser is interface only. It holds no database URL and no file-store admin key. Validation, access, and writes run in the API.
Security
Systems we build on Momentum hold the records, files, and form answers. A new screen uses the platform’s login, tenancy, and file path. Every engagement inherits the same layers.
The browser is interface only. It holds no database URL and no file-store admin key. Validation, access, and writes run in the API.
Sign-in is invite-only. An account at the identity provider is not enough: the API then loads a live portal user. Unknown or deactivated people cannot call signed-in routes.
Each area of the product has a permission key. The API rejects the call if the person’s role does not hold it. Hiding a menu item is never treated as protection.
Many customer companies run on one product. The client never chooses the organisation. Signed-in traffic uses the person’s company; a public form uses that form’s company. The database enforces the same rule.
The API runs as a least-privilege role. The owner role is for migrations only. Row-level security is on. The hosted table API that would let a browser talk to the database is off.
Bytes sit in a private bucket, keyed by organisation. Domain tables store document ids, not file bytes. The browser never talks to storage. Uploads are checked by type.
Unauthenticated routes are an explicit short list. Public form submit is rate-limited, CAPTCHA-gated on hosted sites, and body-capped. Unpublished forms 404.
Hosted CORS, origin-bound session tokens, security headers, and generic errors. A missing production setting fails closed. Laptop shortcuts cannot reopen on a hosted site.
Bodies are validated. Queries are parameterised. A timeline records who changed what. Rows are soft-deleted. Email and SMS are sent from the record; the client never supplies a raw To address.
The web application talks only to a REST API over HTTPS. That API is the only process with database and file-store credentials. Identity is checked, then the live portal user, then the permission keys on their role, then the organisation on that user (or on the published form).
Local development, hosted development, test, and production follow the same path. Code is promoted. Production data is not copied backwards. Hosted processes run as production, so a missing variable cannot reopen demo login or an API catalogue.
www.ionatech.co.uk is a static company site. It has no portal login and no customer records. The contact form opens your email app; we do not store submissions here. How we handle enquiry mail is on the privacy notice.
A hosted Momentum portal used by a customer organisation has its own privacy information, because it processes that organisation’s records.
This page is the public map. A procurement or security questionnaire can go further, under NDA, against a specific host.
Talk to us