diff --git a/app/src/androidTest/java/org/mydomain/myscan/ExampleInstrumentedTest.kt b/app/src/androidTest/java/org/mydomain/myscan/ExampleInstrumentedTest.kt
index d77c7cf..cc9892e 100644
--- a/app/src/androidTest/java/org/mydomain/myscan/ExampleInstrumentedTest.kt
+++ b/app/src/androidTest/java/org/mydomain/myscan/ExampleInstrumentedTest.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import androidx.test.platform.app.InstrumentationRegistry
diff --git a/app/src/main/java/org/mydomain/myscan/DocumentDetection.kt b/app/src/main/java/org/mydomain/myscan/DocumentDetection.kt
index 5cfae29..73e1c0b 100644
--- a/app/src/main/java/org/mydomain/myscan/DocumentDetection.kt
+++ b/app/src/main/java/org/mydomain/myscan/DocumentDetection.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import android.graphics.Bitmap
diff --git a/app/src/main/java/org/mydomain/myscan/Geometry.kt b/app/src/main/java/org/mydomain/myscan/Geometry.kt
index 8ae2e3e..e23358a 100644
--- a/app/src/main/java/org/mydomain/myscan/Geometry.kt
+++ b/app/src/main/java/org/mydomain/myscan/Geometry.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import kotlin.math.atan2
diff --git a/app/src/main/java/org/mydomain/myscan/ImageRepository.kt b/app/src/main/java/org/mydomain/myscan/ImageRepository.kt
index c70abf6..da88dc7 100644
--- a/app/src/main/java/org/mydomain/myscan/ImageRepository.kt
+++ b/app/src/main/java/org/mydomain/myscan/ImageRepository.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import java.io.File
diff --git a/app/src/main/java/org/mydomain/myscan/ImageSegmentation.kt b/app/src/main/java/org/mydomain/myscan/ImageSegmentation.kt
index 86f89b6..a0942a6 100644
--- a/app/src/main/java/org/mydomain/myscan/ImageSegmentation.kt
+++ b/app/src/main/java/org/mydomain/myscan/ImageSegmentation.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import android.content.Context
diff --git a/app/src/main/java/org/mydomain/myscan/LiveAnalysisState.kt b/app/src/main/java/org/mydomain/myscan/LiveAnalysisState.kt
index 97ef7f3..b7037f9 100644
--- a/app/src/main/java/org/mydomain/myscan/LiveAnalysisState.kt
+++ b/app/src/main/java/org/mydomain/myscan/LiveAnalysisState.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import android.graphics.Bitmap
diff --git a/app/src/main/java/org/mydomain/myscan/MainActivity.kt b/app/src/main/java/org/mydomain/myscan/MainActivity.kt
index ffd3648..9111cd6 100644
--- a/app/src/main/java/org/mydomain/myscan/MainActivity.kt
+++ b/app/src/main/java/org/mydomain/myscan/MainActivity.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import android.content.Context
diff --git a/app/src/main/java/org/mydomain/myscan/MainViewModel.kt b/app/src/main/java/org/mydomain/myscan/MainViewModel.kt
index 5a9344b..768cacd 100644
--- a/app/src/main/java/org/mydomain/myscan/MainViewModel.kt
+++ b/app/src/main/java/org/mydomain/myscan/MainViewModel.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import android.content.Context
diff --git a/app/src/main/java/org/mydomain/myscan/Navigation.kt b/app/src/main/java/org/mydomain/myscan/Navigation.kt
index 4eb6cb9..6083405 100644
--- a/app/src/main/java/org/mydomain/myscan/Navigation.kt
+++ b/app/src/main/java/org/mydomain/myscan/Navigation.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
sealed class Screen {
diff --git a/app/src/main/java/org/mydomain/myscan/PdfGeneration.kt b/app/src/main/java/org/mydomain/myscan/PdfGeneration.kt
index 6eb6915..0b205cc 100644
--- a/app/src/main/java/org/mydomain/myscan/PdfGeneration.kt
+++ b/app/src/main/java/org/mydomain/myscan/PdfGeneration.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import android.graphics.Bitmap
diff --git a/app/src/main/java/org/mydomain/myscan/ui/theme/Color.kt b/app/src/main/java/org/mydomain/myscan/ui/theme/Color.kt
index 429eca0..ca1f2bf 100644
--- a/app/src/main/java/org/mydomain/myscan/ui/theme/Color.kt
+++ b/app/src/main/java/org/mydomain/myscan/ui/theme/Color.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan.ui.theme
import androidx.compose.ui.graphics.Color
diff --git a/app/src/main/java/org/mydomain/myscan/ui/theme/Theme.kt b/app/src/main/java/org/mydomain/myscan/ui/theme/Theme.kt
index 3baf8ee..48fc9ab 100644
--- a/app/src/main/java/org/mydomain/myscan/ui/theme/Theme.kt
+++ b/app/src/main/java/org/mydomain/myscan/ui/theme/Theme.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan.ui.theme
import android.app.Activity
diff --git a/app/src/main/java/org/mydomain/myscan/ui/theme/Type.kt b/app/src/main/java/org/mydomain/myscan/ui/theme/Type.kt
index 356a046..8a6e023 100644
--- a/app/src/main/java/org/mydomain/myscan/ui/theme/Type.kt
+++ b/app/src/main/java/org/mydomain/myscan/ui/theme/Type.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan.ui.theme
import androidx.compose.material3.Typography
diff --git a/app/src/main/java/org/mydomain/myscan/view/Camera.kt b/app/src/main/java/org/mydomain/myscan/view/Camera.kt
index d1dbd0a..6ae0be7 100644
--- a/app/src/main/java/org/mydomain/myscan/view/Camera.kt
+++ b/app/src/main/java/org/mydomain/myscan/view/Camera.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan.view
import android.content.pm.PackageManager.PERMISSION_GRANTED
diff --git a/app/src/main/java/org/mydomain/myscan/view/FinalizeDocument.kt b/app/src/main/java/org/mydomain/myscan/view/FinalizeDocument.kt
index ebd9fad..07361ae 100644
--- a/app/src/main/java/org/mydomain/myscan/view/FinalizeDocument.kt
+++ b/app/src/main/java/org/mydomain/myscan/view/FinalizeDocument.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan.view
import androidx.compose.foundation.Image
diff --git a/app/src/main/java/org/mydomain/myscan/view/PageValidation.kt b/app/src/main/java/org/mydomain/myscan/view/PageValidation.kt
index cc53810..1f35135 100644
--- a/app/src/main/java/org/mydomain/myscan/view/PageValidation.kt
+++ b/app/src/main/java/org/mydomain/myscan/view/PageValidation.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan.view
import android.graphics.Bitmap
diff --git a/app/src/test/java/org/mydomain/myscan/ExampleUnitTest.kt b/app/src/test/java/org/mydomain/myscan/ExampleUnitTest.kt
index a8662bd..870c643 100644
--- a/app/src/test/java/org/mydomain/myscan/ExampleUnitTest.kt
+++ b/app/src/test/java/org/mydomain/myscan/ExampleUnitTest.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import org.junit.Test
diff --git a/app/src/test/java/org/mydomain/myscan/ImageRepositoryTest.kt b/app/src/test/java/org/mydomain/myscan/ImageRepositoryTest.kt
index 6b3c62f..de3b64f 100644
--- a/app/src/test/java/org/mydomain/myscan/ImageRepositoryTest.kt
+++ b/app/src/test/java/org/mydomain/myscan/ImageRepositoryTest.kt
@@ -1,3 +1,17 @@
+/*
+ * Copyright 2025 Pierre-Yves Nicolas
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, either version 3 of the License, or (at your option)
+ * any later version.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see .
+ */
package org.mydomain.myscan
import org.assertj.core.api.Assertions