Disclosure in Action: How AI Helped Me Keep the Disclosure Clean
Disclosure in Action May 2, 2026 – CompleteTech LLC

Field Note 08 – AI-Assisted Workflow

AI helped me keep the disclosure clean.

The useful part of AI here was not exploitation. It was structure: turning evidence into a timeline, checking tone, separating public from private detail, and helping me make the disclosure readable without making it dangerous.

I used AI the way I would use a careful technical editor. It helped organize dates, turn notes into a coherent report, draft public language, and pressure-test whether a sentence was helpful or too revealing.

That distinction matters. AI should not be used to escalate a finding past the ethical boundary. In this workflow, it helped me stay inside the boundary by clarifying what I had, what I did not do, and what did not belong in public.

This is also where orchestration becomes interesting. A tool like OpenCLAW could coordinate evidence collection, redaction checks, disclosure drafts, remediation checklists, portfolio artifacts, and publishing steps without losing the human approval points.

OrganizeTurn raw notes into a dated timeline and consistent public narrative.
RedactFlag phrases that reveal too much or blur private and public detail.
OrchestrateCoordinate drafts, review, screenshots, documents, and publishing with human approval.

The future-facing lesson is not that AI finds everything. It is that AI can help responsible researchers communicate with more discipline when the stakes are real.

CompleteTech LLC – Innovation at Every Integration Public disclosure series – 2026
Disclosure in Action: What I Think Builders Should Learn From This
Disclosure in Action May 2, 2026 – CompleteTech LLC

Field Note 07 – Builder Lessons

This is what I think builders should take from it.

The technical mistake was simple: long-term cloud credentials do not belong in a mobile application package. The engineering lesson is broader: build systems should make this class of mistake hard to ship.

If a secret ships in a client app, assume it is public. The remediation path should start with revocation and log review, then move to architecture: replace static client credentials with backend-mediated access or temporary credentials appropriate to the workload.

AWS's IAM guidance emphasizes temporary credentials for workloads where possible, least privilege, access review, and safe handling of access keys when long-term credentials are unavoidable.

The practical controls are familiar: secret scanning, code review checks, build artifact review, narrow IAM policy scope, CloudTrail review, and a release process that treats mobile binaries as public artifacts.

ImmediateRevoke exposed keys, rotate secrets, and review relevant logs.
ArchitecturalMove uploads behind backend controls or temporary credential flows.
ProcessAdd secret scanning and artifact checks before release.

Useful references: AWS IAM security best practices and AWS access key management guidance.

CompleteTech LLC – Innovation at Every Integration Public disclosure series – 2026
Disclosure in Action: I Published Without Publishing the Secret
Disclosure in Action May 1, 2026 – CompleteTech LLC

Field Note 06 – Public Disclosure

I published without publishing the secret.

The public disclosure needed to be accountable, useful, and intentionally incomplete. I included enough detail to document the issue and the timeline, while redacting the credential values that could enable reuse.

The public write-up included the affected package, observed builds, cloud target, region, endpoint, redacted access key identifier, technical source locations, and a clear statement that the full secret access key was not published.

It also included the research limits. No live AWS authentication was performed. No bucket enumeration, object retrieval, upload, write testing, or other AWS API activity was performed with the exposed secret.

That was the balance I wanted: enough specificity for accountability, enough restraint to avoid creating a new risk.

IncludedPackage, versions, S3 target, region, endpoint, source locations, and timeline.
RedactedThe full secret access key and any material that would enable credential reuse.
PublishedA public document for learning, accountability, and portfolio context.

The disclosure document is available here: VapeTM Hardcoded AWS IAM Credentials – Public Disclosure.

CompleteTech LLC – Innovation at Every Integration Public disclosure series – 2026
Disclosure in Action: The Finding Raised Bigger Trust Questions
Disclosure in Action April 8, 2026 – CompleteTech LLC

Field Note 05 – Adjacent Context

The finding raised bigger trust questions.

A separate privacy and data-handling conversation happened after the credential report. I kept it separate from the AWS issue, but it reinforced a broader point: security, privacy, and operational maturity usually travel together.

In that separate thread, VapeTM stated that machine ID scanning does not collect or store information and that mobile-app ID scanning is handled by AptPay.

I would not present that as part of the AWS credential finding. It is adjacent context, not the same issue. Still, the conversations rhyme because they are both about trust boundaries in operational software.

For builders, this is where product maturity shows up. Secrets management, privacy claims, vendor dependencies, logging behavior, and customer-facing explanations all shape whether users can trust the system.

Keep separateThe AWS credential issue and the privacy/data-handling thread are different topics.
Still relatedBoth affect how customers evaluate the maturity of the software ecosystem.
Builder lessonDocument trust boundaries before customers have to reverse-engineer them.

The careful version is stronger: I can say what was observed, what was vendor-stated, and what remains separate without stretching one finding into another.

CompleteTech LLC – Innovation at Every Integration Public disclosure series – 2026
Disclosure in Action: The Quiet Part of Disclosure
Disclosure in Action Late March 2026 – CompleteTech LLC

Field Note 04 – Remediation Window

The quiet part was part of the work.

After the private report went out, the correct move was not to keep digging. It was to preserve the evidence, avoid new access, and give the vendor space to remediate.

This is the part of disclosure that is easy to understate. There was no reason to expand the scope once the issue was reportable. More probing would have created more risk without improving the core finding.

I kept the timeline organized, preserved the static-analysis evidence, and started thinking about what a public version could say without publishing material that would enable misuse.

That redaction work is part of the disclosure process. It forces the question: what helps other builders learn, and what only helps someone exploit an old mistake?

PreserveKeep the evidence, dates, observed versions, and source locations organized.
Do not expandAvoid turning one reportable issue into unnecessary additional testing.
PrepareDraft public material with redactions and a clear explanation of research limits.

The remediation window is a trust exercise. My job was to be precise, patient, and ready to publish responsibly after the issue was addressed.

CompleteTech LLC – Innovation at Every Integration Public disclosure series – 2026
Disclosure in Action: I Sent the Private Disclosure
Disclosure in Action March 22, 2026 – CompleteTech LLC

Field Note 03 – Vendor Notice

I sent the private disclosure.

The private report needed to be useful to the vendor without being performative. I included the details required to identify, reproduce, and remediate the issue, including sensitive values that would never belong in a public post.

The report focused on what the vendor needed: affected application package, observed affected builds, source locations, target bucket, region, endpoint, and the credential values required for them to identify and revoke the key.

I also described my research limit. The finding was based on APK static analysis and decompiled code review only. No live AWS validation was performed.

That separation matters. The vendor needs enough detail to remediate. The public does not need enough detail to reuse the credential.

Private detailFull credential values and direct remediation evidence went to the vendor.
Public restraintThe public write-up would later redact the secret and avoid reusable material.
ToneThe goal was to get the issue fixed, not to dramatize the finding.

A good disclosure report makes the vendor’s next action obvious: revoke the exposed key, review logs, replace the pattern, and verify that newer builds no longer ship the secret.

CompleteTech LLC – Innovation at Every Integration Public disclosure series – 2026
Disclosure in Action: I Verified It Without Touching AWS
Disclosure in Action March 19-21, 2026 – CompleteTech LLC

Field Note 02 – Static Analysis

I verified it without touching AWS.

Once the APK showed what looked like an AWS credential pair, I slowed down and kept the validation local. I traced the evidence through decompiled code and stopped before any action that would touch the vendor's cloud environment.

The review stayed inside the APK and its decompiled source. I looked for where the values were defined, where they were passed, and what service client they were used to construct.

The relevant path was straightforward: build-time constants were used to create AWS credentials, and those credentials were passed into S3 upload code. I documented the affected package, observed builds, source locations, bucket name, region, and endpoint.

I did not authenticate with the credential. I did not enumerate the bucket. I did not retrieve objects, upload files, test writes, or call AWS APIs. The finding was validated through static evidence only.

EvidencePackage com.ruiye.jd, observed builds v1.0.78 and v1.0.87.1, and decompiled source references.
Observed useThe constants were passed into AWS S3 client code associated with upload behavior.
Hard stopNo live AWS authentication, bucket activity, object access, upload, or write testing.

Responsible validation is not the same thing as maximum validation. For this finding, static analysis was enough to show the risk and prepare a report.

CompleteTech LLC – Innovation at Every Integration Public disclosure series – 2026
Disclosure in Action: I Wasn’t Looking for a Cloud Secret
Disclosure in Action March 18, 2026 – CompleteTech LLC

Field Note 01 – Accidental Finding

I wasn't looking for a cloud secret.

I started with the machine, not AWS. I owned the hardware, disliked the software experience, and wanted to understand enough of the vending stack to reason about integration points, device behavior, and what I might replace.

The finding came from normal reverse-engineering work on software attached to equipment I owned. I was trying to understand how the Android vending-machine APK behaved and how it interacted with the rest of the system.

That is an important distinction for me. I was not hunting for someone else's cloud account. I was trying to map a machine I was operating. The credential surfaced while I was reading the application package and following what the code appeared to do.

The moment a long-term AWS IAM credential pair appeared in application constants, the task changed. This was no longer just operational research. It became evidence that needed to be handled carefully.

Starting pointA vending machine I owned, an Android APK, and a practical need to understand the system.
What changedStatic code review showed a credential-looking value embedded directly in the application.
First boundaryI treated the observation as sensitive immediately and avoided any live cloud interaction.

The first lesson is not technical. It is posture: when a normal engineering investigation exposes a secret, stop treating it like trivia and start treating it like disclosure material.

CompleteTech LLC – Innovation at Every Integration Public disclosure series – 2026