Automatically replicate your S3 bucket to Simple Proof for immutable timestamping on the Bitcoin blockchain via OpenTimestamp.
Overview
This guide walks you through setting up S3 bucket replication to Simple Proof. Once configured, all objects uploaded to your source bucket will be automatically replicated and timestamped on Bitcoin's blockchain, providing cryptographic proof of existence.
Prerequisites
- Active AWS account with S3 access
- Existing S3 bucket (source bucket)
- Email access to communicate with Simple Proof support
Quick Setup Guide
Step 1: Request Simple Proof Configuration
Contact Simple Proof support to obtain the necessary credentials and configuration:
Email: [email protected]
Subject: S3 Bucket Replication Setup Request
Dear Simple Proof Team,
I would like to set up S3 bucket replication for blockchain timestamping.
Required Information:
- Organization/Company Name: [Your organization]
- Source S3 Bucket Name: [your-existing-bucket-name]
- Source Bucket Region: [e.g., us-east-1]
- Estimated Monthly Volume: [approximate file count/size]
- Use Case: [brief description]
Please provide:
- Destination bucket details
- IAM roles and policies
- Replication configuration instructions
Best regards,
[Your Name]
[Contact Email]
Response Time: Typically 24-48 business hours
Step 2: Create IAM Role for Replication
- Navigate to IAM → Roles → Create role
- Select AWS service → S3
- Attach policy:
AmazonS3ReplicationServiceRole
- Role name:
S3ReplicationRole
- Create the role
Step 3: Configure Trust Policy
Edit the role's trust policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Step 4: Add Custom Replication Policy
Create and attach a custom policy using the JSON provided by Simple Proof:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObjectVersionForReplication",
"s3:GetObjectVersionAcl"
],
"Resource": "arn:aws:s3:::your-source-bucket/*"
},
{
"Effect": "Allow",
"Action": [
"s3:ReplicateObject",
"s3:ReplicateDelete"
],
"Resource": "arn:aws:s3:::simpleproof-destination-bucket/*"
}
]
}
Note: Replace bucket ARNs with actual values provided by Simple Proof
Step 5: Configure S3 Replication Rule
- Open your source S3 bucket
- Go to Management → Replication → Create replication rule
- Configure the rule:
Rule Configuration:
- Rule name:
SimpleProofReplication
- Status: Enabled
- Priority: 1
Source Configuration:
- Apply to all objects (or configure filters as needed)
Destination:
- Destination type: As specified by Simple Proof
- Bucket name: Use exact name provided by Simple Proof
- Storage class: Standard-IA (cost optimized)
IAM Role:
- Select the
S3ReplicationRole
created earlier
Additional Settings:
- ✅ Replicate encrypted objects
- ✅ Replica modification sync (if available)
- ❌ Delete marker replication (recommended)
- Save the replication rule
Verification
Test Replication
- Upload a test file to your source bucket
- Verify the file appears in the Simple Proof destination bucket
- Confirm with Simple Proof that timestamping is working
Monitor Replication
- Check S3 Metrics → Replication metrics
- Verify status shows "Completed"
- Monitor CloudWatch for replication events
Simple Proof Timestamping Process
Once replication is active, Simple Proof automatically:
- Detects new replicated objects
- Generates SHA-256 hash of file content
- Submits hash to OpenTimestamp
- Records proof on Bitcoin blockchain
- Provides verification certificates
Timestamp Verification
For each timestamped file, you'll receive:
.ots
file: OpenTimestamp certificate- File hash: SHA-256 for verification
- Timestamp: Exact blockchain inclusion time
- Bitcoin transaction ID: Blockchain reference
Configuration Checklist
- Email sent to
[email protected]
- Received destination bucket details from Simple Proof
- Created
S3ReplicationRole
with proper policies - Configured replication rule in source bucket
- Tested replication with sample file
- Verified timestamping is working
Troubleshooting
Replication not working:
- Verify IAM role permissions
- Check destination bucket exists and is accessible
- Review replication rule configuration
Permission errors:
- Confirm trust policy is correctly configured
- Ensure Simple Proof provided correct bucket permissions
High costs:
- Review destination storage class settings
- Consider lifecycle policies for long-term storage
- Monitor cross-region transfer charges
Support
- Technical Issues:
[email protected]
- AWS Documentation: S3 Replication Guide
- OpenTimestamp: opentimestamps.org
For additional configuration options or enterprise features, contact Simple Proof support.