Security Practices

Document Version: 2.8 · Last Updated: November 6, 2026

ChenPo LLC (d/b/a CloudRepo) · security@cloudrepo.io

1. Executive Summary

CloudRepo is a cloud-native software artifact and package repository operated by ChenPo LLC (d/b/a CloudRepo), a US-based company headquartered in Fargo, North Dakota. Founded in 2016, CloudRepo has over 10 years of operational history serving development teams who need reliable, secure artifact management.

We are bootstrapped and independent: we took no venture capital, so we answer to our customers. We have no enterprise sales team and no reason to trade security for short-term growth. We build a high-quality product and sell it at fair, predictable prices.

No known security breaches in our history.

2. Infrastructure Security

CloudRepo's origin runs on Amazon Web Services in the US-West (N. California) region, behind a global content delivery network (CDN). One metadata table also replicates to two other US AWS regions. Artifacts stay in one region.

Compute and Networking

  • Cloud-native architecture with multi-AZ redundancy
  • All production infrastructure runs within AWS with managed services handling availability and redundancy

Storage

  • Artifact storage: Amazon S3 with 99.999999999% (11 nines) durability. Versioning is enabled on all artifact buckets.
  • Metadata and database: Amazon DynamoDB with automated backups and point-in-time recovery

Network Security

  • DDoS protection: AWS Shield Standard provides baseline protection against common network and transport layer DDoS attacks, automatically, on the AWS services we use
  • TLS: Every connection to CloudRepo uses TLS 1.2 or later

Data Residency

  • All customer artifacts and account data are stored in the United States (AWS)
  • Certain operational subprocessors process limited categories of data (including billing contacts, operational records, support conversations, email addresses, and error and session metadata) and may do so outside the United States; see our subprocessor list for the current set

3. Data Protection

Encryption at Rest

  • All S3 objects are encrypted using AES-256 server-side encryption
  • DynamoDB tables use encryption at rest
  • Row-level encryption is not implemented. Data is protected by encryption at rest combined with strict access controls at the application and infrastructure layers.

Encryption in Transit

  • Every connection to CloudRepo uses TLS 1.2 or later. Unencrypted HTTP connections are rejected or redirected.

Credential Storage

  • All user passwords are hashed using PBKDF2 with BLAKE2b-512, 50,000 iterations, and a 12-byte random salt per credential
  • Passwords, MFA secrets, the tokens and keys CloudRepo issues, and the upstream registry and SSO client secrets you configure are stored only as one-way hashes or encrypted with AWS KMS, never in plaintext

Data Classification

  • Customer artifacts and associated metadata are treated as confidential
  • System metrics and logs are treated as internal. Logs may contain user IDs for troubleshooting purposes.

4. Access Controls

Production Infrastructure

  • AWS Console access requires multi-factor authentication (MFA) for all users
  • Production access is limited to essential personnel only, following the principle of least privilege
  • No shared credentials exist for any production system; all access uses individual accounts with MFA

Source Code

  • All source code is hosted on GitHub with MFA required for all contributors
  • Code changes require review before merging to production branches

Access Reviews

  • Access to production systems and source code is reviewed regularly to ensure appropriateness

5. Authentication

User Authentication

  • Username and password authentication
  • Multi-factor authentication (MFA) is included on every plan. Members who sign in with a password can protect their account with a time-based one-time password (TOTP) from an authenticator app, and get ten single-use backup codes when they set it up.
  • Password policy: 8 to 256 characters

Password Security

  • Hashing algorithm: PBKDF2 with BLAKE2b-512
  • Iterations: 50,000
  • Salt: 12-byte random salt, unique per credential

Password Reset

  • Token-based reset using UUID tokens
  • Tokens expire after 2 hours and are single-use
  • Reset links are sent only to the account owner's registered email address, and we store only a salted hash of the secret in each link

SCIM 2.0 Provisioning

  • SCIM 2.0 provisioning from Okta and Microsoft Entra ID: included on every plan
  • The organization owner connects it in the portal, once single sign-on is on
  • Your identity provider adds and updates your members, and removing or deactivating someone there after SCIM is connected ends their CloudRepo access

Single Sign-On

  • SSO (SAML and OIDC): included

6. Application Security

Development Practices

  • Automated code analysis is integrated into the development workflow
  • Pre-commit validation and testing gates are enforced in the CI/CD pipeline
  • Code is tested before it reaches production
  • Code review is required for all changes to production code

Vulnerability Management

  • We recommend integrating automated vulnerability scanning tools such as Snyk or Trivy into your CI/CD pipelines
  • Independent security researchers have reported potential vulnerabilities, which we triaged and addressed.

7. Incident Response

Contact

  • Dedicated security contact: security@cloudrepo.io
  • We respond to security reports within one business day

Track Record

  • No known security breaches in our history.

Response Process

  1. Identification: Detect and confirm the security event
  2. Containment: Isolate affected systems to prevent further impact
  3. Eradication: Remove the root cause
  4. Recovery: Restore normal operations and verify integrity
  5. Post-incident review: Document lessons learned and implement improvements

Customer Notification

  • Customers are notified without undue delay, and within 72 hours after we become aware of a breach, as our Data Processing Agreement provides.

8. Business Continuity & Disaster Recovery

Data Durability

  • Artifact data is stored in Amazon S3 in a single AWS region (US-West-1) with 99.999999999% (11 nines) durability and object versioning for overwrite and deletion recovery within a 30-day window. Artifacts are not replicated to other regions.
  • DynamoDB automated backups with point-in-time recovery protect metadata and configuration

Architecture Resilience

  • Cloud-native architecture on AWS managed services with multi-AZ redundancy within our US-West region

Monitoring

  • System health is monitored via Grafana Cloud with automated alerting on anomalies and threshold breaches

BCP/DR Plan

  • We do not maintain a formal documented Business Continuity Plan or Disaster Recovery plan. Our cloud-native architecture on AWS managed services provides inherent resilience, and our operational procedures cover recovery scenarios.

9. Vendor Management & Subprocessors

All subprocessors are reviewed periodically for compliance and appropriateness.

Subprocessor Purpose Data Processed Compliance
Amazon Web Services (AWS) Infrastructure, storage, compute All customer data and artifacts SOC 2, ISO 27001, FedRAMP
Braintree/PayPal Payment processing Billing information PCI DSS Level 1, SOC 2
GitHub Source code management Source code and operational tooling. Repository history retains billing records (customer names, email addresses, payment amounts) committed until October 2026; current billing records are kept outside the repository. The repository is private and its history is not rewritten. Customer organization identifiers appear in committed tooling. SOC 2, ISO 27001
Postmark Transactional email Email addresses, notification content SOC 2
Grafana Cloud Monitoring and observability System metrics and logs, including member email addresses and client IP addresses, kept for security and debugging SOC 2
PostHog Product analytics and error tracking Account information and email addresses (including those entered on signup forms before signup finishes), device, network, usage and error data, and session-recording data with credentials masked, used to run, support, debug and improve the service; on the website, also the name and website address of the company behind some earlier visits SOC 2
Intercom Customer support Support conversations, email SOC 2
Supabase Billing and operational systems Billing contacts, operational records SOC 2
Baserow (Cloud) Billing and operational systems Billing contacts, operational records SOC 2
Hookdeck Technologies Inc. Managed webhook gateway Organization ID and owner email address at signup SOC 2
Stripe Invoice-based payment processing Customer name and email address, invoice amounts and descriptions; card data is entered on Stripe's hosted page (not collected or stored by CloudRepo) PCI DSS Level 1, SOC 2
Google Workspace Founder email and business operations Copies of emails sent to customers (signup notices with organization ID, email address, IP address, user agent and referring page; welcome emails; receipts and payment reminders), customer replies and correspondence, server error alerts (the failing request with credentials removed, including the client IP address, and the error message), prospect correspondence ISO 27001, ISO 27017, ISO 27018, SOC 2, SOC 3
Intuit (QuickBooks Online) Accounting and bookkeeping Customer organization identifiers and company names, payment amounts and dates, plan line items, payment processor transaction references See Intuit Security
Apollo.io Website visitor identification Pages visited on the website and documentation (full address and referring site), campaign tags, IP address, browser details and a browser ID SOC 2, ISO 27001
Calendly Booking calls with the founder The details a visitor types into the booking calendar on our /meet page, such as name and email address; IP address and browser details when the calendar loads See Calendly Security
Cloudflare (Turnstile) Bot check on the signup page IP address, browser details (user agent and TLS fingerprint) and the site the check runs on, when the signup page loads the check; our servers also send Cloudflare the check token and the IP address to verify it See Cloudflare Compliance Resources

The full subprocessor list is also published at cloudrepo.io/subprocessors.

10. Data Privacy

GDPR

  • Data deletion requests are processed within 30 calendar days of a verified request. Deletion is an operator-run procedure covering artifacts and repository content in S3. Account and identity records (organization, users, credentials, API tokens, SSO configuration) and repository metadata rows are retained, and prior copies remain recoverable from S3 object versioning and DynamoDB point-in-time recovery for their retention window. Cancelling a subscription does not by itself delete data
  • Customers can delete any repository and its contents themselves, at any time, through the portal or the API
  • We collect email addresses where we need them, including on signup forms before signup finishes, and use them, with account information and usage, error and session-recording data, to run, support, debug and improve the service
  • Download our Data Processing Agreement from the Trust Center. For a countersigned copy, email security@cloudrepo.io.

CCPA

  • California residents can exercise their CCPA access, deletion, and do-not-sell rights by contacting privacy@cloudrepo.io. We do not sell personal information. Deletion requests are handled by the same operator-run procedure described above, with the same scope and retention exclusions

General Commitments

  • We do not sell customer data to third parties
  • Customer data (artifacts and repository contents) is used solely to run, support, debug and improve the CloudRepo service

11. Compliance Roadmap

CloudRepo does not currently hold formal security certifications such as SOC 2 or ISO 27001. We believe in transparency about where we are and where we are headed.

Ongoing

  • Continued investment in security infrastructure and operational practices
  • Periodic review of all subprocessor compliance status
  • Regular evaluation of certification options

We evaluate certification options periodically. For now, certification costs are out of proportion to our size, so we focus on strong security practices and publishing them openly.

12. Document Revision History

Version Date Description
1.0 March 9, 2026 Initial release
1.1 September 18, 2026 PostHog replaces the two previous analytics subprocessors
1.2 October 7, 2026 Workflow automation subprocessor removed
1.3 October 14, 2026 Hookdeck added as a subprocessor. DPA 5.2: we announce subprocessor changes by updating the public list (replacing the 30-day email notice). DPA 5.3: the objection window starts when a subprocessor is added to that list.
1.4 October 14, 2026 Stripe, Google Workspace and Intuit (QuickBooks Online) added as subprocessors; the GitHub row now discloses the billing records in repository history
1.5 October 20, 2026 The PostHog row and section 10 state what we collect and how we use it
1.6 October 21, 2026 Apollo.io added as a subprocessor (website visitor identification)
1.7 October 21, 2026 LiveIntent added as a subprocessor (loaded by Apollo.io's tracker)
1.8 October 21, 2026 Snitcher added as a subprocessor (website visitor identification, through our servers); DPA Annex B lists LiveIntent as receiving data for its own purposes
1.9 October 26, 2026 Credential storage names multi-factor authentication secrets (Oct 22); the data-use section and the PostHog row were reworded (Oct 22); single sign-on (SAML and OIDC) listed as included, and SCIM provisioning listed on its own line (Oct 25); the executive summary's funding sentence now says we took no venture capital (Oct 26)
2.0 October 27, 2026 PostHog stores the name and website address of the visiting company Snitcher identifies on the website (the PostHog and Snitcher rows)
2.1 October 27, 2026 The breach statement is one sentence, in section 1 and Track Record
2.2 October 27, 2026 Track Record states the breach statement only
2.3 October 31, 2026 The breach statement (section 1 and Track Record) is reworded
2.4 October 31, 2026 Plainer wording in sections 1, 6, 10 and 11, and in the 1.3 row above
2.5 November 1, 2026 LiveIntent removed as a subprocessor: our website and documentation no longer load it
2.6 November 1, 2026 Section 2 says where the service runs and that one metadata table is replicated, and its data residency bullet says the United States and AWS; section 5 adds MFA on every plan; sections 6, 7, 9 and 11 reword the vulnerability reports, the breach notice and the subprocessor review; Calendly and Cloudflare (Turnstile) added to the list
2.7 November 6, 2026 Section 5 says SCIM provisioning from Okta and Microsoft Entra ID is included on every plan, and what it does
2.8 November 6, 2026 Snitcher removed from the subprocessor list; the PostHog row no longer names it

A downloadable version of this document is available at security-practices.md.