Security hygiene starts with a modest question: what could go wrong with this product’s data and accounts, and what evidence shows the team has reduced that risk? A copied checklist cannot answer either part.

Describe one product before choosing controls

Illustrative threat model, not a description of Pink Banana Tools or a customer system. Consider a small B2B product that stores document type, expiry date, assigned owner, reminder settings, user accounts, and an audit history. It sends reminders but does not need the original documents.

For this example, data minimisation is an early control: do not accept uploaded documents when the job can be completed with a date and a few labels. That does not remove security responsibility. It narrows the assets that need protection and makes access, deletion, backup, and incident questions easier to answer.

AssetWhy it mattersWhere it moves or restsOwner to name
User accounts and sessionsThey control access to customer workspaces.Identity provider, browser sessions, support recovery flowApplication owner
Expiry recordsThey may reveal operational details about a customer.Application, database, export, backupData owner
Service credentialsThey can grant access to infrastructure or third-party services.Deployment platform, secret store, runtimeTechnical owner
Audit eventsThey support investigation and customer questions.Application log and monitoring serviceOperations owner
BackupsThey support recovery but also contain customer data.Backup provider and restore environmentRecovery owner

Map controls to credible threats

A tiny team does not need to predict every attacker. It does need to examine ordinary paths to harm: stolen credentials, excessive access, exposed secrets, destructive mistakes, missing evidence, and support impersonation.

Threat scenarioLikely consequenceHygiene controlEvidence to retain
A founder’s email or hosting account is phishedAccount takeover and access to product systemsNamed accounts, multifactor authentication where available, recovery details kept currentAccount inventory and dated access review
An old contractor retains production accessUnnecessary access to customer data or deployment controlsRole-based access, offboarding step, periodic reviewAccess list showing owner, role, reason, and review date
An API key appears in a repository or support screenshotThird-party service or data accessSecret storage outside source, scoped credentials, rotation after exposureSecret inventory, scan result, and rotation record without the secret value
A bad deploy deletes or overwrites recordsData loss or service interruptionBackups, restore procedure, reversible migration planRestore test record from a non-production environment
Logs contain private record textData exposed to more people and vendors than intendedStructured event logs with identifiers; restrict and retain only what is neededSample redacted log and log-access review
Someone asks support to change an account ownerUnauthorised account recovery or workspace takeoverDocumented verification and escalation pathRecovery runbook and ticket audit trail

Controls should be specific to the threat. MFA helps with account compromise; it does not repair an overly broad service credential. A backup can support recovery; it does not prove that recovery will work until the restore path is tested.

Prefer evidence over reassurance

A small team can maintain a compact evidence folder without publishing sensitive internals. Keep records that answer who, what, when, and whether the control was exercised.

Hygiene evidence checklist

Access reviewCritical service, named account, role, reason for access, MFA state, reviewer, review date, removal action.
Secret reviewCredential purpose, owning service, scope, storage location, rotation trigger, last rotation. Never copy the secret value into the record.
Restore testBackup selected, isolated destination, steps attempted, records checked, failures found, owner, and follow-up action.
Data inventoryField or file, purpose, workspace boundary, retention decision, export path, deletion path, backup presence.
Incident contactInternal owner, customer contact route, provider escalation routes, and a copy available if the main systems are unavailable.

A first security-hygiene pass

This pass is not an audit and may take longer than one work session. Stop and obtain specialist help when the architecture, data sensitivity, contract, or incident history exceeds the team’s competence.

  1. Draw the path for customer data from input through storage, logs, exports, deletion, and backups.
  2. List accounts with production, domain, repository, email, payment, and backup access. Remove access that no longer has an owner and reason.
  3. Review MFA options on critical services. Prefer stronger, phishing-resistant methods where the provider supports them and the team can operate recovery safely.
  4. Search source, deployment settings, documentation, and support material for exposed credentials. Rotate anything exposed rather than merely deleting the visible copy.
  5. Select a backup and restore it to an isolated non-production destination. Record what could and could not be recovered.
  6. Review logs for unnecessary customer content and confirm who can access them.
  7. Walk through account recovery and a security report arriving through support. Name who decides and who is contacted.

What the sources support, and what they do not

These sources support the direction of the hygiene practices. They do not verify your product’s settings, code, vendors, backups, access boundaries, or legal duties. That evidence has to come from the actual system and its operators.

Do not turn a hygiene pass into a security claim

Avoid “secure,” “fully encrypted,” “industry standard,” “compliant,” or certification language unless the exact claim has authorised evidence and review. Even a narrower statement must be verified. “MFA is enabled for production administrators” requires an account review. “Backups are tested” requires a restore record.

A customer-facing answer can be modest: name the data collected, the product function that needs it, the roles with production access, and the current deletion and security contact routes. Draft each sentence from the product’s evidence record rather than a reusable promise.

If a fact cannot be verified, leave it out of the customer answer and create an operations task. Do not fill the gap with broad reassurance.

Questions for the next review

  • What customer data could the product stop collecting?
  • Which critical account lacks a named owner, appropriate MFA, or a safe recovery route?
  • Which person or service can read more than its job requires?
  • Which exposed credential has been deleted but not rotated?
  • Which backup has actually been restored and checked?
  • Would logs help investigate an access change without exposing customer content?
  • Can a customer report a concern without guessing where to write?

The claim the evidence can support

The honest security answer is often a small record: who has access, what was restored, which key was rotated, and what the product chose not to collect. That is more useful than a borrowed badge.

Leave the review with evidence, not a badge

Map one product’s assets and credible threats, choose controls for those threats, and retain records showing what was actually reviewed or exercised. Keep certification and compliance language out unless authorised evidence supports the exact claim.

Map the product’s actual data flow →