Workflow and actors
With engineering, operations, data protection and PMS owners, we trace the concierge or widget from guest to booking, messaging and payment boundaries, reproduce failures, and prioritise remediation and retest.
You shipped an AI concierge on Lovable, a booking widget on v0 or a review-reply bot on Cursor. We audit before one guest reads another's conversation, or before a PMS token ends up in the client bundle.
The workflows, examples and figures on this page are illustrative composites and modelled targets, not measured client results. In a real project, we define the baseline, thresholds and human review with your data before rollout.
An AI concierge has access to guest requests, reservation records and, if the booking-engine integration was rushed, fields close to payment data. A booking widget built on v0 can ship with the Supabase service_role key in the bundle. A review-reply bot sometimes trains on past responses that contain last names and room numbers.
We audit the code your team built with AI through the sector lens: guest and reservation isolation, careful handling of PCI scope, custody of PMS and booking-engine tokens, and the logs where last names, dates and truncated card references show up when they shouldn’t.
With engineering, operations, data protection and PMS owners, we trace the concierge or widget from guest to booking, messaging and payment boundaries, reproduce failures, and prioritise remediation and retest.
We review client and server code, APIs, authentication, database and RLS policies, storage, secrets, logs and PMS or booking-engine connectors handling bookings, messages, last names and payment references.
Testing avoids real data and booking or payment operations unless explicitly authorised in a safe environment. An exposed key, cross-booking leak or unexpected payment field triggers immediate containment.
The hotel confirms property, guest and booking boundaries; privacy or the PCI owner validates applicable handling, and engineering accepts the fix. The auditor retests before closure.
We model guest, booking and property boundaries, then combine code review, API ownership tests, bundle and secret inspection, data-flow tracing, and verification of logs and policies.
We audit only the tokens, webhooks and scopes actually used by Mews, Cloudbeds, Opera, SiteMinder, Booking or other systems in scope, without assigning the same capabilities to every provider.
Ownership filters on reservation, message and request queries. The target control should prevent an authenticated guest from reading another's conversation, invoice or request by changing an ID.
If the AI agent sees any payment-flow data, even truncated fields or card references, PCI scope follows. We trace what reaches the model, what stays in logs and what travels to external providers.
Tokens for Mews, Cloudbeds, Opera, SiteMinder, Booking, where they live, what they can do, whether they're in the client bundle, whether they rotate. And what happens if one property's token leaks into another's.
console.log statements with guest data surviving the build. Hosting platforms retaining logs for weeks. What's ‘debug’ for your team is personal-data retention under GDPR.
Modelled risk to test: the concierge might handle wifi, breakfast and transfer questions correctly while a reservations API without an ownership filter could accept any reservation ID. The check-in photo upload could also expose a Supabase service_role key in the client.
Modelled illustrative outcome: an audit could prioritise 3 critical findings within a set of 9: an ownership filter on the reservations API, removal of the client-side service_role through a signed upload endpoint, RLS policies on reservation and message tables, and scrubbing external logs that might contain last names or room numbers.
Under NDA, with read-only repository access. We don't touch real data: we read code and migrations. If we need to probe an endpoint, we use synthetic accounts in a staging environment.
Yes. We audit the connector, what permissions it asked for, what tokens it stores, how it handles errors and retries. If your PMS has no modern API and integration runs on flat files, we read that too.
Probably yes, though the exact shape depends on what the agent sees. We document which payment-flow data reaches the model and logs, tell you how to isolate it, and provide what your PCI auditor will ask for.
Small but real: the bot can train on past replies that include last names, cite room numbers or specific stays, and post text you wouldn't want on a public review. We audit what context reaches it and what it publishes before it goes live.
At intake we agree scope, environments and owners. We combine static review with dynamic tests in staging using synthetic accounts across reservations, PMS connections and logs; the report prioritises findings and assigns each remediation to an owner on your team. We then retest corrected controls, and the hotel's designated owner accepts closure against the agreed criteria.
We design for privacy from the start, human control, traceability, usage limits, permissioning and documentation. For sensitive processes, we help assess risk and applicable obligations under GDPR and the EU AI Act.
Every engagement is led personally by one of the partners. If there's a fit, you get a personal first read of your case within one business day, not a canned demo.