Back to Blog
OnboardingSecurityBest PracticesTutorial

Secure Credential Delivery for New Hires: The Safe Way to Onboard

Stop emailing passwords and API keys. Learn the secure, professional way to deliver credentials to new employees using one-time links and secret management.

Sending a welcome email with a list of passwords is the digital equivalent of leaving your house key under the doormat. It’s the "we'll fix it later" of security practices. It's convenient, everyone does it, and it's incredibly risky.

When a new engineer joins your team, they need access to the kingdom: AWS keys, database credentials, internal tool logins, and API tokens. The way you hand over these secrets sets the tone for your company's security culture from day one. If you email them a plaintext password, you are effectively telling them: "Security is optional here."

Let's walk through the secure credential delivery workflow that top engineering teams use. It adds about 30 seconds to your process but removes the permanent risk of leaving secrets in your "Sent" folder.

The Problem with "Just Email It"

You might think, "What's the harm? It's just an internal email." But email is a persistent record.

  1. It Never Deletes: That email sits in their inbox (and yours) forever. If their account is compromised three years from now, those initial bootstrap credentials are still there, often valid.
  2. No Audit Trail: You have no way of knowing if they accessed the credentials or if someone else did first.
  3. The "CC" Accident: We've all seen it happen. Someone hits "Reply All" or accidentally forwards the onboarding thread to HR or an external recruiter.
  4. Plaintext Exposure: Credentials are stored in plaintext on mail servers, backups, and local devices.

Slack and Microsoft Teams aren't much better. Chat logs are searchable by the entire organization and often retained indefinitely for legal compliance.

The Secure Workflow: One-Time Self-Destructing Links

A widely recommended approach for ad-hoc secret sharing is ephemeral, one-time access links. The concept is simple: you create a link that works exactly once. After the recipient clicks it, the data is deleted forever.

Here is the ideal workflow for onboarding a new hire:

Step 1: Aggregate the Secrets

Gather the initial credentials they need. This usually includes:

  • A temporary password for their email or SSO (Okta/Google Workspace)
  • Initial API keys for the dev environment
  • The .env file for your main repository
  • Database connection strings

Step 2: Encrypt and Generate a Link

Instead of pasting these directly into a message, use a tool like SnapPwd to encrypt them.

End-to-end encrypted
24-character password with uppercase, lowercase, numbers, symbols
0/~699,050 characters
699,050 remaining

Your secret will be permanently deleted after this time period

One-time access only
Auto-expires after time limit
End-to-end encrypted

Your Secure Link is Ready

This link will expire in 1 hour

End-to-end encrypted
One-time view
  1. Paste the credentials into the box above.
  2. Set the expiration to "1 Hour" or "1 View".
  3. Click "Get Secret Link".

The tool generates a unique URL (e.g., snappwd.io/v/xyz...). Crucially, the secret is encrypted in your browser, and the decryption key is part of the URL fragment (the part after the #). That key is never sent to the server, so even SnapPwd can't read your data.

Step 3: Deliver the Link

Send this link via Slack, Email, or WhatsApp.

Why is this safer? If an attacker compromises your email logs later, all they find is a link. When they click it, they see a message: "This secret has already been viewed and destroyed." The payload is gone.

Step 4: Verification (Optional but Recommended)

For high-value credentials (like root AWS keys), use "Out-of-Band" delivery. Send the link via Email, but send the passphrase to unlock it via Signal or SMS. This is effectively Multi-Factor Authentication (MFA) for delivery.

What to Include in the Onboarding Bundle

Don't just send random keys. Organize them. I recommend creating a structured "Day One Secret Bundle":

# -----------------------------
# 🚀 DAY ONE CREDENTIALS
# -----------------------------

# 1. SSO / Identity Provider
SSO_LOGIN: https://yourcompany.okta.com
TEMP_PASSWORD: [REDACTED]

# 2. VPN Config
Profile: Attached
Password: [REDACTED]

# 3. Development Environment (.env)
DB_PASSWORD=...
STRIPE_KEY=...
AWS_ACCESS_KEY=...

# 4. Initial SSH Key (if generated for them)
-----BEGIN OPENSSH PRIVATE KEY-----
...

Paste this entire block into a single SnapPwd note. It keeps everything together and ensures they have a single "source of truth" to set up their machine.

Automating the Process

For larger teams, you shouldn't be doing this manually.

  • Terraform/Ansible: Use infrastructure-as-code to generate IAM users and keys.
  • CLI Tools: Use the snappwd-cli to generate links directly from your terminal. This is great for scripts:
    cat .env.example | snappwd create --views 1
    
  • Identity Providers (IdP): Wherever possible, use SSO (Okta, Google Workspace) so you don't have to share passwords at all. Use SnapPwd only for the initial SSO bootstrapping password.

Summary

Security isn't just about firewalls and encryption algorithms; it's about processes. Secure credential delivery is a low-effort, high-impact way to improve your security posture.

The Golden Rule: Never send a secret in a way that allows it to be read twice.

Ready to onboard your next hire? Use the form above to generate a secure link right now.