← AI Prototype Rescue

Anonymized sample report

Technical rescue audit: internal operations prototype

This sample is based on a completed source-code and production-readiness review. Identifying details were removed or generalized. The evidence categories, verdict logic, finding structure, and recovery order reflect the delivered audit.

Review type
Source, runtime, release, and production readiness
Product stage
Substantial private alpha
Sample status
Names and identifiers removed

Executive verdict

Preserve the core. Do not launch this version.

The product was not an empty mockup. It contained a real full-stack application, a broad data model, daily-use workflows, authentication, integrations, and prior browser evidence. The missing work was concentrated in production engineering and proof.

The audited replacement was not reproducible from a known release. It lacked versioned migrations, automated tests, current end-to-end verification, and a proven restore path. Several security boundaries were unsafe for public use. The right decision was to preserve and harden the existing core before adding another feature.

Evidence reviewed

What supported the verdict

  • Source

    Application routes, server procedures, data schema, auth and workspace checks, integrations, jobs, attachments, assistant paths, configuration, and deployment notes.

  • Repository

    Git history and working state, tracked and untracked product code, build artifacts, dependency state, and the gap between the committed baseline and replacement product.

  • Verification

    Configured static checks, existing browser evidence, current local process state, and read-only checks of the public endpoint and expected application routes.

  • Limits

    No destructive migration, production mutation, paid provider call, or unsupported claim was made. Code-only integrations without current end-to-end proof stayed classified as partial.

Product map

Working, partial, and missing

Working evidence

  • Real full-stack application and broad data model
  • Implemented task, project, inbox, notes, reminder, and decision workflows
  • Authentication and workspace membership on primary surfaces
  • Integration and scheduled-job code with prior UI evidence
  • Static code checks passing in the audited state

Partial or unverified

  • External integrations without current end-to-end proof
  • Multi-user isolation without an authorization test matrix
  • Encrypted notes without recovery and attachment safety proof
  • Scheduler fallback without durable missed-run recovery
  • Polished UI evidence that predated the current source state

Missing for launch

  • One committed and deployable replacement baseline
  • Versioned migrations and legacy-data reconciliation
  • Automated tests and continuous integration
  • Fresh production build and browser smoke
  • Backup, restore, monitoring, rollback, and release identity

Prioritized findings

Launch blockers and high risks

  1. P0 01

    The running release did not match the audited product

    Evidence
    The public endpoint served an older application while the replacement product existed in a separate local working state. There was no deployable branch or release identifier that reproduced the replacement.
    Impact
    The team could not safely promote, roll back, or support the product because the source of truth was unclear.
    Required action
    Preserve one reviewable baseline, prove a clean build from it, and expose the deployed release identity before feature work resumes.
  2. P0 02

    A development account-recovery path could become an account takeover

    Evidence
    A development-only reset flow could return a live password-reset URL when enabled, and the sample environment configuration enabled that behavior.
    Impact
    Copying development configuration into a public environment could let an unauthenticated caller take over an account.
    Required action
    Remove the unsafe default, fail closed outside development, and implement a production email-based recovery path with rate limits and audit logging.
  3. P1 03

    OAuth callbacks trusted unsigned state

    Evidence
    Several integration start routes encoded account and workspace context into readable state. Callback handlers trusted the decoded values without re-checking the initiating session and current membership.
    Impact
    A crafted callback could bind external credentials to the wrong workspace or account.
    Required action
    Sign and expire OAuth state, bind it to the initiating session, and re-check membership before storing credentials.
  4. P1 04

    Webhook authentication could fail open

    Evidence
    The webhook verifier accepted requests when its signing secret was missing, while documentation treated the secret as optional.
    Impact
    A public deployment could accept forged events and write false activity into the product.
    Required action
    Require the secret at startup, reject unsigned traffic, and cover valid, missing, and invalid signatures with focused tests.
  5. P1 05

    Related records were not consistently constrained to one ownership boundary

    Evidence
    Several write paths accepted related record identifiers without proving that every referenced record belonged to the same workspace.
    Impact
    A malicious or broken client could connect records across ownership boundaries even when the top-level route checked membership.
    Required action
    Enforce ownership in every query and mutation, add database constraints where practical, and test cross-workspace IDs adversarially.
  6. P1 06

    The data model had no versioned migration or verified recovery path

    Evidence
    The repository used direct schema push instructions without a committed migration history. Database and attachment backup procedures had no completed restore drill.
    Impact
    A failed release or machine loss could make the product unrecoverable or leave the schema in an unknown state.
    Required action
    Commit migrations, define backup retention and encryption, restore into a clean environment, and record the measured recovery result.

Recovery roadmap

The shortest defensible order

Feature expansion waits until the baseline, security, data recovery, and release proof are trustworthy.

  1. 01

    Preserve one baseline

    Commit the complete replacement in reviewable units, remove local-only data, and tag the source that will become the next release.

  2. 02

    Close the critical boundaries

    Disable development recovery in production, sign OAuth state, require webhook verification, and enforce ownership on related IDs.

  3. 03

    Make data recoverable

    Add versioned migrations, export legacy data, define backup retention, and complete a restore drill for database and attachments.

  4. 04

    Create a truthful release gate

    Run type, lint, tests, dependency policy, production build, and a small browser smoke from a clean checkout.

  5. 05

    Launch privately first

    Deploy the known release with health checks, logs, monitoring, and rollback, then validate the integrations included in the initial scope.

Audit limits

What this report does not claim

  • This is not a penetration test or compliance certification.
  • Code that existed without current runtime evidence stayed marked partial or unverified.
  • The report describes the reviewed source and environment at that point in time.
  • No percentage or launch date replaces the listed evidence and acceptance conditions.
  • Implementation is a separate, closed scope after the audit.