diff --git a/storage/database.go b/storage/database.go
index a12029996ff8b9cb04387bd24d39aa1957d0c0ed..d74a66df8830f82f8673fca1b6476c51497ccfc7 100644
--- a/storage/database.go
+++ b/storage/database.go
@@ -17,7 +17,7 @@ type database interface {
 	GetAllUsers() ([]*User, error)
 	DeleteUserByHash(transmissionRsaHash []byte) error
 
-	upsertEphemeral(ephemeral *Ephemeral) error
+	insertEphemeral(ephemeral *Ephemeral) error
 	GetEphemeral(ephemeralId int64) ([]*Ephemeral, error)
 	GetLatestEphemeral() (*Ephemeral, error)
 	DeleteOldEphemerals(currentEpoch int32) error
@@ -53,7 +53,7 @@ type User struct {
 type Ephemeral struct {
 	ID                  uint   `gorm:"primaryKey"`
 	Offset              int64  `gorm:"not null; index"`
-	TransmissionRSAHash []byte `gorm:"not null; unique; references users(transmission_rsa_hash)"`
+	TransmissionRSAHash []byte `gorm:"not null; references users(transmission_rsa_hash)"`
 	EphemeralId         int64  `gorm:"not null; index"`
 	Epoch               int32  `gorm:"not null; index"`
 }
diff --git a/storage/databaseImpl.go b/storage/databaseImpl.go
index 1cd80cbdfd2b4ca5673ef21d1d763bc1b8d3cbcd..7766a20d34f8565953873e9aa908af8cfd6cea24 100644
--- a/storage/databaseImpl.go
+++ b/storage/databaseImpl.go
@@ -11,7 +11,6 @@ package storage
 import (
 	"github.com/pkg/errors"
 	"gorm.io/gorm"
-	"gorm.io/gorm/clause"
 )
 
 // Obtain User from backend by primary key
@@ -68,10 +67,8 @@ func (impl *DatabaseImpl) GetAllUsers() ([]*User, error) {
 	return dest, impl.db.Find(&dest).Error
 }
 
-func (impl *DatabaseImpl) upsertEphemeral(ephemeral *Ephemeral) error {
-	return impl.db.Clauses(clause.OnConflict{
-		UpdateAll: true,
-	}).Create(&ephemeral).Error
+func (impl *DatabaseImpl) insertEphemeral(ephemeral *Ephemeral) error {
+	return impl.db.Create(&ephemeral).Error
 }
 
 func (impl *DatabaseImpl) GetEphemeral(ephemeralId int64) ([]*Ephemeral, error) {
diff --git a/storage/mapImpl.go b/storage/mapImpl.go
index 6cbb2ad403a7afe6d5193e0e30ccc8d431e54b90..17b6ec69eb222a1a2ebba25a1e7c55f092358c4e 100644
--- a/storage/mapImpl.go
+++ b/storage/mapImpl.go
@@ -95,7 +95,7 @@ func (m *MapImpl) GetAllUsers() ([]*User, error) {
 	return m.allUsers, nil
 }
 
-func (m *MapImpl) upsertEphemeral(ephemeral *Ephemeral) error {
+func (m *MapImpl) insertEphemeral(ephemeral *Ephemeral) error {
 	m.ephIDSeq++
 	ephemeral.ID = uint(m.ephIDSeq)
 	m.ephemeralsById[ephemeral.EphemeralId] = append(m.ephemeralsById[ephemeral.EphemeralId], ephemeral)
diff --git a/storage/mapImpl_test.go b/storage/mapImpl_test.go
index 5f23a71319c854827a52666bd957350584d7bef4..1343ac9771664c475511f793ee03c333e8fc8a48 100644
--- a/storage/mapImpl_test.go
+++ b/storage/mapImpl_test.go
@@ -311,7 +311,7 @@ func TestMapImpl_UpsertEphemeral(t *testing.T) {
 		t.Errorf("Failed to create ephemeral ID: %+v", err)
 	}
 
-	err = m.upsertEphemeral(&Ephemeral{
+	err = m.insertEphemeral(&Ephemeral{
 		Offset:              0,
 		TransmissionRSAHash: trsaHash,
 		EphemeralId:         eid.Int64(),
@@ -361,7 +361,7 @@ func TestMapImpl_GetEphemeral(t *testing.T) {
 		t.Errorf("FAiled to create ephemeral ID: %+v", err)
 	}
 
-	err = m.upsertEphemeral(&Ephemeral{
+	err = m.insertEphemeral(&Ephemeral{
 		Offset:              0,
 		TransmissionRSAHash: trsaHash,
 		EphemeralId:         eid.Int64(),
@@ -408,7 +408,7 @@ func TestMapImpl_DeleteOldEphemerals(t *testing.T) {
 		t.Errorf("FAiled to create ephemeral ID: %+v", err)
 	}
 
-	err = m.upsertEphemeral(&Ephemeral{
+	err = m.insertEphemeral(&Ephemeral{
 		Offset:              0,
 		TransmissionRSAHash: trsaHash,
 		EphemeralId:         eid.Int64(),
@@ -462,7 +462,7 @@ func TestMapImpl_GetLatestEphemeral(t *testing.T) {
 		t.Errorf("FAiled to create ephemeral ID: %+v", err)
 	}
 
-	err = m.upsertEphemeral(&Ephemeral{
+	err = m.insertEphemeral(&Ephemeral{
 		Offset:              0,
 		TransmissionRSAHash: trsaHash,
 		EphemeralId:         eid.Int64(),
diff --git a/storage/storage.go b/storage/storage.go
index 6e07504b6ec5ba8981a728683af052a40107e16b..aa563149a32c16ef845343f682682c924f6e40f9 100644
--- a/storage/storage.go
+++ b/storage/storage.go
@@ -55,7 +55,7 @@ func (s *Storage) AddLatestEphemeral(u *User, epoch int32, size uint) (*Ephemera
 		Epoch:               epoch,
 		Offset:              u.OffsetNum,
 	}
-	err = s.upsertEphemeral(e)
+	err = s.insertEphemeral(e)
 	if err != nil {
 		return nil, err
 	}
@@ -71,7 +71,7 @@ func (s *Storage) AddLatestEphemeral(u *User, epoch int32, size uint) (*Ephemera
 			Epoch:               epoch + 1,
 			Offset:              u.OffsetNum,
 		}
-		err = s.upsertEphemeral(e)
+		err = s.insertEphemeral(e)
 		if err != nil {
 			return nil, err
 		}
@@ -105,7 +105,7 @@ func (s *Storage) AddEphemeralsForOffset(offset int64, epoch int32, size uint, t
 		if err != nil {
 			return errors.WithMessage(err, "Failed to get eid for user")
 		}
-		err = s.upsertEphemeral(&Ephemeral{
+		err = s.insertEphemeral(&Ephemeral{
 			TransmissionRSAHash: u.TransmissionRSAHash,
 			EphemeralId:         eid.Int64(),
 			Epoch:               epoch,