A boutique agency that ships enterprise infrastructure
GWiZ Software Solutions is deliberately small. The same people who design a system operate it, which is why the engineering notes below are specific rather than aspirational — and why this page says plainly which parts are running today and which are connectors waiting on a tenant.
The boutique model
Small teams, long engagements, and no handover to a delivery pool.
One team, start to production
The person who designs your data model is the person who carries the pager for it. There is no separate delivery org and no offshore hand-off, so nothing is lost in translation between the diagram and the deployment.
Automated by default
Every service ships through a Cloud Build pipeline that builds a container, deploys it holding no traffic behind a private tag, checks its health on that tag, and only then moves traffic to it. A release that cannot answer a health check never reaches a customer, and the previous revision is one command away.
Written down, not remembered
Schema changes are versioned migrations that run forward on their own. Security decisions live in the code that enforces them, with the reasoning beside them, so the next person to read it can tell a deliberate constraint from an accident.
Data governance
The rules we hold ourselves to, stated as mechanisms rather than promises.
Secrets are never displayed
Administrative screens report whether a credential is configured, how long it is, and what shape it has — never its value. A settings page that prints secrets converts one stolen session into every credential a business owns, so ours refuses to, and the test suite fails the build if a secret value ever appears in a response.
Logs carry shape, not content
Inbound payloads are summarised before they are logged: counts, totals and field names, never client names or line-item prices. Cloud logging retains and indexes whatever is written to it, for a wider audience than is allowed to see a client file.
Clinical data stays out of the pipes
Where a system handles medical-legal material, the structural schema and the patient data are separated by design. Integration manifests we share with partners carry field definitions, types and routing rules — and no records.
Elevation for consequential actions
Changing a financial mapping or viewing integration configuration requires more than a valid session: it requires confirming your identity with a passkey inside a fifteen-minute window. Each confirmation is single-use and bound to the browser that began it.
Multi-tenant security standards
Isolation is enforced server-side
Tenant scope is applied in the query, not in the interface. Hiding a control is a convenience for the person using it; the boundary that matters is the one the server applies to every request, and access is re-checked on each call rather than trusted from a token, so revoking an account takes effect immediately instead of at token expiry.
Sign-in round trips are bound to the browser
Every OAuth flow — Google sign-in, Google Workspace authorisation, Microsoft 365, QuickBooks Online — issues a random nonce into an HttpOnly cookie and refuses the callback with HTTP 403 unless it comes back matching. The check runs before the authorisation code is spent, because a code redeemed into the wrong account has already done its damage.
Bounded connection pools
Database pools are capped per container on purpose. An unbounded pool multiplied by a hundred autoscaled instances exhausts the database's connection ceiling, and new containers then fail to start — a failure mode we have seen and engineered out.
Accessibility, framed globally
We build to WCAG 2.2 Level AA and test against it. The standards below are the ones that actually govern, and it is worth being precise about how they relate — several of them point back to the same WCAG criteria at different versions.
WCAG 2.2 Level AA
Our working target, and the strictest of the set. It adds criteria the older standards do not contain — focus appearance, dragging alternatives, and target size among them — so building to 2.2 covers the versions referenced below.
ISO/IEC 40500
ISO/IEC 40500:2012 is WCAG 2.0 ratified verbatim as an ISO standard rather than a separate rulebook. Meeting WCAG 2.2 Level AA meets it; we list it because procurement documents often cite the ISO number.
EN 301 549
The European public-procurement standard. Its current revision incorporates WCAG 2.1 Level AA for web content and adds requirements beyond the web — documents, hardware and support services — which are scoped per engagement rather than assumed.
ADA Title III
Title III itself sets no technical standard for websites; WCAG is what the Department of Justice has pointed to in enforcement and settlement agreements. We therefore treat WCAG 2.2 AA as the practical bar and document conformance rather than asserting statutory compliance, which only a court or regulator can determine.
AODA — the Canadian baseline
Ontario's Integrated Accessibility Standards Regulation requires WCAG 2.0 Level AA, excluding live captions and pre-recorded audio description. It is our floor, not our target: building to WCAG 2.2 clears it with margin.
What we actually ship
A skip link, visible focus that is never obscured by our own chrome, contrast and reduced-motion modes the visitor controls, decorative elements hidden from assistive technology, and theme-aware colour tokens defined for light and dark. Conformance is documented per engagement; we do not publish a blanket certification.
Integrations, with their real status
Shipping and in-preview are labelled separately, because a connector that authenticates is not the same as one that moves your files.
Microsoft 365 & Entra ID shipping
Staff sign in with their Microsoft work account through the Entra ID authorisation-code flow, with the profile read from Microsoft Graph and the round trip bound to the browser that started it. Tenant is configurable; a callback whose state does not match is refused with HTTP 403.
Google Workspace authorisation shipping
Two distinct, separately state-bound flows: one that signs a person in, and one that authorises the platform to act on Workspace data such as Drive and Gmail. Keeping them separate means granting file access never silently widens who can sign in, and each service uses its own OAuth client rather than a shared one.
Google Drive client vaults shipping
Client vaults are provisioned as a fixed folder tree from the command line, idempotently, into a Shared Drive so the organisation owns the material rather than an individual. Access is granted to named addresses; nothing is made link-public by default.
SharePoint & ShareFile vaults connector in preview
The OAuth connect and callback pair is implemented and state-bound, and the file operations are typed against Microsoft Graph v1.0 driveItem and ShareFile v3 OData Items — but those operations currently answer HTTP 501. A client can be written against them today; they do not yet store documents, and we would rather say so here than in a post-mortem.
Stripe billing & regional pricing shipping
Prices are held in one currency as the single source of truth. The site previews an indicative local amount for the United States, Canada, Europe, the United Kingdom and Australia, and Stripe Adaptive Pricing performs the actual conversion and charges in the customer's currency at checkout — deliberately with no exchange-rate table of our own, because a stale local rate that disagreed with the charge would be worse than no preview at all.
QuickBooks Online shipping
Estimates, invoices and purchase orders sync against the QBO API with the entity model QBO actually exposes. Amounts post in the company's home currency; multi-currency ledgers are not part of the sync today.
Talk to us
Tell us which of the four practices your question belongs to and we will route it to the person who works on it. Integration, governance and procurement enquiries all go through this form.